'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}
);
}