import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router' import SearchView from '../views/SearchView.vue' import LibraryView from '../views/LibraryView.vue' import PeopleView from '../views/PeopleView.vue' import PersonDetailView from '../views/PersonDetailView.vue' import AdminView from '../views/AdminView.vue' import ClientView from '../views/ClientView.vue' import LoginView from '../views/LoginView.vue' const routes: RouteRecordRaw[] = [ { path: '/', redirect: '/search' }, { path: '/login', name: 'Login', component: LoginView }, { path: '/search', name: 'Search', component: SearchView }, { path: '/library', name: 'Library', component: LibraryView }, { path: '/face', name: 'Face', component: PeopleView }, { path: '/face/:uuid', name: 'FaceDetail', component: PersonDetailView }, { path: '/admin', name: 'Admin', component: AdminView }, { path: '/client', name: 'Client', component: ClientView } ] const router = createRouter({ history: createWebHistory(), routes }) router.beforeEach((to, _from, next) => { const token = localStorage.getItem('token') const isLoggedIn = !!token if (to.path === '/login') { if (isLoggedIn) { next('/search') } else { next() } } else { if (isLoggedIn) { next() } else { next('/login') } } }) export default router