58 lines
1.5 KiB
TypeScript
58 lines
1.5 KiB
TypeScript
import type { RouteRecordRaw } from 'vue-router';
|
|
|
|
const routes: RouteRecordRaw[] = [
|
|
{
|
|
path: '/',
|
|
component: () => import('layouts/MainLayout.vue'),
|
|
children: [
|
|
{
|
|
path: '',
|
|
component: () => import('pages/LoginPage.vue'),
|
|
},
|
|
{
|
|
path: 'login',
|
|
component: () => import('pages/LoginPage.vue'),
|
|
},
|
|
{
|
|
path: 'members',
|
|
component: () => import('pages/MembersTable.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
{
|
|
path: 'events',
|
|
component: () => import('pages/EventsTable.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
{
|
|
path: 'responsible',
|
|
component: () => import('pages/ResponsibleTable.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
{
|
|
path: 'group',
|
|
component: () => import('pages/GroupTable.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
{
|
|
path: 'settings',
|
|
component: () => import('pages/SettingsPage.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
{
|
|
path: 'userSettings',
|
|
component: () => import('pages/UserSettings.vue'),
|
|
meta: { requiresAuth: true, requiresAdmin: true },
|
|
},
|
|
],
|
|
},
|
|
|
|
// Always leave this as last one,
|
|
// but you can also remove it
|
|
{
|
|
path: '/:catchAll(.*)*',
|
|
component: () => import('pages/ErrorNotFound.vue'),
|
|
},
|
|
];
|
|
|
|
export default routes;
|