import { createRouter, createWebHistory } from 'vue-router' import { useAuthStore } from '@/stores/authStore' import LoginView from '@/views/LoginView.vue' import UploadView from '@/views/UploadView.vue' import TopicsView from '@/views/TopicsView.vue' import ChatView from '@/views/ChatView.vue' import BookReaderView from '@/views/BookReaderView.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/login', name: 'login', component: LoginView }, { path: '/', name: 'upload', component: UploadView }, { path: '/topics', name: 'topics', component: TopicsView }, { path: '/chat', name: 'chat', component: ChatView }, { path: '/books/:id/read', name: 'book-reader', component: BookReaderView } ] }) router.beforeEach((to) => { const auth = useAuthStore() if (to.name !== 'login' && !auth.isAuthenticated) { return { name: 'login' } } }) export default router