import { Link } from "react-router"; import type { Route } from "./+types/admin.leagues"; import { listLeaguesWithStatus } from "~/models/league"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "~/components/ui/table"; import { Badge } from "~/components/ui/badge"; import type { SeasonStatus } from "~/models/season"; export function meta(): Route.MetaDescriptors { return [{ title: "Leagues — Brackt Admin" }]; } export async function loader() { const leagues = await listLeaguesWithStatus(); return { leagues }; } function StatusBadge({ status }: { status: SeasonStatus | null }) { if (!status) { return No Season; } switch (status) { case "pre_draft": return Pre-Draft; case "draft": return ( Drafting ); case "active": return ( Active ); case "completed": return Completed; } } export default function AdminLeagues({ loaderData }: Route.ComponentProps) { const { leagues } = loaderData; return (

Leagues

{leagues.length} total leagues

All Leagues Every league in the system with their current season status. League Name Season Year Status Created {leagues.length === 0 && ( No leagues found. )} {leagues.map((league) => ( {league.name} {league.currentSeasonYear ?? "—"} {new Date(league.createdAt).toLocaleDateString()} ))}
); }