"use client" import { useAuthStore } from "@/lib/api/auth-store" import { useCurrentUser } from "@/lib/api/hooks/use-current-user" import { adminScopesFromToken, isPlatformAdminFromToken } from "@/lib/auth/admin" /** Matches AdminAccessGuard: token groups or platform_admin from /users/me. */ export function usePlatformAdminAccess() { const token = useAuthStore((s) => s.accessToken) const { data: me, isFetched: meFetched } = useCurrentUser() const scopes = adminScopesFromToken(token) const fromToken = isPlatformAdminFromToken(token) || scopes.read const fromAccount = me?.platform_admin === true return { isAdmin: fromToken || fromAccount, /** Wait for /users/me when token alone is not enough to decide admin access. */ adminReady: fromToken || meFetched, } }