This commit is contained in:
2025-12-12 13:30:09 +03:00
commit 2f1e1f35e3
75 changed files with 4603 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
import { createRouter, createWebHistory } from 'vue-router'
import { useAuthStore } from '../stores/auth'
const routes = [
{
path: '/',
name: 'Home',
component: () => import('../views/HomeView.vue'),
},
{
path: '/login',
name: 'Login',
component: () => import('../views/LoginView.vue'),
meta: { guest: true },
},
{
path: '/register',
name: 'Register',
component: () => import('../views/RegisterView.vue'),
meta: { guest: true },
},
{
path: '/room/:id',
name: 'Room',
component: () => import('../views/RoomView.vue'),
meta: { requiresAuth: true },
},
{
path: '/tracks',
name: 'Tracks',
component: () => import('../views/TracksView.vue'),
meta: { requiresAuth: true },
},
]
const router = createRouter({
history: createWebHistory(),
routes,
})
router.beforeEach((to, from, next) => {
const authStore = useAuthStore()
if (to.meta.requiresAuth && !authStore.isAuthenticated) {
next({ name: 'Login' })
} else if (to.meta.guest && authStore.isAuthenticated) {
next({ name: 'Home' })
} else {
next()
}
})
export default router