UPdated mode stats types
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { _BedwarsStats, concatBedwarsStats, getBedwarsModeStats, getBestMode } from "@/lib/hypixel/bedwars/bedwars"
|
||||
import { concatBedwarsStats, getBedwarsModeStats, getBestMode } from "@/lib/hypixel/bedwars/bedwars"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
@@ -77,18 +77,16 @@ const ROWS: RowConfig[] = [
|
||||
]
|
||||
|
||||
function StatRow({ cfg, stats }: { cfg: RowConfig, stats: NonNullable<NonNullStats["Bedwars"]> }) {
|
||||
const bedwars = stats as _BedwarsStats
|
||||
|
||||
let values: (number | string)[] = []
|
||||
|
||||
if (cfg.key) {
|
||||
values = getBedwarsModeStats(cfg.key, bedwars) as (number | string)[]
|
||||
values = getBedwarsModeStats(cfg.key, stats) as (number | string)[]
|
||||
} else if (cfg.aggregateOf) {
|
||||
const rawArrays = cfg.aggregateOf.map(k => getBedwarsModeStats(k, bedwars, true))
|
||||
const rawArrays = cfg.aggregateOf.map(k => getBedwarsModeStats(k, stats, true))
|
||||
values = concatBedwarsStats(...rawArrays)
|
||||
}
|
||||
|
||||
const isBest = cfg.highlightBest && cfg.key && getBestMode(bedwars) === cfg.key
|
||||
const isBest = cfg.highlightBest && cfg.key && getBestMode(stats) === cfg.key
|
||||
|
||||
const className = cn(
|
||||
cfg.bold && "font-bold",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { _SkywarsStats, concatSkywarsStats, getBestSkywarsMode, getSkywarsModeStats } from "@/lib/hypixel/skywars/skywars"
|
||||
import { concatSkywarsStats, getBestSkywarsMode, getSkywarsModeStats } from "@/lib/hypixel/skywars/skywars"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
@@ -44,9 +44,9 @@ function SkywarsTableHeader() {
|
||||
)
|
||||
}
|
||||
|
||||
function Normal({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("normal", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "normal"
|
||||
function Normal({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("normal", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "normal"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -58,9 +58,9 @@ function Normal({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function Insane({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("insane", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "insane"
|
||||
function Insane({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("insane", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "insane"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -72,9 +72,9 @@ function Insane({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function TeamsNormal({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("teams_normal", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "teams_normal"
|
||||
function TeamsNormal({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("teams_normal", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "teams_normal"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -86,9 +86,9 @@ function TeamsNormal({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function TeamsInsane({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("teams_insane", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "teams_insane"
|
||||
function TeamsInsane({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("teams_insane", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "teams_insane"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -100,9 +100,9 @@ function TeamsInsane({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function Mega({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("mega", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "mega"
|
||||
function Mega({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("mega", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "mega"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -114,9 +114,9 @@ function Mega({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function MegaDoubles({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("mega_doubles", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "mega_doubles"
|
||||
function MegaDoubles({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("mega_doubles", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "mega_doubles"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -128,9 +128,9 @@ function MegaDoubles({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
)
|
||||
}
|
||||
|
||||
function Ranked({ stats }: { stats: NonNullStats["SkyWars"] }) {
|
||||
const modeStats = getSkywarsModeStats("ranked", stats as _SkywarsStats)
|
||||
const isBest = getBestSkywarsMode(stats as _SkywarsStats) === "ranked"
|
||||
function Ranked({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const modeStats = getSkywarsModeStats("ranked", stats)
|
||||
const isBest = getBestSkywarsMode(stats) === "ranked"
|
||||
|
||||
return (
|
||||
<TableRow className={cn(isBest ? "font-bold text-mc-light-purple" : undefined)}>
|
||||
@@ -142,14 +142,14 @@ 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)
|
||||
function OverallModeStats({ stats }: { stats: NonNullable<NonNullStats["SkyWars"]> }) {
|
||||
const normal = getSkywarsModeStats("normal", stats, true)
|
||||
const insane = getSkywarsModeStats("insane", stats, true)
|
||||
const teams_normal = getSkywarsModeStats("teams_normal", stats, true)
|
||||
const teams_insane = getSkywarsModeStats("teams_insane", stats, true)
|
||||
const mega = getSkywarsModeStats("mega", stats, true)
|
||||
const mega_doubles = getSkywarsModeStats("mega_doubles", stats, true)
|
||||
const ranked = getSkywarsModeStats("ranked", stats, true)
|
||||
|
||||
const combinedStats = concatSkywarsStats(normal, insane, teams_normal, teams_insane, mega, mega_doubles, ranked)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user