export default defineNuxtRouteMiddleware(async (to, from) => { // Skip on server-side rendering if (process.server) { console.log("🛡️ Auth middleware - skipping on server"); return; } const { memberData, checkMemberStatus } = useAuth(); const { openLoginModal } = useLoginModal(); console.log("🛡️ Auth middleware (CLIENT) - route:", to.path); console.log(" - memberData exists:", !!memberData.value); console.log(" - Running on:", process.server ? "SERVER" : "CLIENT"); // If no member data, try to check authentication if (!memberData.value) { console.log(" - No member data, checking authentication..."); const isAuthenticated = await checkMemberStatus(); console.log(" - Authentication result:", isAuthenticated); if (!isAuthenticated) { console.log(" - ❌ Authentication failed, showing login modal"); // Open login modal instead of redirecting openLoginModal({ title: "Sign in to continue", description: "You need to be signed in to access this page", dismissible: true, redirectTo: to.fullPath, }); // Let navigation proceed — the page renders its own unauthenticated // fallback, and the modal opens on top. abortNavigation() on an initial // page load resets client state, which closes the modal before it shows. return; } } console.log(" - ✅ Authentication successful for:", memberData.value?.email); });