Finished megawalls general stats
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
42
src/app/(stats)/player/[ign]/_stats/megawalls/stats.tsx
Normal file
42
src/app/(stats)/player/[ign]/_stats/megawalls/stats.tsx
Normal 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>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -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()
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user