You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
891 B
42 lines
891 B
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<RouteRecordRaw> = [
|
|
{
|
|
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;
|