19 lines
423 B
TypeScript
19 lines
423 B
TypeScript
export default defineNuxtRouteMiddleware(async (to) => {
|
|
// Skip auth for public pages
|
|
if (to.meta.auth === false) {
|
|
return;
|
|
}
|
|
|
|
// Use the same auth system as the rest of the app
|
|
const { isAuthenticated, checkAuth, user } = useAuth();
|
|
|
|
// Ensure auth is checked if user isn't loaded
|
|
if (!user.value) {
|
|
await checkAuth();
|
|
}
|
|
|
|
if (!isAuthenticated.value) {
|
|
return navigateTo('/login');
|
|
}
|
|
});
|