'use client'; import { SkillLevelButton } from '@/components/drivers/SkillLevelButton'; import { TeamHeroStats } from '@/components/teams/TeamHeroStats'; import type { TeamSummaryViewModel } from '@/lib/view-models/TeamSummaryViewModel'; import { Button } from '@/ui/Button'; import { Icon } from '@/ui/Icon'; import { TeamHero } from '@/components/teams/TeamHero'; import { Text } from '@/ui/Text'; import { Stack } from '@/ui/Stack'; import { Crown, Plus, Search, Shield, Star, TrendingUp, } from 'lucide-react'; import React from 'react'; type SkillLevel = 'pro' | 'advanced' | 'intermediate' | 'beginner'; const SKILL_LEVELS = [ { id: 'pro', label: 'Pro', icon: Crown, intent: 'warning' as const, color: 'text-warning-amber', bgColor: 'bg-warning-amber/10', borderColor: 'border-warning-amber/20', }, { id: 'advanced', label: 'Advanced', icon: Star, intent: 'primary' as const, color: 'text-primary-blue', bgColor: 'bg-primary-blue/10', borderColor: 'border-primary-blue/20', }, { id: 'intermediate', label: 'Intermediate', icon: TrendingUp, intent: 'telemetry' as const, color: 'text-telemetry-aqua', bgColor: 'bg-telemetry-aqua/10', borderColor: 'border-telemetry-aqua/20', }, { id: 'beginner', label: 'Beginner', icon: Shield, intent: 'success' as const, color: 'text-performance-green', bgColor: 'bg-performance-green/10', borderColor: 'border-performance-green/20', }, ] as const; interface TeamHeroSectionProps { teams: TeamSummaryViewModel[]; teamsByLevel: Record; recruitingCount: number; onShowCreateForm: () => void; onBrowseTeams: () => void; onSkillLevelClick: (level: SkillLevel) => void; } export function TeamHeroSection({ teams, teamsByLevel, recruitingCount, onShowCreateForm, onBrowseTeams, onSkillLevelClick, }: TeamHeroSectionProps) { return ( Find Your Crew } description="Solo racing is great. Team racing is unforgettable. Join a team that matches your skill level and ambitions." stats={ } actions={ } sideContent={ Find Your Level {SKILL_LEVELS.map((level) => { const count = teamsByLevel[level.id]?.length || 0; return ( onSkillLevelClick(level.id as SkillLevel)} /> ); })} } /> ); }