diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index acb02948..ae737421 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -1,9 +1,11 @@
-
+
+
diff --git a/frontend/src/pages/Login.vue b/frontend/src/pages/Login.vue
new file mode 100644
index 00000000..556d7a3c
--- /dev/null
+++ b/frontend/src/pages/Login.vue
@@ -0,0 +1,60 @@
+
+
+
+
diff --git a/frontend/src/router.js b/frontend/src/router.js
index 2b5dce5a..a78ca2b1 100644
--- a/frontend/src/router.js
+++ b/frontend/src/router.js
@@ -1,4 +1,5 @@
import { createRouter, createWebHistory } from 'vue-router'
+import { sessionStore } from '@/stores/session'
const routes = [
{
@@ -25,6 +26,11 @@ const routes = [
name: 'Dashboard',
component: () => import('@/pages/Dashboard.vue'),
},
+ {
+ path: '/login',
+ name: 'Login',
+ component: () => import('@/pages/Login.vue'),
+ },
]
let router = createRouter({
@@ -32,4 +38,19 @@ let router = createRouter({
routes,
})
+router.beforeEach(async (to, from, next) => {
+ const session = sessionStore()
+
+ // Initialize session
+ await session.init()
+
+ if (to.name === 'Login' && session.isLoggedIn) {
+ next({ name: 'Leads' })
+ } else if (to.name !== 'Login' && !session.isLoggedIn) {
+ next({ name: 'Login' })
+ } else {
+ next()
+ }
+})
+
export default router