import React from 'react' import LevelBadge from '../xp/LevelBadge' const PODIUM_STYLES = { 1: 'border-yellow-300/40 bg-[linear-gradient(180deg,rgba(250,204,21,0.18),rgba(15,23,42,0.84))]', 2: 'border-slate-300/30 bg-[linear-gradient(180deg,rgba(226,232,240,0.16),rgba(15,23,42,0.84))]', 3: 'border-amber-700/40 bg-[linear-gradient(180deg,rgba(180,83,9,0.22),rgba(15,23,42,0.84))]', } function cx(...parts) { return parts.filter(Boolean).join(' ') } function formatScore(score) { return new Intl.NumberFormat().format(Math.round(Number(score || 0))) } export default function LeaderboardItem({ item, type, highlight = false }) { const entity = item?.entity || {} const rank = Number(item?.rank || 0) const tone = highlight ? PODIUM_STYLES[rank] || PODIUM_STYLES[3] : 'border-white/10 bg-white/[0.03]' const image = entity.avatar || entity.image || null return (
#{rank}
{entity.name || 'Unknown'} {entity.creator_name ? ( by {entity.creator_name} ) : null} {entity.username ?

@{entity.username}

: null}

Score

{formatScore(item?.score)}

{type === 'creator' ? : null} {type !== 'creator' && entity.creator_name ? ( {type} ) : null}
{image ? ( {entity.name ) : null}
) }