Finished uhc genereal stats
This commit is contained in:
33
src/app/(stats)/player/[ign]/_stats/uhc/stats.tsx
Normal file
33
src/app/(stats)/player/[ign]/_stats/uhc/stats.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { devide } from "@/lib/hypixel/general"
|
||||
import { getUhcStar } from "@/lib/hypixel/uhc/level"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import { BasicStat } from "../../_components/Stats"
|
||||
|
||||
export default function UHCGeneralStats(
|
||||
{ stats, kills, deaths, wins, heads }: { stats: NonNullable<NonNullStats["UHC"]>, kills: number, deaths: number, wins: number, heads: number }
|
||||
) {
|
||||
const rank = getUhcStar(stats.score)
|
||||
const kd = formatNumber(devide(kills, deaths))
|
||||
const kw = formatNumber(devide(kills, wins))
|
||||
return (
|
||||
<div className="flex">
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Score: " value={formatNumber(stats.score)} />
|
||||
<BasicStat title="Title: " value={rank.name} className={`font-bold text-mc-${rank.color}`} />
|
||||
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Kills: " value={formatNumber(kills)} />
|
||||
<BasicStat title="Deaths: " value={formatNumber(deaths)} />
|
||||
<BasicStat title="Kill/Death Ratio: " value={kd} />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Wins: " value={formatNumber(wins)} />
|
||||
<BasicStat title="Kill/Win Ratio: " value={kw} />
|
||||
<BasicStat title="Heads Eaten: " value={formatNumber(heads)} />
|
||||
<BasicStat title="Ultimates Crafted: " value={formatNumber(stats.ultimates_crafted + stats.ultimates_crafted_solo)} />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -3,15 +3,18 @@ import { Card, CardContent } from "@/components/ui/card"
|
||||
import { Separator } from "@/components/ui/separator"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { devide } from "@/lib/hypixel/general"
|
||||
import { getStatsCombined } from "@/lib/hypixel/uhc/general"
|
||||
import { getUhcStarValue } from "@/lib/hypixel/uhc/level"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import CollapsedStats from "../../_components/CollapsedStats"
|
||||
import UHCProgress from "./progress"
|
||||
import UHCGeneralStats from "./stats"
|
||||
|
||||
export default function UHCStats({ stats }: { stats: NonNullStats["UHC"] }) {
|
||||
if (!stats) return null
|
||||
|
||||
const kd = formatNumber(devide(stats.kills, stats.deaths))
|
||||
const combined = getStatsCombined(stats)
|
||||
const kd = formatNumber(devide(combined.kills, combined.deaths))
|
||||
const star = getUhcStarValue(stats.score)
|
||||
|
||||
return (
|
||||
@@ -33,7 +36,7 @@ export default function UHCStats({ stats }: { stats: NonNullStats["UHC"] }) {
|
||||
},
|
||||
{
|
||||
title: <p>Wins</p>,
|
||||
stat: <p className="text-muted-foreground">{formatNumber(stats.wins)}</p>
|
||||
stat: <p className="text-muted-foreground">{formatNumber(combined.wins)}</p>
|
||||
}
|
||||
]}
|
||||
/>
|
||||
@@ -42,6 +45,8 @@ export default function UHCStats({ stats }: { stats: NonNullStats["UHC"] }) {
|
||||
<AccordionContent>
|
||||
<Separator className="my-4" />
|
||||
<UHCProgress score={stats.score} />
|
||||
<Separator className="my-4" />
|
||||
<UHCGeneralStats stats={stats} kills={combined.kills} deaths={combined.deaths} heads={combined.heads} wins={combined.wins} />
|
||||
</AccordionContent>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
Reference in New Issue
Block a user