forked from verdnatura/salix-front
52 lines
1.4 KiB
TypeScript
52 lines
1.4 KiB
TypeScript
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';
|
|
import { useSession } from '@/core/composables/useSession';
|
|
|
|
const routes: Array<RouteRecordRaw> = [
|
|
{
|
|
path: '/login',
|
|
name: 'Login',
|
|
component: () => import('../views/Login/Login.vue'),
|
|
},
|
|
{
|
|
path: '/',
|
|
name: 'Main',
|
|
component: () => import('../views/Layout/Main.vue'),
|
|
redirect: { name: 'Dashboard' },
|
|
children: [
|
|
{
|
|
path: '/dashboard',
|
|
name: 'Dashboard',
|
|
component: () => import('../views/Dashboard/Dashboard.vue'),
|
|
},
|
|
{
|
|
path: '/customer',
|
|
name: 'Customer',
|
|
component: () => import('../views/Customer/Customer.vue'),
|
|
},
|
|
{
|
|
path: '/:pathMatch(.*)*',
|
|
name: 'NotFound',
|
|
component: () => import('../views/Layout/NotFound.vue'),
|
|
},
|
|
],
|
|
},
|
|
];
|
|
|
|
const router = createRouter({
|
|
history: createWebHistory(process.env.BASE_URL),
|
|
routes,
|
|
});
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
const session = useSession();
|
|
const { isLoggedIn } = session;
|
|
|
|
if (!isLoggedIn && to.name !== 'Login') {
|
|
next({ path: '/login', query: { redirect: to.fullPath } });
|
|
} else {
|
|
next();
|
|
}
|
|
});
|
|
|
|
export default router;
|