09369d83c1
Signed-off-by: garionion <github@entr0py.de>
46 lines
917 B
TypeScript
46 lines
917 B
TypeScript
import { createWebHistory, createRouter } from "vue-router";
|
|
import Home from "../views/Home.vue";
|
|
const Settings = () => import("../views/Settings.vue");
|
|
const Login = () => import("../views/Login.vue");
|
|
const Sites = () => import("../views/Sites.vue");
|
|
import { isLoggedIn } from "../api";
|
|
|
|
const routes = [
|
|
{
|
|
path: "/",
|
|
name: "Home",
|
|
component: Home,
|
|
},
|
|
{
|
|
path: "/settings",
|
|
name: "Settings",
|
|
component: Settings,
|
|
},
|
|
{
|
|
path: "/sites",
|
|
name: "Sites",
|
|
component: Sites,
|
|
},
|
|
{
|
|
path: "/login",
|
|
name: "Login",
|
|
component: Login,
|
|
props: (route) => ({ logout: route.query.logout }),
|
|
},
|
|
];
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(),
|
|
routes,
|
|
});
|
|
|
|
router.beforeEach(async (to) => {
|
|
if (to.name !== "Login") {
|
|
const canAccess = await isLoggedIn();
|
|
if (!canAccess) return "/login";
|
|
}
|
|
return true;
|
|
});
|
|
|
|
export default router;
|