diff --git a/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx b/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx index 3479419..8ca503d 100644 --- a/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx +++ b/src/app/(stats)/player/[ign]/_stats/skywars/skywars.tsx @@ -88,6 +88,7 @@ export default function SkyWarsStats({ stats }: { stats: NonNullStats["SkyWars"] + diff --git a/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx b/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx index 2e33a51..1b80a3f 100644 --- a/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx +++ b/src/app/(stats)/player/[ign]/_stats/skywars/table.tsx @@ -1,5 +1,6 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { formatNumber } from "@/lib/formatters" +import { concatSkywarsStats } from "@/lib/funcs" import { _SkywarsStats, getBestMode, getSkywarsModeStats } from "@/lib/hypixel/skywars" import { NonNullStats } from "@/lib/schema/player" import { cn } from "@/lib/utils" @@ -16,6 +17,7 @@ export default function SkywarsStatTable({ stats }: { stats: NonNullStats["SkyWa + ) @@ -141,23 +143,23 @@ function Ranked({ stats }: { stats: NonNullStats["SkyWars"] }) { ) } -// function OverallModeStats({ stats }: { stats: NonNullStats["SkyWars"] }) { -// const normal = getSkywarsModeStats("normal", stats as _SkywarsStats, true) -// const insane = getSkywarsModeStats("insane", stats as _SkywarsStats, true) -// const teams_normal = getSkywarsModeStats("teams_normal", stats as _SkywarsStats, true) -// const teams_insane = getSkywarsModeStats("teams_insane", stats as _SkywarsStats, true) -// const mega = getSkywarsModeStats("mega", stats as _SkywarsStats, true) -// const mega_doubles = getSkywarsModeStats("mega_doubles", stats as _SkywarsStats, true) -// const ranked = getSkywarsModeStats("ranked", stats as _SkywarsStats, true) -// -// const combinedStats = concatStatArrays(soloStats, doublesStats, threesStats, foursStats) -// -// return ( -// -// Core Modes -// {combinedStats.map((v, i) => { -// return {typeof v === "number" ? formatNumber(v) : v} -// })} -// -// ) -// } +function OverallModeStats({ stats }: { stats: NonNullStats["SkyWars"] }) { + const normal = getSkywarsModeStats("normal", stats as _SkywarsStats, true) + const insane = getSkywarsModeStats("insane", stats as _SkywarsStats, true) + const teams_normal = getSkywarsModeStats("teams_normal", stats as _SkywarsStats, true) + const teams_insane = getSkywarsModeStats("teams_insane", stats as _SkywarsStats, true) + const mega = getSkywarsModeStats("mega", stats as _SkywarsStats, true) + const mega_doubles = getSkywarsModeStats("mega_doubles", stats as _SkywarsStats, true) + const ranked = getSkywarsModeStats("ranked", stats as _SkywarsStats, true) + + const combinedStats = concatSkywarsStats(normal, insane, teams_normal, teams_insane, mega, mega_doubles, ranked) + + return ( + + Core Modes + {combinedStats.map((v, i) => { + return {typeof v === "number" ? formatNumber(v) : v} + })} + + ) +} diff --git a/src/lib/funcs.ts b/src/lib/funcs.ts index b722d45..28ec0dd 100644 --- a/src/lib/funcs.ts +++ b/src/lib/funcs.ts @@ -1,5 +1,25 @@ import { BedwarsModeStats } from "./hypixel/bedwars" import { devide } from "./hypixel/general" +import { SkywarsModeStats } from "./hypixel/skywars" + +export function concatSkywarsStats(...stats: SkywarsModeStats[]) { + const summed = concatStatsArray(["kills", "deaths", "wins", "losses"], ...stats) + + const ret = { + ...summed, + kd: devide(summed.kills, summed.deaths), + wl: devide(summed.wins, summed.losses) + } + + return [ + ret.kills, + ret.deaths, + ret.kd, + ret.wins, + ret.losses, + ret.wl + ] +} export function concatBedwarsStats(...stats: BedwarsModeStats[]) { if (stats.length === 0) return [] @@ -15,7 +35,6 @@ export function concatBedwarsStats(...stats: BedwarsModeStats[]) { "beds_lost_bedwars" ], ...stats) - // winstreak special handling (max of provided, ignore -1) let winstreak = -1 for (const s of stats) { if (s.winstreak !== -1) winstreak = Math.max(winstreak, s.winstreak)