'use client'; import { LeagueDecalPlacementEditor } from '@/components/leagues/LeagueDecalPlacementEditor'; import { SponsorshipRequestCard } from '@/components/leagues/SponsorshipRequestCard'; import { SponsorshipSlotCard } from '@/components/leagues/SponsorshipSlotCard'; import type { LeagueSponsorshipsViewData } from '@/lib/view-data/leagues/LeagueSponsorshipsViewData'; import { Box } from '@/ui/Box'; import { Card } from '@/ui/Card'; import { Heading } from '@/ui/Heading'; import { Icon } from '@/ui/Icon'; import { Grid } from '@/ui/Grid'; import { Stack } from '@/ui/Stack'; import { Surface } from '@/ui/Surface'; import { Text } from '@/ui/Text'; import { Building, Clock, Palette } from 'lucide-react'; interface LeagueSponsorshipsTemplateProps { viewData: LeagueSponsorshipsViewData; } export function LeagueSponsorshipsTemplate({ viewData }: LeagueSponsorshipsTemplateProps) { const activeTab = viewData.activeTab; return ( Sponsorships Manage sponsorship slots and review requests viewData.onTabChange('overview')} px={4} py={2} rounded="lg" size="sm" weight="medium" bg={activeTab === 'overview' ? 'bg-primary-blue' : 'bg-iron-gray'} color={activeTab === 'overview' ? 'text-white' : 'text-gray-400'} cursor="pointer" borderStyle="none" > Overview viewData.onTabChange('editor')} px={4} py={2} rounded="lg" size="sm" weight="medium" bg={activeTab === 'editor' ? 'bg-primary-blue' : 'bg-iron-gray'} color={activeTab === 'editor' ? 'text-white' : 'text-gray-400'} cursor="pointer" borderStyle="none" > Livery Editor {activeTab === 'overview' ? ( {/* Sponsorship Slots */} Sponsorship Slots Available sponsorship opportunities {viewData.sponsorshipSlots.length === 0 ? ( No sponsorship slots available ) : ( {viewData.sponsorshipSlots.map((slot) => ( ))} )} {/* Sponsorship Requests */} Sponsorship Requests Pending and processed sponsorship applications {viewData.sponsorshipRequests.length === 0 ? ( No sponsorship requests ) : ( {viewData.sponsorshipRequests.map((request) => { const slot = viewData.sponsorshipSlots.find(s => s.id === request.slotId); return ( ); })} )} ) : ( League Livery Editor Configure where sponsor decals appear on league cars { console.log('Placements saved:', placements); }} /> )} ); }