homemanager-fe/src/router/index.ts

46 lines
941 B
TypeScript
Raw Normal View History

2023-01-16 19:37:39 +00:00
import { NavigationGuardWithThis, RouteRecordRaw } from 'vue-router';
import Dashboard from '../views/Dashboard.vue';
import Login from '../views/Login.vue';
import { createRouter, createWebHashHistory } from 'vue-router';
import { useUserStore } from '../store/user.store';
2023-01-18 21:20:06 +00:00
import HousePlanner from '../views/HousePlanner.vue';
2023-01-16 19:37:39 +00:00
const routes: RouteRecordRaw[] = [
{
name: 'dashboard',
path: '/',
component: Dashboard,
},
{
name: 'login',
path: '/login',
component: Login,
},
{
name: 'planner',
path: '/planner',
component: HousePlanner,
},
];
const router = createRouter({
history: createWebHashHistory(),
routes,
});
router.beforeEach(async (to, from, next) => {
const userStore = useUserStore();
if (
to.name !== 'login' &&
to.meta?.authenticated !== false &&
!userStore.isLoggedIn
) {
return next({ name: 'login' });
}
next();
});
export default router;