diff options
author | HampusM <hampus@hampusmat.com> | 2021-07-06 13:07:07 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2021-07-06 13:07:07 +0200 |
commit | 39c38c737114dc7f946b1895b2a4ba27a5546c60 (patch) | |
tree | 61344a90155845d08c4811da16e6f90504da2625 /packages/client/src/router/index.ts | |
parent | 4102adab527ccc4f6d8ac210118dea21177c212d (diff) |
Migrated frontend to typescript
Diffstat (limited to 'packages/client/src/router/index.ts')
-rw-r--r-- | packages/client/src/router/index.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/packages/client/src/router/index.ts b/packages/client/src/router/index.ts new file mode 100644 index 0000000..27ea978 --- /dev/null +++ b/packages/client/src/router/index.ts @@ -0,0 +1,54 @@ +import { createRouter, createWebHashHistory, RouteRecordRaw } from "vue-router"; + +const routes: RouteRecordRaw[] = [ + { + path: "/", + name: "Home", + component: () => import("../views/Home.vue") + }, + { + path: "/:repo([a-zA-Z0-9\\.\\-_]+)", + name: "Repository", + component: () => import("../views/Repository.vue"), + props: route => ({ repository: route.params.repo }), + children: [ + { + path: "about", + name: "About", + component: () => import("../views/RepositoryAbout.vue") + }, + { + path: "log", + name: "Log", + component: () => import("../views/RepositoryLog.vue") + }, + { + path: "log/:commit([a-fA-F0-9]{40}$)", + name: "Commit", + component: () => import("../views/RepositoryCommit.vue"), + props: route => ({ commit: route.params.commit }) + }, + { + path: "tree/:path*", + name: "Tree", + component: () => import("../views/RepositoryTree.vue"), + props: route => ({ pathArr: route.params.path ? route.params.path : [] }) + } + /* { + path: "", + component: () => import("../views/RepositoryRedirect") + } */ + ] + }, + { + path: "/:PageNotFound(.*)*", + component: () => import("../views/PageNotFound.vue") + } +]; + +const router = createRouter({ + history: createWebHashHistory(), + routes +}); + +export default router; |