feat(front) : load sidebar/modules after login and redirect disabled routes
This commit is contained in:
@@ -13,4 +13,18 @@ export default defineNuxtRouteMiddleware(async (to) => {
|
|||||||
if (isLogin && auth.isAuthenticated) {
|
if (isLogin && auth.isAuthenticated) {
|
||||||
return navigateTo('/')
|
return navigateTo('/')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const { loaded: sidebarLoaded, loadSidebar, resetSidebar } = useSidebar()
|
||||||
|
const { loaded: modulesLoaded, loadModules, resetModules } = useModules()
|
||||||
|
|
||||||
|
if (auth.isAuthenticated) {
|
||||||
|
await Promise.all([
|
||||||
|
sidebarLoaded.value ? Promise.resolve() : loadSidebar(),
|
||||||
|
modulesLoaded.value ? Promise.resolve() : loadModules(),
|
||||||
|
])
|
||||||
|
} else {
|
||||||
|
// Logout / session expirée : purge l'état partagé pour le prochain login.
|
||||||
|
resetSidebar()
|
||||||
|
resetModules()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
export default defineNuxtRouteMiddleware(async (to) => {
|
||||||
|
const auth = useAuthStore()
|
||||||
|
if (!auth.isAuthenticated) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const { loaded, loadSidebar, isRouteDisabled } = useSidebar()
|
||||||
|
if (!loaded.value) {
|
||||||
|
await loadSidebar()
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isRouteDisabled(to.path)) {
|
||||||
|
return navigateTo('/')
|
||||||
|
}
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user