-
Notifications
You must be signed in to change notification settings - Fork 48
/
Copy pathindex.js
79 lines (76 loc) · 1.82 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import { createRouter, createWebHistory } from "vue-router";
import EventList from "@/views/EventList.vue";
import EventLayout from "@/views/event/Layout.vue";
import EventDetails from "@/views/event/Details.vue";
import EventRegister from "@/views/event/Register.vue";
import EventEdit from "@/views/event/Edit.vue";
import EventLayout from "@/views/event/Layout.vue";
import EventDetails from "@/views/event/Details.vue";
import EventRegister from "@/views/event/Register.vue";
import EventEdit from "@/views/event/Edit.vue";
import About from "@/views/About.vue";
import NotFound from "@/views/NotFound.vue";
import NetworkError from "@/views/NetworkError.vue";
const routes = [
{
path: "/",
name: "EventList",
component: EventList,
props: (route) => ({ page: parseInt(route.query.page) || 1 }),
},
{
path: "/events/:id",
name: "EventLayout",
props: true,
component: EventLayout,
children: [
{
path: "",
name: "EventDetails",
component: EventDetails,
},
{
path: "register",
name: "EventRegister",
component: EventRegister,
},
{
path: "edit",
name: "EventEdit",
component: EventEdit,
},
],
},
{
path: "/event/:afterEvent(.*)",
redirect: (to) => {
return { path: "/events/" + to.params.afterEvent };
},
},
{
path: "/about",
name: "About",
component: About,
},
{
path: "/:catchAll(.*)",
name: "NotFound",
component: NotFound,
},
{
path: "/404/:resource",
name: "404Resource",
component: NotFound,
props: true,
},
{
path: "/network-error",
name: "NetworkError",
component: NetworkError,
},
];
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes,
});
export default router;