'use client'; import { useState } from 'react'; import Card from '@/components/ui/Card'; import Button from '@/components/ui/Button'; import { Trophy, Users, Eye, Search, Filter, Star, ChevronRight } from 'lucide-react'; interface AvailableLeague { id: string; name: string; game: string; drivers: number; avgViewsPerRace: number; mainSponsorSlot: { available: boolean; price: number }; secondarySlots: { available: number; total: number; price: number }; rating: number; tier: 'premium' | 'standard' | 'starter'; } const MOCK_AVAILABLE_LEAGUES: AvailableLeague[] = [ { id: 'league-1', name: 'GT3 Masters Championship', game: 'iRacing', drivers: 48, avgViewsPerRace: 8200, mainSponsorSlot: { available: true, price: 1200 }, secondarySlots: { available: 1, total: 2, price: 400 }, rating: 4.8, tier: 'premium', }, { id: 'league-2', name: 'Endurance Pro Series', game: 'ACC', drivers: 72, avgViewsPerRace: 12500, mainSponsorSlot: { available: false, price: 1500 }, secondarySlots: { available: 2, total: 2, price: 500 }, rating: 4.9, tier: 'premium', }, { id: 'league-3', name: 'Formula Sim League', game: 'iRacing', drivers: 24, avgViewsPerRace: 5400, mainSponsorSlot: { available: true, price: 800 }, secondarySlots: { available: 2, total: 2, price: 300 }, rating: 4.5, tier: 'standard', }, { id: 'league-4', name: 'Touring Car Masters', game: 'rFactor 2', drivers: 32, avgViewsPerRace: 3200, mainSponsorSlot: { available: true, price: 500 }, secondarySlots: { available: 2, total: 2, price: 200 }, rating: 4.2, tier: 'starter', }, { id: 'league-5', name: 'LMP Challenge', game: 'Le Mans Ultimate', drivers: 36, avgViewsPerRace: 6800, mainSponsorSlot: { available: true, price: 900 }, secondarySlots: { available: 1, total: 2, price: 350 }, rating: 4.6, tier: 'standard', }, ]; function LeagueCard({ league }: { league: AvailableLeague }) { const tierColors = { premium: 'bg-gradient-to-r from-yellow-500/20 to-amber-500/20 border-yellow-500/30', standard: 'bg-gradient-to-r from-blue-500/20 to-cyan-500/20 border-blue-500/30', starter: 'bg-gradient-to-r from-gray-500/20 to-slate-500/20 border-gray-500/30', }; const tierBadgeColors = { premium: 'bg-yellow-500/20 text-yellow-400 border-yellow-500/30', standard: 'bg-blue-500/20 text-blue-400 border-blue-500/30', starter: 'bg-gray-500/20 text-gray-400 border-gray-500/30', }; return (

{league.name}

{league.tier}

{league.game}

{league.rating}
{league.drivers}
Drivers
{(league.avgViewsPerRace / 1000).toFixed(1)}k
Avg Views
${(league.mainSponsorSlot.price / league.avgViewsPerRace * 1000).toFixed(0)}
CPM
Main Sponsor
{league.mainSponsorSlot.available ? ( ${league.mainSponsorSlot.price}/season ) : ( Taken )}
0 ? 'bg-performance-green' : 'bg-racing-red'}`} /> Secondary Slots
{league.secondarySlots.available > 0 ? ( {league.secondarySlots.available}/{league.secondarySlots.total} @ ${league.secondarySlots.price} ) : ( Full )}
{(league.mainSponsorSlot.available || league.secondarySlots.available > 0) && ( )}
); } export default function SponsorLeaguesPage() { const [searchQuery, setSearchQuery] = useState(''); const [tierFilter, setTierFilter] = useState<'all' | 'premium' | 'standard' | 'starter'>('all'); const [availabilityFilter, setAvailabilityFilter] = useState<'all' | 'main' | 'secondary'>('all'); const filteredLeagues = MOCK_AVAILABLE_LEAGUES.filter(league => { if (searchQuery && !league.name.toLowerCase().includes(searchQuery.toLowerCase())) { return false; } if (tierFilter !== 'all' && league.tier !== tierFilter) { return false; } if (availabilityFilter === 'main' && !league.mainSponsorSlot.available) { return false; } if (availabilityFilter === 'secondary' && league.secondarySlots.available === 0) { return false; } return true; }); return (
{/* Breadcrumb */}
Dashboard Browse Leagues
{/* Header */}

Find Leagues to Sponsor

Discover racing leagues looking for sponsors and grow your brand

{/* Filters */}
setSearchQuery(e.target.value)} className="w-full pl-10 pr-4 py-2 rounded-lg border border-charcoal-outline bg-iron-gray text-white placeholder-gray-500 focus:border-primary-blue focus:outline-none" />
{/* Stats Banner */}
{MOCK_AVAILABLE_LEAGUES.length}
Available Leagues
{MOCK_AVAILABLE_LEAGUES.filter(l => l.mainSponsorSlot.available).length}
Main Slots Open
{MOCK_AVAILABLE_LEAGUES.reduce((sum, l) => sum + l.secondarySlots.available, 0)}
Secondary Slots Open
{MOCK_AVAILABLE_LEAGUES.reduce((sum, l) => sum + l.drivers, 0)}
Total Drivers
{/* League Grid */}
{filteredLeagues.map((league) => ( ))}
{filteredLeagues.length === 0 && (

No leagues found

Try adjusting your filters to see more results

)} {/* Alpha Notice */}

Alpha Note: League sponsorship marketplace is demonstration-only. Actual sponsorship purchases will be available when the payment system is fully implemented.

); }