import { Link, useSearchParams } from "react-router"; import type { Route } from "./+types/admin.sports-seasons"; import { findAllAdminSportsSeasons } from "~/models/sports-season"; import { filterVisibleSportsSeasons } from "./admin.sports-seasons.helpers"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Button } from "~/components/ui/button"; import { Label } from "~/components/ui/label"; import { Switch } from "~/components/ui/switch"; import { Plus, Calendar } from "lucide-react"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "~/components/ui/table"; import { Badge } from "~/components/ui/badge"; export function meta(): Route.MetaDescriptors { return [{ title: "Sports Seasons - Brackt Admin" }]; } export async function loader() { const sportsSeasons = await findAllAdminSportsSeasons(); return { sportsSeasons }; } export default function AdminSportsSeasons({ loaderData }: Route.ComponentProps) { const { sportsSeasons } = loaderData; const [searchParams, setSearchParams] = useSearchParams(); const today = new Date().toISOString().slice(0, 10); const hideCompleted = searchParams.get("showCompleted") !== "true"; const visibleSportsSeasons = filterVisibleSportsSeasons(sportsSeasons, hideCompleted); function setHideCompleted(nextHideCompleted: boolean) { const next = new URLSearchParams(searchParams); if (nextHideCompleted) next.delete("showCompleted"); else next.set("showCompleted", "true"); setSearchParams(next); } return (
Manage sports seasons across all sports
Get started by creating your first sports season
All current sports seasons are completed. Turn off the filter to review them.