Fix admin navbar link: use isUserAdmin DB call instead of session.user.isAdmin

BetterAuth additionalFields doesn't reliably populate isAdmin in the session
user object. Fall back to a direct DB query (same pattern as admin.tsx).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Chris Parsons 2026-04-24 23:10:03 -07:00
parent cdba27a106
commit 31e04d9c74

View file

@ -16,12 +16,13 @@ import { NavigationProgress } from "~/components/NavigationProgress";
import { Toaster } from "~/components/ui/sonner";
import { BracktGradients } from "~/components/ui/BracktGradients";
import { Footer } from "~/components/marketing/Footer";
import { isUserAdmin } from "~/models/user";
import { AlertCircle, FileQuestion, Lock, ShieldOff, ServerCrash } from "lucide-react";
import logoUrl from "../public/logo.svg?url";
export async function loader({ request }: Route.LoaderArgs) {
const session = await auth.api.getSession({ headers: request.headers });
const isAdmin = session?.user.isAdmin ?? false;
const isAdmin = session ? await isUserAdmin(session.user.id) : false;
return { isAdmin };
}