import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'; import Home from '../views/Home.vue'; import auth from '@/middleware/auth'; import log from '@/middleware/log'; import { runMiddleware } from '@/lib/runMiddleware'; const routes: Array = [ { path: '/', name: 'Home', component: Home, }, { path: '/files', name: 'Files', component: () => import('../views/Files.vue'), meta: { middleware: [auth], }, }, { path: '/login', name: 'Login', component: () => import('../views/Login.vue'), meta: { middleware: [log], }, }, ]; const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes, }); router.beforeEach(async (to, from, next) => { if (to.meta.middleware) runMiddleware({ from, to, next, router }); else next(); }); export default router;