Finished megawalls general stats

This commit is contained in:
2025-09-07 18:09:14 +02:00
parent 33d02113da
commit aa552a9142
3 changed files with 52 additions and 0 deletions

View File

@@ -7,6 +7,7 @@ import { getDifficultyColor, getMostPlayed } from "@/lib/hypixel/megawalls/gener
import { NonNullStats } from "@/lib/schema/player" import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils" import { cn } from "@/lib/utils"
import CollapsedStats from "../../_components/CollapsedStats" import CollapsedStats from "../../_components/CollapsedStats"
import MegaWallsGeneralStats from "./stats"
export default function MegaWallsStats({ stats }: { stats: NonNullStats["MegaWalls"] }) { export default function MegaWallsStats({ stats }: { stats: NonNullStats["MegaWalls"] }) {
if (!stats) return null if (!stats) return null
@@ -56,6 +57,8 @@ export default function MegaWallsStats({ stats }: { stats: NonNullStats["MegaWal
</AccordionTrigger> </AccordionTrigger>
<AccordionContent> <AccordionContent>
<Separator className="my-4" /> <Separator className="my-4" />
<MegaWallsGeneralStats stats={stats} />
<Separator className="my-4" />
</AccordionContent> </AccordionContent>
</CardContent> </CardContent>
</Card> </Card>

View File

@@ -0,0 +1,42 @@
import { formatNumber } from "@/lib/formatters"
import { devide } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat } from "../../_components/Stats"
export default function MegaWallsGeneralStats({ stats }: { stats: NonNullable<NonNullStats["MegaWalls"]> }) {
const wl = formatNumber(devide(stats.wins, stats.losses))
const kd = formatNumber(devide(stats.kills, stats.losses))
const fkd = formatNumber(devide(stats.final_kills, stats.final_deaths))
return (
<div className="flex">
<div className="flex-1">
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
<BasicStat title="Wither Damage Dealt: " value={formatNumber(stats.wither_damage + stats.witherDamage)} />
<p>
<br />
</p>
<p>
<br />
</p>
<BasicStat title="Wins: " value={formatNumber(stats.wins)} />
<BasicStat title="Practice Wins: " value={formatNumber(stats.wins_practice)} />
<BasicStat title="Losses: " value={formatNumber(stats.losses)} />
<BasicStat title="Practice Losses: " value={formatNumber(stats.losses_practice)} />
<BasicStat title="Win/Loss Ratio: " value={wl} />
</div>
<div className="flex-1">
<BasicStat title="Kills: " value={formatNumber(stats.kills)} />
<BasicStat title="Assits: " value={formatNumber(stats.assists)} />
<BasicStat title="Deaths: " value={formatNumber(stats.deaths)} />
<BasicStat title="Kill/Death Ratio: " value={kd} />
<p>
<br />
</p>
<BasicStat title="Final Kills: " value={formatNumber(stats.final_kills)} />
<BasicStat title="Final Assits: " value={formatNumber(stats.final_assists)} />
<BasicStat title="Final Deaths: " value={formatNumber(stats.final_deaths)} />
<BasicStat title="Final Kill/Death Ratio: " value={fkd} />
</div>
</div>
)
}

View File

@@ -603,10 +603,17 @@ function megawallsModeStats() {
export const megawallsStats = z.looseObject({ export const megawallsStats = z.looseObject({
kills: z.number().default(0), kills: z.number().default(0),
assists: z.number().default(0),
deaths: z.number().default(0), deaths: z.number().default(0),
wins: z.number().default(0), wins: z.number().default(0),
wins_practice: z.number().default(0),
losses: z.number().default(0), losses: z.number().default(0),
losses_practice: z.number().default(0),
final_kills: z.number().default(0), final_kills: z.number().default(0),
final_assists: z.number().default(0),
final_deaths: z.number().default(0), final_deaths: z.number().default(0),
coins: z.number().default(0),
wither_damage: z.number().default(0),
witherDamage: z.number().default(0),
...megawallsModeStats() ...megawallsModeStats()
}) })