import { useAtomValue } from "jotai"; import { rankingAtom } from "../../states/watch"; import type { SupportedLanguage } from "../../types/SupportedLanguage"; import CodePopover from "./CodePopover"; import DataTable, { DataTableCell, formatUnixTimestamp } from "./DataTable"; type Props = { problemLanguage: SupportedLanguage; }; export default function RankingTable({ problemLanguage }: Props) { const ranking = useAtomValue(rankingAtom); const showCode = ranking.some((entry) => entry.code != null); return ( {ranking.map((entry, index) => ( {index + 1} {entry.player.display_name} {entry.player.label && ` (${entry.player.label})`} {entry.score} {formatUnixTimestamp(entry.submitted_at)} {showCode && ( {entry.code && ( )} )} ))} ); }