Files
ai-teacher/frontend/src/router/index.ts
T
2026-04-06 14:29:53 +02:00

48 lines
1.0 KiB
TypeScript

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