'use client'; import { EmptyState } from '@/components/shared/state/EmptyState'; import { TeamCard } from '@/components/teams/TeamCardWrapper'; import { TeamGrid } from '@/components/teams/TeamGrid'; import { TeamLeaderboardPreview } from '@/components/teams/TeamLeaderboardPreviewWrapper'; import { TeamsDirectoryHeader } from '@/components/teams/TeamsDirectoryHeader'; import type { TeamsViewData } from '@/lib/view-data/TeamsViewData'; import { Container } from '@/ui/Container'; import { Box } from '@/ui/primitives/Box'; import { Stack } from '@/ui/primitives/Stack'; import { Text } from '@/ui/Text'; import { Users } from 'lucide-react'; interface TeamsTemplateProps { viewData: TeamsViewData; onTeamClick?: (teamId: string) => void; onViewFullLeaderboard: () => void; onCreateTeam: () => void; } export function TeamsTemplate({ viewData, onTeamClick, onViewFullLeaderboard, onCreateTeam }: TeamsTemplateProps) { const { teams } = viewData; return ( Active Rosters {teams.length > 0 ? ( {teams.map((team) => ( onTeamClick?.(team.teamId)} /> ))} ) : ( )} {/* Team Leaderboard Preview */} Global Standings onTeamClick?.(id)} onViewFullLeaderboard={onViewFullLeaderboard} /> ); }