import { RatingDisplay } from '@/lib/display-objects/RatingDisplay'; import { Avatar } from '@/ui/Avatar'; import { Group } from '@/ui/Group'; import { Text } from '@/ui/Text'; import { DeltaChip } from './DeltaChip'; import { RankBadge } from './RankBadge'; import { LeaderboardRow } from '@/ui/LeaderboardRow'; import { SkillLevelDisplay } from '@/lib/display-objects/SkillLevelDisplay'; import React from 'react'; 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({ rank, rankDelta, name, avatarUrl, nationality, skillLevel, racesCompleted, rating, wins, onClick, droppedRaceIds, }: RankingRowProps) { return ( {rankDelta !== undefined && ( )} } identity={ {name} {nationality} {SkillLevelDisplay.getLabel(skillLevel)} } stats={ {racesCompleted} Races {RatingDisplay.format(rating)} Rating {wins} Wins {droppedRaceIds && droppedRaceIds.length > 0 && ( {droppedRaceIds.length} Dropped )} } /> ); }