import { AdminQuickViewWidgets } from '@/components/leagues/AdminQuickViewWidgets';
import { LeagueActivityFeed } from '@/components/leagues/LeagueActivityFeed';
import { LeagueLogo } from '@/components/leagues/LeagueLogo';
import { NextRaceCountdownWidget } from '@/components/leagues/NextRaceCountdownWidget';
import { SeasonProgressWidget } from '@/components/leagues/SeasonProgressWidget';
import type { LeagueDetailViewData } from '@/lib/view-data/LeagueDetailViewData';
import { Box } from '@/ui/Box';
import { Link } from '@/ui/Link';
import { Stack } from '@/ui/Stack';
import { Text } from '@/ui/Text';
import { Calendar, Shield, Trophy, Users, type LucideIcon } from 'lucide-react';
interface LeagueOverviewTemplateProps {
viewData: LeagueDetailViewData;
isOwnerOrAdmin: boolean;
}
export function LeagueOverviewTemplate({ viewData, isOwnerOrAdmin }: LeagueOverviewTemplateProps) {
return (
{/* Header with Logo */}
{viewData.name}{viewData.info.structure} • Created {new Date(viewData.info.createdAt).toLocaleDateString()}
{/* Main Content */}
{/* Next Race Section */}
{viewData.nextRace && (
Next Race
)}
{/* Season Progress Section */}
{viewData.seasonProgress && (
Season Progress
)}
{/* League Activity Feed */}
Recent Activity
{/* About the League */}
About the League
{viewData.description || 'No description provided for this league.'}
{/* Quick Stats */}
Quick Stats
{/* Roster Preview */}
Roster PreviewView All
{[viewData.ownerSummary, ...viewData.adminSummaries, ...viewData.stewardSummaries, ...viewData.memberSummaries]
.filter((m): m is any => m !== null)
.slice(0, 5)
.map((member) => (