export default defineNuxtRouteMiddleware(async (to) => { const auth = useAuthStore() const isLogin = to.path === '/login' if (!auth.checked) { await auth.ensureSession() } if (!isLogin && !auth.isAuthenticated) { return navigateTo('/login') } if (isLogin && auth.isAuthenticated) { const isClient = auth.user?.roles?.includes('ROLE_CLIENT') ?? false return navigateTo(isClient ? '/portal' : '/') } // ROLE_CLIENT: redirect to /portal, block internal pages if (auth.isAuthenticated && auth.user?.roles?.includes('ROLE_CLIENT')) { const isPortalRoute = to.path.startsWith('/portal') const isLoginRoute = to.path === '/login' if (!isPortalRoute && !isLoginRoute) { return navigateTo('/portal') } } })