import { createRouter, createWebHistory } from 'vue-router' import { setupGuards, authGuard, filmmakerGuard } from './guards' import Browse from '../views/Browse.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'browse', component: Browse, meta: { requiresAuth: false } }, { path: '/library', name: 'library', component: Browse, meta: { requiresAuth: false } }, { path: '/profile', name: 'profile', component: () => import('../views/Profile.vue'), beforeEnter: authGuard, meta: { requiresAuth: true } }, // ── Creator / Filmmaker Routes ──────────────────────────────────────────── { path: '/backstage', name: 'backstage', component: () => import('../views/backstage/Backstage.vue'), beforeEnter: filmmakerGuard, meta: { requiresAuth: true, requiresFilmmaker: true } }, { path: '/backstage/project/:id', name: 'project-editor', component: () => import('../views/backstage/ProjectEditor.vue'), beforeEnter: filmmakerGuard, meta: { requiresAuth: true, requiresFilmmaker: true } }, { path: '/backstage/analytics', name: 'analytics', component: () => import('../views/backstage/Analytics.vue'), beforeEnter: filmmakerGuard, meta: { requiresAuth: true, requiresFilmmaker: true } }, { path: '/backstage/settings', name: 'filmmaker-settings', component: () => import('../views/backstage/Settings.vue'), beforeEnter: filmmakerGuard, meta: { requiresAuth: true, requiresFilmmaker: true } }, ] }) // Setup authentication guards setupGuards(router) export default router