From 31e04d9c74ed9e2c2230a134b5ed85db68ae3f38 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Fri, 24 Apr 2026 23:10:03 -0700 Subject: [PATCH] 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 --- app/root.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/root.tsx b/app/root.tsx index c5049cd..cda09e3 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -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 }; }