import { Link } from "react-router"; import type { Route } from "./+types/admin._index"; import { findAllSports } from "~/models/sport"; import { findAllSportsSeasons } from "~/models/sports-season"; import { findAllSeasonTemplates } from "~/models/season-template"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "~/components/ui/card"; import { Button } from "~/components/ui/button"; import { Trophy, Calendar, FolderKanban, ArrowRight } from "lucide-react"; export async function loader() { const [sports, sportsSeasons, templates] = await Promise.all([ findAllSports(), findAllSportsSeasons(), findAllSeasonTemplates(), ]); return { stats: { sportsCount: sports.length, sportsSeasonsCount: sportsSeasons.length, templatesCount: templates.length, }, }; } export default function AdminDashboard({ loaderData }: Route.ComponentProps) { const { stats } = loaderData; return (

Admin Dashboard

Manage sports, seasons, participants, and templates

Total Sports
{stats.sportsCount}

Active sports in the system

Sports Seasons
{stats.sportsSeasonsCount}

Across all sports

Templates
{stats.templatesCount}

Season templates available

Quick Actions Common administrative tasks Getting Started Set up your sports system
1

Create Sports

Add sports like NFL, NBA, Golf, etc.

2

Create Sports Seasons

Add specific seasons for each sport

3

Add Participants

Add teams or players to each sports season

4

Create Templates

Bundle sports seasons into templates for leagues

); }