export const useAuth = () => { const memberData = useState("auth.member", () => null); const isAuthenticated = computed(() => !!memberData.value); const isMember = computed(() => !!memberData.value); const checkMemberStatus = async () => { console.log("🔍 checkMemberStatus called"); console.log(" - Current memberData:", !!memberData.value); try { console.log(" - Making API call to /api/auth/member..."); const response = await $fetch("/api/auth/member"); console.log(" - API response received:", { email: response.email, id: response.id, }); memberData.value = response; console.log(" - ✅ Member authenticated successfully"); return true; } catch (error) { console.error( " - ❌ Failed to fetch member status:", error.statusCode, error.statusMessage, ); memberData.value = null; console.log(" - Cleared memberData"); return false; } }; const logout = async () => { try { await $fetch("/api/auth/logout", { method: "POST", }); memberData.value = null; await navigateTo("/"); } catch (error) { console.error("Logout failed:", error); } }; return { isAuthenticated: readonly(isAuthenticated), isMember: readonly(isMember), memberData: readonly(memberData), checkMemberStatus, fetchMember: checkMemberStatus, // Alias for consistency logout, }; };