import { createRouter, createWebHistory } from 'vue-router' import LoginForm from '@/components/LoginForm' import Quotes from '@/components/quotes' import Pages from '@/components/pages' import PagesEdit from '@/components/pages/edit' import ProjectsList from '@/components/projects' import ProjectsDetails from '@/components/projects/ProjectDetails' import ProfileView from '@/components/users/ProfileView' import NotFound from '@/components/NotFound' const routes = [ { path: '/', name: 'Home', component: Quotes }, { path: '/form_login', name: 'LoginForm', component: LoginForm }, { path: '/projects', name: 'Projects', component: ProjectsList }, { path: '/projects/:id', name: 'ProjectDetails', component: ProjectsDetails }, { path: '/pages/:slug', name: 'Pages', component: Pages, props: true }, { path: '/pages/edit/:slug', component: PagesEdit, meta: { requiredAuth: true } }, { path: '/profile/:username?', name: 'Profile', component: ProfileView }, { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound } ] const router = createRouter({ history: createWebHistory(), routes }) /* eslint-disable */ router.beforeEach((to) => { if (to.meta.requiredAuth && !window.user) { return { name: 'LoginForm' } } }) export default router