'use client'; import { LeagueRulesPanel } from '@/components/leagues/LeagueRulesPanel'; import type { RulebookViewData } from '@/lib/view-data/leagues/RulebookViewData'; import { Box } from '@/ui/primitives/Box'; import { Text } from '@/ui/Text'; interface RulebookTemplateProps { viewData: RulebookViewData; } export function RulebookTemplate({ viewData }: RulebookTemplateProps) { const rules = [ { id: 'points', title: 'Points System', content: `Points are awarded to the top ${viewData.positionPoints.length} finishers. 1st place receives ${viewData.positionPoints[0]?.points || 0} points.` }, { id: 'drops', title: 'Drop Policy', content: viewData.hasActiveDropPolicy ? viewData.dropPolicySummary : 'No drop races are active for this season.' }, { id: 'platform', title: 'Platform & Sessions', content: `Racing on ${viewData.gameName}. Sessions scored: ${viewData.sessionTypes}.` } ]; if (viewData.hasBonusPoints) { rules.push({ id: 'bonus', title: 'Bonus Points', content: viewData.bonusPoints.join('. ') }); } return ( Rulebook {viewData.scoringPresetName || 'Custom Rules'} Official rules and regulations for this championship. Points Classification Position Points {viewData.positionPoints.map((point) => ( {point.position} {point.points} ))} ); }