import HomePage from '@/pages/home/HomePage.vue' import LoginPage from '@/pages/login/LoginPage.vue' import LaravelPage from '@/pages/testing/LaravelPage.vue' import WebsocketsPage from '@/pages/testing/WebsocketsPage.vue' import UserPage from '@/pages/user/UserPage.vue' import { createRouter, createWebHistory } from 'vue-router' import { toast } from 'vue-sonner' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomePage, }, { path: '/login', name: 'login', component: LoginPage, }, { path: '/user', component: UserPage, }, { path: '/testing', children: [ { path: 'laravel', component: LaravelPage, }, { path: 'websockets', component: WebsocketsPage, }, { path: 'animations', component: TestAnimations, }, { path: 'dealing', component: TestDealing, }, { path: 'all-animations', component: TestAllAnimations, }, { path: 'gameboard', component: TestGameBoard, }, ], }, ], }) router.beforeEach((to, from, next) => { const requiresAuth = to.matched.some((record) => record.meta.requiresAuth) if (requiresAuth) { const token = localStorage.getItem('token') if (!token) { return next({ name: 'login' }) } } next() }) export default router