Files
FloatingIsland/app/plugins/01.auth.ts
2025-10-04 18:08:39 +08:00

25 lines
674 B
TypeScript

import { useUserStore } from "~/stores/user"
export default defineNuxtPlugin(() => {
const side = import.meta.server ? "SERVER" : "CLIENT"
console.log(`[AUTH PLUGIN] Running on ${side}`)
const userStore = useUserStore()
// Prevent fetching if it's already in progress
if (userStore.isLoading) {
console.log(
`[AUTH PLUGIN] User fetch already in progress on ${side}. Skipping.`
)
return
}
// On initial app load, fetch the user if a token exists but the user object isn't populated.
if (!userStore.user) {
console.log(
`[AUTH PLUGIN] User not loaded. Trying to fetching user on ${side}.`
)
userStore.fetchUser()
}
})