import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { formatNumber } from "@/lib/formatters" import { _BedwarsStats, getBedwarsModeStats } from "@/lib/hypixel/bedwars" import { Player } from "@/lib/schema/player" export default function BedwarsStatTable({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { return (
) } function BedwarsTableHeader() { const headerElements = [ "Mode", "Kills", "Deaths", "KD", "Kills", "Deaths", "KD", "Wins", "Losses", "WL", "WS", "BB", "BL", "BBL" ] return ( Normal Finals {headerElements.map((v, i) => { return {v} })} ) } function SoloStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("solo", stats as _BedwarsStats) if (!modeStats) return null return ( Solo {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function DoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("doubles", stats as _BedwarsStats) if (!modeStats) return null return ( Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function ThreesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("3s", stats as _BedwarsStats) if (!modeStats) return null return ( 3v3v3v3 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function FoursStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("4s", stats as _BedwarsStats) if (!modeStats) return null return ( 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function CoreModeStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const soloStats = getBedwarsModeStats("solo", stats as _BedwarsStats, true) const doublesStats = getBedwarsModeStats("doubles", stats as _BedwarsStats, true) const threesStats = getBedwarsModeStats("3s", stats as _BedwarsStats, true) const foursStats = getBedwarsModeStats("4s", stats as _BedwarsStats, true) const fraction = [2, 5, 8] const combinedStats = soloStats.map((v, i) => { if (v < 0) return "?" if (fraction.includes(i) || i === soloStats.length - 1) { return ((v + doublesStats[i] + threesStats[i] + foursStats[i]) / 4).toFixed(2) } return v + doublesStats[i] + threesStats[i] + foursStats[i] }) return ( Core Modes {combinedStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function FourVFourStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("4v4", stats as _BedwarsStats) if (!modeStats) return null return ( 4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function RushDoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("rush_2s", stats as _BedwarsStats) if (!modeStats) return null return ( Rush Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Rush4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("rush_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Rush 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function UltimateDoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("ultimate_2s", stats as _BedwarsStats) if (!modeStats) return null return ( Ultimate Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Ultimate4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("ultimate_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Ultimate 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function LuckyDoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("lucky_2s", stats as _BedwarsStats) if (!modeStats) return null return ( Lucky Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Lucky4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("lucky_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Lucky 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function VoidlessDoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("voidless_2s", stats as _BedwarsStats) if (!modeStats) return null return ( Voidless Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Voidless4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("voidless_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Voidless 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function ArmedDoublesStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("armed_2s", stats as _BedwarsStats) if (!modeStats) return null return ( Armed Doubles {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Armed4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("armed_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Armed 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Swap4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("swap_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Swap 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function Underworld4sStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("underworld_4s", stats as _BedwarsStats) if (!modeStats) return null return ( Underworld 4v4v4v4 {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) } function CastleStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) { const modeStats = getBedwarsModeStats("castle", stats as _BedwarsStats) if (!modeStats) return null return ( Castle {modeStats.map((v, i) => { return {typeof v === "number" ? formatNumber(v) : v} })} ) }