2024-08-23 12:42:32 +00:00
|
|
|
import { createRouter, createWebHistory, createWebHashHistory } from "vue-router";
|
|
|
|
import Login from "../views/Login.vue";
|
|
|
|
|
|
|
|
import { isAuthenticated } from "./authGuards";
|
|
|
|
import { loadAccountData } from "./accountGuard";
|
2024-08-25 11:37:23 +00:00
|
|
|
import { isSetup } from "./setupGuard";
|
2024-08-22 09:48:04 +00:00
|
|
|
|
|
|
|
const router = createRouter({
|
|
|
|
history: createWebHistory(import.meta.env.BASE_URL),
|
|
|
|
routes: [
|
|
|
|
{
|
|
|
|
path: "/",
|
2024-08-23 12:42:32 +00:00
|
|
|
redirect: { name: "admin" },
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/login",
|
|
|
|
name: "login",
|
|
|
|
component: Login,
|
|
|
|
},
|
2024-08-25 11:37:23 +00:00
|
|
|
{
|
|
|
|
path: "/setup",
|
|
|
|
name: "setup",
|
|
|
|
component: () => import("../views/RouterView.vue"),
|
|
|
|
beforeEnter: [isSetup],
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "",
|
|
|
|
name: "setup-create",
|
|
|
|
component: () => import("../views/setup/Setup.vue"),
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "verify",
|
|
|
|
name: "setup-verify",
|
|
|
|
component: () => import("../views/setup/Verify.vue"),
|
|
|
|
props: (route) => ({ mail: route.query.mail, token: route.query.token }),
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-08-23 12:42:32 +00:00
|
|
|
{
|
|
|
|
path: "/admin",
|
|
|
|
name: "admin",
|
|
|
|
component: () => import("../views/admin/View.vue"),
|
|
|
|
beforeEnter: [isAuthenticated],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/:pathMatch(.*)*",
|
|
|
|
name: "404",
|
|
|
|
component: () => import("../views/notFound.vue"),
|
2024-08-22 09:48:04 +00:00
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
|
|
|
|
|
|
|
export default router;
|