Updated bw stats

This commit is contained in:
2025-08-20 12:54:49 +02:00
parent 5fc4b97646
commit a4bf768c83
7 changed files with 249 additions and 94 deletions

View File

@@ -2,7 +2,6 @@
import { Card, CardContent } from "@/components/ui/card"
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"
import { formatNumber } from "@/lib/formatters"
import { getBWLevelForExp, getTotalExpForLevel } from "@/lib/hypixel/bedwarsLevel"
import { getProgress } from "@/lib/hypixel/general"
import { Player } from "@/lib/schema/player"
@@ -10,7 +9,8 @@ import { Separator } from "@radix-ui/react-separator"
import { ChevronDown, ChevronUp, Menu } from "lucide-react"
import { useEffect, useRef, useState } from "react"
import CollapsedStats from "../../_components/CollapsedStats"
import { BedwarsLevel, BedWarsPrestige, BedwarsProgress } from "./bedwars-components"
import { BedwarsLevel, BedwarsProgress } from "./bedwars-components"
import BedwarsGeneralStats from "./stats"
export default function BedwarsStats({ stats }: { stats: Player["player"]["stats"]["Bedwars"] }) {
const ref = useRef<HTMLDivElement>(null)
@@ -65,23 +65,23 @@ export default function BedwarsStats({ stats }: { stats: Player["player"]["stats
},
{
title: <p>WS</p>,
stat: <p>{stats.winstreak ?? "?"}</p>
stat: <p className="text-muted-foreground">{stats.winstreak ?? "?"}</p>
},
{
title: <p>KD</p>,
stat: <p>{kd}</p>
stat: <p className="text-muted-foreground">{kd}</p>
},
{
title: <p>FKD</p>,
stat: <p>{fkd}</p>
stat: <p className="text-muted-foreground">{fkd}</p>
},
{
title: <p>WL</p>,
stat: <p>{wl}</p>
stat: <p className="text-muted-foreground">{wl}</p>
},
{
title: <p>BBL</p>,
stat: <p>{bbl}</p>
stat: <p className="text-muted-foreground">{bbl}</p>
}
]}
/>
@@ -96,91 +96,7 @@ export default function BedwarsStats({ stats }: { stats: Player["player"]["stats
<CollapsibleContent>
<Separator className="my-4" />
<BedwarsProgress level={level} percent={percent} />
<div className="flex">
<div className="flex flex-col flex-1 gap-4">
<div>
<p>
<span className="font-bold">{"Level: "}</span>
<span>{`${level}.${percent.toFixed(0)}`}</span>
</p>
<p>
<span className="font-bold">{"Prestige: "}</span>
<BedWarsPrestige level={level} />
</p>
<p>
<span className="font-bold">{"Tokens: "}</span>
<span className="text-mc-dark-green">{formatNumber(stats.coins)}</span>
</p>
</div>
<div>
<p>
<span className="font-bold">{"Kills: "}</span>
<span>{formatNumber(stats.kills_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Deaths: "}</span>
<span>{formatNumber(stats.deaths_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Kill/Death Ratio: "}</span>
<span>{kd}</span>
</p>
<p>
<span className="font-bold">{"Final Kills: "}</span>
<span>{formatNumber(stats.final_kills_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Final Deaths: "}</span>
<span>{formatNumber(stats.final_deaths_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Final Kill/Death Ratio: "}</span>
<span>{fkd}</span>
</p>
</div>
</div>
<div className="flex flex-col flex-1 gap-4">
<div>
<p>
<span className="font-bold">{"Winstreak: "}</span>
<span>{stats.winstreak ?? "?"}</span>
</p>
<p>
<span className="font-bold">{"Wins: "}</span>
<span>{formatNumber(stats.wins_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Losses: "}</span>
<span>{formatNumber(stats.losses_bedwars)}</span>
</p>
<p>
<span className="font-bold">{"Win/Loss Ratio: "}</span>
<span>{wl}</span>
</p>
</div>
<div>
<p>
<span className="font-bold">{"Beds Broken: "}</span>
<span>{stats.beds_broken_bedwars}</span>
</p>
<p>
<span className="font-bold">{"Beds Lost: "}</span>
<span>{stats.beds_lost_bedwars}</span>
</p>
<p>
<span className="font-bold">{"Beds Broken/Lost: "}</span>
<span>{bbl}</span>
</p>
</div>
<div>
<p>
<span className="font-bold">{"Total Challenges Completed: "}</span>
<span>{stats.total_challenges_completed}</span>
</p>
</div>
</div>
<div className="flex-1"></div>
</div>
<BedwarsGeneralStats statsChecked={stats} level={level} percent={percent} bbl={bbl} kd={kd} fkd={fkd} wl={wl} />
</CollapsibleContent>
</Collapsible>
</CardContent>