Added vampz and walls stats
This commit is contained in:
@@ -104,7 +104,9 @@ export function PlayerStats(
|
||||
<ClassicStats
|
||||
stats={{
|
||||
arena: stats.ArenaBrawl,
|
||||
paintball: stats.Paintball
|
||||
paintball: stats.Paintball,
|
||||
walls: stats.Walls,
|
||||
vampirez: stats.VampireZ
|
||||
}}
|
||||
/>
|
||||
)
|
||||
|
||||
@@ -5,8 +5,19 @@ import { cn } from "@/lib/utils"
|
||||
import CollapsedStats from "../../_components/CollapsedStats"
|
||||
import ArenaBrawlStats from "./arenabrawl"
|
||||
import PaintballStats from "./paintball"
|
||||
import VampireZStats from "./vampirez"
|
||||
import WallsStats from "./walls"
|
||||
|
||||
export default function ClassicStats({ stats }: { stats: { arena: NonNullStats["ArenaBrawl"], paintball: NonNullStats["Paintball"] } }) {
|
||||
export default function ClassicStats(
|
||||
{ stats }: {
|
||||
stats: {
|
||||
arena: NonNullStats["ArenaBrawl"]
|
||||
paintball: NonNullStats["Paintball"]
|
||||
walls: NonNullStats["Walls"]
|
||||
vampirez: NonNullStats["VampireZ"]
|
||||
}
|
||||
}
|
||||
) {
|
||||
return (
|
||||
<AccordionItem value="classic">
|
||||
<Card className="py-0">
|
||||
@@ -27,6 +38,8 @@ export default function ClassicStats({ stats }: { stats: { arena: NonNullStats["
|
||||
<AccordionContent className="pt-4 space-y-4 mx-auto w-[95%]">
|
||||
<ArenaBrawlStats stats={stats.arena} />
|
||||
<PaintballStats stats={stats.paintball} />
|
||||
<WallsStats stats={stats.walls} />
|
||||
<VampireZStats stats={stats.vampirez} />
|
||||
</AccordionContent>
|
||||
</AccordionItem>
|
||||
)
|
||||
|
||||
@@ -34,3 +34,56 @@ export function PaintballGeneralStats({ stats }: { stats: NonNullable<NonNullSta
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export function WallsGeneralStats({ stats }: { stats: NonNullable<NonNullStats["Walls"]> }) {
|
||||
return (
|
||||
<div>
|
||||
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
|
||||
<p>
|
||||
<br />
|
||||
</p>
|
||||
<BasicStat title="Kills: " value={formatNumber(stats.kills)} />
|
||||
<BasicStat title="Deaths: " value={formatNumber(stats.deaths)} />
|
||||
<BasicStat title="Kill/Death Ratio: " value={formatNumber(devide(stats.kills, stats.deaths))} />
|
||||
<p>
|
||||
<br />
|
||||
</p>
|
||||
<BasicStat title="Wins: " value={formatNumber(stats.wins)} />
|
||||
<BasicStat title="Losses: " value={formatNumber(stats.losses)} />
|
||||
<BasicStat title="Win/Loss Ratio: " value={formatNumber(devide(stats.wins, stats.losses))} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export function VampireZGeneralStats({ stats }: { stats: NonNullable<NonNullStats["VampireZ"]> }) {
|
||||
return (
|
||||
<>
|
||||
<div>
|
||||
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
|
||||
</div>
|
||||
<div className="flex mt-4">
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Wins as Vampire: " value={formatNumber(stats.vampire_wins)} />
|
||||
<p>
|
||||
<br />
|
||||
</p>
|
||||
<BasicStat title="Vampire Kills: " value={formatNumber(stats.vampire_kills)} />
|
||||
<BasicStat title="Vampire Deaths: " value={formatNumber(stats.vampire_deaths)} />
|
||||
<BasicStat title="Vampire Kill/Death Ratio: " value={formatNumber(devide(stats.human_kills, stats.vampire_deaths))} />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Human Wins: " value={formatNumber(stats.human_wins)} />
|
||||
<p>
|
||||
<br />
|
||||
</p>
|
||||
<BasicStat title="Human Kills: " value={formatNumber(stats.human_kills)} />
|
||||
<BasicStat title="Human Deaths: " value={formatNumber(stats.human_deaths)} />
|
||||
<BasicStat title="Human Kill/Death Ratio: " value={formatNumber(devide(stats.vampire_kills, stats.human_deaths))} />
|
||||
</div>
|
||||
<div className="flex-1">
|
||||
<BasicStat title="Zombie Kills: " value={formatNumber(stats.zombie_kills)} />
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
42
src/app/(stats)/player/[ign]/_stats/classic/vampirez.tsx
Normal file
42
src/app/(stats)/player/[ign]/_stats/classic/vampirez.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
import { Separator } from "@/components/ui/separator"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { devide } from "@/lib/hypixel/general"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import GeneralStats from "../GeneralStats"
|
||||
import { VampireZGeneralStats } from "./stats"
|
||||
|
||||
export default function VampireZStats({ stats }: { stats: NonNullStats["VampireZ"] }) {
|
||||
if (!stats) return null
|
||||
|
||||
const vkd = formatNumber(devide(stats.human_kills, stats.vampire_deaths))
|
||||
const hkd = formatNumber(devide(stats.vampire_kills, stats.human_deaths))
|
||||
|
||||
return (
|
||||
<GeneralStats
|
||||
id="classic-vampirez"
|
||||
title="VampireZ"
|
||||
collapsedStats={[
|
||||
{
|
||||
title: <p>Vampire KD</p>,
|
||||
stat: <p className="text-muted-foreground">{vkd}</p>
|
||||
},
|
||||
{
|
||||
title: <p>Human KD</p>,
|
||||
stat: <p className="text-muted-foreground">{hkd}</p>
|
||||
},
|
||||
{
|
||||
title: <p>Vampire Wins</p>,
|
||||
stat: <p className="text-muted-foreground">{formatNumber(stats.vampire_wins)}</p>
|
||||
},
|
||||
{
|
||||
title: <p>Human Wins</p>,
|
||||
stat: <p className="text-muted-foreground">{formatNumber(stats.human_wins)}</p>
|
||||
}
|
||||
]}
|
||||
>
|
||||
<Separator className="my-4" />
|
||||
<VampireZGeneralStats stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
</GeneralStats>
|
||||
)
|
||||
}
|
||||
42
src/app/(stats)/player/[ign]/_stats/classic/walls.tsx
Normal file
42
src/app/(stats)/player/[ign]/_stats/classic/walls.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
import { Separator } from "@/components/ui/separator"
|
||||
import { formatNumber } from "@/lib/formatters"
|
||||
import { devide } from "@/lib/hypixel/general"
|
||||
import { NonNullStats } from "@/lib/schema/player"
|
||||
import GeneralStats from "../GeneralStats"
|
||||
import { WallsGeneralStats } from "./stats"
|
||||
|
||||
export default function WallsStats({ stats }: { stats: NonNullStats["Walls"] }) {
|
||||
if (!stats) return null
|
||||
|
||||
const kd = formatNumber(devide(stats.kills, stats.deaths))
|
||||
const wl = formatNumber(devide(stats.wins, stats.losses))
|
||||
|
||||
return (
|
||||
<GeneralStats
|
||||
id="classic-walls"
|
||||
title="Walls"
|
||||
collapsedStats={[
|
||||
{
|
||||
title: <p>Kills</p>,
|
||||
stat: <p className="text-muted-foreground">{formatNumber(stats.kills)}</p>
|
||||
},
|
||||
{
|
||||
title: <p>KD</p>,
|
||||
stat: <p className="text-muted-foreground">{kd}</p>
|
||||
},
|
||||
{
|
||||
title: <p>Wins</p>,
|
||||
stat: <p className="text-muted-foreground">{formatNumber(stats.wins)}</p>
|
||||
},
|
||||
{
|
||||
title: <p>WL</p>,
|
||||
stat: <p className="text-muted-foreground">{wl}</p>
|
||||
}
|
||||
]}
|
||||
>
|
||||
<Separator className="my-4" />
|
||||
<WallsGeneralStats stats={stats} />
|
||||
<Separator className="my-4" />
|
||||
</GeneralStats>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user