Files
Inventory/app/middleware/profile.global.ts

22 lines
714 B
TypeScript

import { useProfileSession } from '#imports'
export default defineNuxtRouteMiddleware(async (to) => {
const { ensureSession, activeProfile } = useProfileSession()
await ensureSession()
const rawPath = to?.path ?? ''
const normalizedPath = rawPath.startsWith('/') ? rawPath : `/${rawPath}`
const fullPath = to?.fullPath ?? normalizedPath
const routeName = typeof to?.name === 'string' ? to.name : ''
const isProfilesRoute =
normalizedPath.startsWith('/profiles') ||
fullPath.startsWith('/profiles') ||
routeName.startsWith('profiles')
if (!activeProfile.value && !isProfilesRoute) {
if (!normalizedPath.startsWith('/profiles')) {
return navigateTo('/profiles')
}
}
})