export default defineNuxtRouteMiddleware(async (to) => { if (to.path === "/login") return; const { user, fetchMe } = useAuth(); try { if (!user.value) { await Promise.race([ fetchMe(), new Promise((_, reject) => setTimeout(() => reject(new Error("timeout")), 4000)), ]); } } catch { user.value = null; } if (!user.value) return navigateTo("/login"); if (user.value.role !== "platform_admin" || user.value.realm !== "platform") { user.value = null; return navigateTo("/login"); } });