import { Users } from "lucide-react"; import type { UserStat } from "../../../shared/api/client"; import { Badge, Card, CardContent, CardDescription, CardHeader, CardTitle, ScrollArea, } from "../../../shared/ui"; interface UserTableProps { users: UserStat[]; loading: boolean; } export function UserTable({ users, loading }: UserTableProps) { if (loading && !users?.length) { return ; } if (!users?.length) { return ( Belum ada aktivitas user. ); } const maxMsgs = Math.max(...users.map((u) => u.message_count), 1); const medals = ["🥇", "🥈", "🥉"]; return ( User Paling Aktif Leaderboard berdasarkan jumlah pesan. {users.map((user, i) => ( ))}
# User Pesan Edit Flag
{medals[i] ?? i + 1}
{user.avatar_url ? ( ) : (
{user.username.charAt(0).toUpperCase()}
)} {user.username}
{user.message_count}
{user.edited_count > 0 ? user.edited_count : "—"} {user.flagged_count > 0 ? ( {user.flagged_count} ) : ( — )}
); } function LoadingBox() { return ( Memuat data... ); }