import { createRouter, createWebHistory } from "vue-router"; const routes = [ { path: "/login", name: "Login", component: () => import("@/views/login/index.vue"), }, { path: "/browser", name: "Browser", component: () => import("@/views/browser/BrowserLayout.vue"), meta: { requiresAuth: true }, }, { path: "/home", name: "Home", component: () => import("@/views/home/index.vue"), meta: { requiresAuth: true }, }, { path: "/rate", name: "Rate", component: () => import("@/views/rate/index.vue"), meta: { requiresAuth: true }, }, { path: "/about", name: "About", component: () => import("@/views/about/index.vue"), }, ]; const router = createRouter({ history: createWebHistory(), routes, }); router.beforeEach((to: any, from: any, next: any) => { const token = localStorage.getItem("token"); if (to.meta && (to.meta as any).requiresAuth && !token) { next({ path: "/login" }); return; } if (token && to.path !== "/rate") { next({ path: "/rate" }); return; } next(); }); export default router;