From cc9eb0c144e65f8ef6c26aeb08f8f7d0f10f6cc2 Mon Sep 17 00:00:00 2001 From: Pedro Lamas Date: Tue, 24 Sep 2024 10:09:55 +0100 Subject: [PATCH] fix: redirect from login page if authenticated Signed-off-by: Pedro Lamas --- src/router/index.ts | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index 703dedfee4..2069c7ac52 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,5 +1,5 @@ import Vue from 'vue' -import VueRouter, { type NavigationGuardNext, type Route, type RouteConfig } from 'vue-router' +import VueRouter, { type RouteConfig } from 'vue-router' // Views import Dashboard from '@/views/Dashboard.vue' @@ -22,19 +22,19 @@ import Icons from '@/views/Icons.vue' Vue.use(VueRouter) -const ifAuthenticated = (to: Route, from: Route, next: NavigationGuardNext) => { - if ( - router.app.$store.getters['auth/getAuthenticated'] || - !router.app.$store.state.socket.apiConnected - ) { - next() - } else { - next('/login') - } -} +const isAuthenticated = () => ( + router.app.$store.getters['auth/getAuthenticated'] || + !router.app.$store.state.socket.apiConnected +) const defaultRouteConfig: Partial = { - beforeEnter: ifAuthenticated, + beforeEnter: (to, from, next) => { + if (isAuthenticated()) { + next() + } else { + next('/login') + } + }, meta: { fileDropRoot: 'gcodes' } @@ -140,6 +140,13 @@ const routes: Array = [ path: '/login', name: 'Login', component: Login, + beforeEnter: (to, from, next) => { + if (isAuthenticated()) { + next('/') + } else { + next() + } + }, meta: { fillHeight: true }