22 lines
607 B
TypeScript
22 lines
607 B
TypeScript
export default defineNuxtRouteMiddleware(async (to) => {
|
|
const basePath = stripLocalePrefix(to.path, ['ru', 'en'])
|
|
|
|
// Skip auth routes handled by @logto/nuxt
|
|
if (basePath === '/sign-in' || basePath === '/sign-out' || basePath === '/callback') {
|
|
return
|
|
}
|
|
|
|
// Skip public auth paths
|
|
if (basePath.startsWith('/auth/')) {
|
|
return
|
|
}
|
|
|
|
const { loggedIn } = useAuth()
|
|
const localePath = useLocalePath()
|
|
const logtoUser = useState<Record<string, unknown> | null>('logto-user', () => null)
|
|
|
|
if (!loggedIn.value && !logtoUser.value) {
|
|
return navigateTo(localePath('/sign-in'))
|
|
}
|
|
})
|