import Card from '@/components/ui/Card'; import type { LeagueScoringChampionshipDTO } from '@core/racing/application/dto/LeagueScoringConfigDTO'; interface ChampionshipCardProps { championship: LeagueScoringChampionshipDTO; } export function ChampionshipCard({ championship }: ChampionshipCardProps) { const getTypeLabel = (type: string): string => { switch (type) { case 'driver': return 'Driver Championship'; case 'team': return 'Team Championship'; case 'nations': return 'Nations Championship'; case 'trophy': return 'Trophy Championship'; default: return 'Championship'; } }; const getTypeBadgeStyle = (type: string): string => { switch (type) { case 'driver': return 'bg-primary-blue/10 text-primary-blue border-primary-blue/20'; case 'team': return 'bg-purple-500/10 text-purple-400 border-purple-500/20'; case 'nations': return 'bg-performance-green/10 text-performance-green border-performance-green/20'; case 'trophy': return 'bg-warning-amber/10 text-warning-amber border-warning-amber/20'; default: return 'bg-gray-500/10 text-gray-400 border-gray-500/20'; } }; return (

{championship.name}

{getTypeLabel(championship.type)}
{/* Session Types */} {championship.sessionTypes.length > 0 && (

Scored Sessions

{championship.sessionTypes.map((session, idx) => ( {session} ))}
)} {/* Points Preview */} {championship.pointsPreview.length > 0 && (

Points Distribution

{championship.pointsPreview.slice(0, 6).map((preview, idx) => (
P{preview.position}
{preview.points}
))}
)} {/* Drop Policy */}
Drop Policy

{championship.dropPolicyDescription}

); }