'use client'; 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 { TeamsDirectory, TeamsDirectorySection } from '@/components/teams/TeamsDirectory'; import { SharedEmptyState } from '@/components/shared/UIComponents'; import type { TeamsViewData } from '@/lib/view-data/TeamsViewData'; import { Users } from 'lucide-react'; import { TemplateProps } from '@/lib/contracts/components/ComponentContracts'; interface TeamsTemplateProps extends TemplateProps { onTeamClick?: (teamId: string) => void; onViewFullLeaderboard: () => void; onCreateTeam: () => void; } export function TeamsTemplate({ viewData, onTeamClick, onViewFullLeaderboard, onCreateTeam }: TeamsTemplateProps) { const { teams } = viewData; return ( {teams.length > 0 ? ( {teams.map((team) => ( onTeamClick?.(team.teamId)} /> ))} ) : ( )} onTeamClick?.(id)} onViewFullLeaderboard={onViewFullLeaderboard} /> ); }