import { Link, Outlet, redirect } from "react-router"; import { auth } from "~/lib/auth.server"; import type { Route } from "./+types/admin"; import { isUserAdmin } from "~/models/user"; import { Button } from "~/components/ui/button"; import { LayoutDashboard, Trophy, Calendar, FolderKanban, RefreshCw, Award, Activity, Users, } from "lucide-react"; export function meta(): Route.MetaDescriptors { return [{ title: "Admin - Brackt" }]; } export async function loader(args: Route.LoaderArgs) { const session = await auth.api.getSession({ headers: args.request.headers }); const userId = session?.user.id ?? null; if (!userId) { throw redirect("/"); } const isAdmin = await isUserAdmin(userId); if (!isAdmin) { throw redirect("/"); } return { isAdmin }; } export default function AdminLayout() { return (