import { Link } from "react-router"; import type { Route } from "./+types/admin.sports"; import { findAllSportsWithActiveSeasons } from "~/models/sport"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Button } from "~/components/ui/button"; import { Plus, Trophy } from "lucide-react"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "~/components/ui/table"; import { Badge } from "~/components/ui/badge"; import { SportIcon } from "~/components/SportIcon"; export function meta(): Route.MetaDescriptors { return [{ title: "Sports - Brackt Admin" }]; } export async function loader() { const sports = await findAllSportsWithActiveSeasons(); return { sports }; } export default function AdminSports({ loaderData }: Route.ComponentProps) { const { sports } = loaderData; return (

Sports

Manage all sports in the system

All Sports {sports.length} {sports.length === 1 ? "sport" : "sports"} total {sports.length === 0 ? (

No sports yet

Get started by creating your first sport

) : ( Name Type Slug Public Page Current Seasons Actions {sports.map((sport) => (
{sport.name}
{sport.type} {sport.slug} {sport.excludeFromHomepage ? "Hidden" : "Shown"} {sport.activeSeasons.length > 0 ? (
{sport.activeSeasons.map((season) => ( {season.name} ({season.year}) ))}
) : ( No current seasons )}
))}
)}
); }