/** * Reusable component for displaying actual / projected points in a stacked format. * Used in standings tables and anywhere else points need to be shown with projections. */ interface PointsDisplayProps { actualPoints: number | null | undefined; projectedPoints: number | null | undefined; totalPoints: number; participantsRemaining?: number; } export function PointsDisplay({ actualPoints, projectedPoints, totalPoints, participantsRemaining, }: PointsDisplayProps) { const displayed = actualPoints !== null && actualPoints !== undefined ? actualPoints : totalPoints; const hasProjection = projectedPoints !== null && projectedPoints !== undefined && participantsRemaining !== undefined && participantsRemaining > 0; if (!hasProjection) { return {displayed.toFixed(2)}; } return (
{displayed.toFixed(2)} {projectedPoints?.toFixed(2)} proj
); }