import Image from 'next/image'; import { UserPlus, Users, Trophy } from 'lucide-react'; import type { TeamSummaryViewModel } from '@/lib/view-models/TeamSummaryViewModel'; import { getMediaUrl } from '@/lib/utilities/media'; const SKILL_LEVELS: { id: string; label: string; icon: React.ElementType; color: string; bgColor: string; borderColor: string; }[] = [ { id: 'pro', label: 'Pro', icon: () => null, // We'll import Crown if needed color: 'text-yellow-400', bgColor: 'bg-yellow-400/10', borderColor: 'border-yellow-400/30', }, { id: 'advanced', label: 'Advanced', icon: () => null, color: 'text-purple-400', bgColor: 'bg-purple-400/10', borderColor: 'border-purple-400/30', }, { id: 'intermediate', label: 'Intermediate', icon: () => null, color: 'text-primary-blue', bgColor: 'bg-primary-blue/10', borderColor: 'border-primary-blue/30', }, { id: 'beginner', label: 'Beginner', icon: () => null, color: 'text-green-400', bgColor: 'bg-green-400/10', borderColor: 'border-green-400/30', }, ]; interface FeaturedRecruitingProps { teams: TeamSummaryViewModel[]; onTeamClick: (id: string) => void; } export default function FeaturedRecruiting({ teams, onTeamClick }: FeaturedRecruitingProps) { const recruitingTeams = teams.filter((t) => t.isRecruiting).slice(0, 4); if (recruitingTeams.length === 0) return null; return (

Looking for Drivers

Teams actively recruiting new members

{recruitingTeams.map((team) => { const levelConfig = SKILL_LEVELS.find((l) => l.id === team.performanceLevel); return ( ); })}
); }