'use client'; import { Users, Search, Plus, Crown, Star, TrendingUp, Shield, UserPlus, } from 'lucide-react'; import Button from '@/components/ui/Button'; import Heading from '@/components/ui/Heading'; import type { TeamSummaryViewModel } from '@/lib/view-models/TeamSummaryViewModel'; type SkillLevel = 'pro' | 'advanced' | 'intermediate' | 'beginner'; interface SkillLevelConfig { id: SkillLevel; label: string; icon: React.ElementType; color: string; bgColor: string; borderColor: string; description: string; } const SKILL_LEVELS: SkillLevelConfig[] = [ { id: 'pro', label: 'Pro', icon: Crown, color: 'text-yellow-400', bgColor: 'bg-yellow-400/10', borderColor: 'border-yellow-400/30', description: 'Elite competition, sponsored teams', }, { id: 'advanced', label: 'Advanced', icon: Star, color: 'text-purple-400', bgColor: 'bg-purple-400/10', borderColor: 'border-purple-400/30', description: 'Competitive racing, high consistency', }, { id: 'intermediate', label: 'Intermediate', icon: TrendingUp, color: 'text-primary-blue', bgColor: 'bg-primary-blue/10', borderColor: 'border-primary-blue/30', description: 'Growing skills, regular practice', }, { id: 'beginner', label: 'Beginner', icon: Shield, color: 'text-green-400', bgColor: 'bg-green-400/10', borderColor: 'border-green-400/30', description: 'Learning the basics, friendly environment', }, ]; interface TeamHeroSectionProps { teams: TeamSummaryViewModel[]; teamsByLevel: Record; recruitingCount: number; onShowCreateForm: () => void; onBrowseTeams: () => void; onSkillLevelClick: (level: SkillLevel) => void; } export default function TeamHeroSection({ teams, teamsByLevel, recruitingCount, onShowCreateForm, onBrowseTeams, onSkillLevelClick, }: TeamHeroSectionProps) { return (
{/* Main Hero Card */}
{/* Background decorations */}
{/* Badge */}
Team Racing
Find Your Crew

Solo racing is great. Team racing is unforgettable. Join a team that matches your skill level and ambitions.

{/* Quick Stats */}
{teams.length} Teams
{recruitingCount} Recruiting
{/* CTA Buttons */}
{/* Skill Level Quick Nav */}

Find Your Level

{SKILL_LEVELS.map((level) => { const LevelIcon = level.icon; const count = teamsByLevel[level.id]?.length || 0; return ( ); })}
); }