diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 97638ed..167ceb3 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,4 +1,5 @@ import { createRouter, createWebHistory } from 'vue-router'; +import { useAuthStore } from '@/stores/auth'; const router = createRouter({ history: createWebHistory(), @@ -6,6 +7,7 @@ const router = createRouter({ { path: '/admin', component: () => import('@/layouts/AdminLayout.vue'), + meta: { requiresAdmin: true }, children: [ { path: '', @@ -41,4 +43,14 @@ const router = createRouter({ ] }); +router.beforeEach((to, from, next) => { + const authStore = useAuthStore(); + + if (to.meta.requiresAdmin && !authStore.isAdmin) { + next({ name: 'AdminLogin' }); + } else { + next(); + } +}); + export default router; \ No newline at end of file diff --git a/frontend/src/views/admin/AddEmployeeView.vue b/frontend/src/views/admin/AddEmployeeView.vue index e50c74b..b320ef0 100644 --- a/frontend/src/views/admin/AddEmployeeView.vue +++ b/frontend/src/views/admin/AddEmployeeView.vue @@ -1,25 +1,33 @@