import { RatingFormatter } from '@/lib/formatters/RatingFormatter'; import { SkillLevelFormatter } from '@/lib/formatters/SkillLevelFormatter'; import { Avatar } from '@/ui/Avatar'; import { Group } from '@/ui/Group'; import { LeaderboardRow } from '@/ui/LeaderboardRow'; import { Text } from '@/ui/Text'; import { DeltaChip } from './DeltaChip'; import { RankBadge } from './RankBadge'; interface RankingRowProps { id: string; rank: number; rankDelta?: number; name: string; avatarUrl: string; nationality: string; skillLevel: string; racesCompleted: number; rating: number; wins: number; onClick?: () => void; droppedRaceIds?: string[]; } export function RankingRow({ id, rank, rankDelta, name, avatarUrl, nationality, skillLevel, racesCompleted, rating, wins, onClick, droppedRaceIds, }: RankingRowProps) { return ( {rankDelta !== undefined && ( )} } identity={ {name} {nationality} {SkillLevelFormatter.getLabel(skillLevel)} } stats={ {racesCompleted} Races {RatingFormatter.format(rating)} Rating {wins} Wins {droppedRaceIds && droppedRaceIds.length > 0 && ( {droppedRaceIds.length} Dropped )} } /> ); }