Files
sshecret/packages/sshecret-frontend/src/router/index.ts

40 lines
924 B
TypeScript

import { createRouter, createWebHistory } from 'vue-router'
import LoginPage from '@/views/LoginPage.vue'
import WorkspaceView from '@/views/WorkspaceView.vue'
import AuditView from '@/views/audit/AuditView.vue'
import { useAuthTokenStore } from '@/store/auth'
const routes = [
{ path: '/login', name: 'login', component: LoginPage },
{
path: '/',
name: 'clientList',
component: WorkspaceView,
meta: { requiresAuth: true },
},
{
path: '/audit', name: 'audit', component: AuditView, meta: { requiresAuth: true },
}
]
const router = createRouter({
history: createWebHistory(),
routes,
})
router.beforeEach((to, _, next) => {
const auth = useAuthTokenStore()
if (!auth.isLoggedIn && to.meta.requiresAuth) {
next({ name: 'login' })
} else {
next()
}
})
// const router = createRouter({
// history: createWebHistory(import.meta.env.BASE_URL),
// })
export default router