'use client'; import type { LeagueDetailViewData } from '@/lib/view-data/LeagueDetailViewData'; import { Box } from '@/ui/primitives/Box'; import { Stack } from '@/ui/primitives/Stack'; import { Text } from '@/ui/Text'; import { Calendar, Shield, Trophy, Users, type LucideIcon } from 'lucide-react'; interface LeagueOverviewTemplateProps { viewData: LeagueDetailViewData; } export function LeagueOverviewTemplate({ viewData }: LeagueOverviewTemplateProps) { return ( {/* Main Content */} About the League {viewData.description || 'No description provided for this league.'} Quick Stats {/* Sidebar */} Management {viewData.ownerSummary && ( Owner {viewData.ownerSummary.driverName} )} Admins {viewData.adminSummaries.map(admin => ( {admin.driverName} ))} {viewData.adminSummaries.length === 0 && No admins assigned} Sponsors {viewData.sponsors.length > 0 ? ( viewData.sponsors.map(sponsor => ( {sponsor.name} )) ) : ( No active sponsors )} ); } function StatCard({ icon: Icon, label, value }: { icon: LucideIcon, label: string, value: string | number }) { return ( {label} {value} ); }