import { LeagueSponsorshipsViewData } from '@/lib/view-data/leagues/LeagueSponsorshipsViewData'; import { Card } from '@/ui/Card'; import { Section } from '@/ui/Section'; import { Building, DollarSign, Clock, CheckCircle, XCircle, AlertCircle } from 'lucide-react'; interface LeagueSponsorshipsTemplateProps { viewData: LeagueSponsorshipsViewData; } export function LeagueSponsorshipsTemplate({ viewData }: LeagueSponsorshipsTemplateProps) { return (

Sponsorships

Manage sponsorship slots and review requests

{/* Sponsorship Slots */}

Sponsorship Slots

Available sponsorship opportunities

{viewData.sponsorshipSlots.length === 0 ? (

No sponsorship slots available

) : (
{viewData.sponsorshipSlots.map((slot) => (

{slot.name}

{slot.isAvailable ? 'Available' : 'Taken'}

{slot.description}

{slot.price} {slot.currency}
{!slot.isAvailable && slot.sponsoredBy && (

Sponsored by

{slot.sponsoredBy.name}

)}
))}
)}
{/* 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); const statusIcon = { pending: , approved: , rejected: , }[request.status]; const statusColor = { pending: 'border-warning-amber bg-warning-amber/5', approved: 'border-performance-green bg-performance-green/5', rejected: 'border-red-400 bg-red-400/5', }[request.status]; return (
{statusIcon} {request.sponsorName} {request.status}
Requested: {slot?.name || 'Unknown slot'}
{new Date(request.requestedAt).toLocaleDateString()}
); })}
)}
{/* Note about management */}

Sponsorship Management

Interactive management features for approving requests and managing slots will be implemented in future updates.

); }