This commit is contained in:
2025-09-08 20:58:46 +02:00
parent f5a5a989d3
commit 0ceda994ee
31 changed files with 111 additions and 98 deletions

View File

@@ -2,7 +2,7 @@ import { AccordionContent, AccordionItem, AccordionTrigger } from "@/components/
import { Card, CardContent } from "@/components/ui/card"
import { Separator } from "@/components/ui/separator"
import { formatNumber } from "@/lib/formatters"
import { getBWLevelForExp, getTotalExpForLevel } from "@/lib/hypixel/bedwars/level"
import { getBedwarsLevelForExp, getTotalBedwarsExpForLevel } from "@/lib/hypixel/bedwars/level"
import { devide, getProgress } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import CollapsedStats from "../../_components/CollapsedStats"
@@ -17,10 +17,10 @@ export default function BedwarsStats({ stats }: { stats: NonNullStats["Bedwars"]
const fkd = formatNumber(devide(stats.final_kills_bedwars, stats.final_deaths_bedwars))
const wl = formatNumber(devide(stats.wins_bedwars, stats.losses_bedwars))
const bbl = formatNumber(devide(stats.beds_broken_bedwars, stats.beds_lost_bedwars))
const level = getBWLevelForExp(stats.Experience)
const level = getBedwarsLevelForExp(stats.Experience)
const current = getTotalExpForLevel(level)
const next = getTotalExpForLevel(level + 1)
const current = getTotalBedwarsExpForLevel(level)
const next = getTotalBedwarsExpForLevel(level + 1)
const percent = getProgress(current, stats.Experience, next)
const xpProgress = stats.Experience - current

View File

@@ -1,13 +1,13 @@
import { formatNumber } from "@/lib/formatters"
import { getBedwarsStar, getPrestige } from "@/lib/hypixel/bedwars/bedwars"
import { getBWLevelForExp } from "@/lib/hypixel/bedwars/level"
import { getBedwarsPrestige, getBedwarsStar } from "@/lib/hypixel/bedwars/bedwars"
import { getBedwarsLevelForExp } from "@/lib/hypixel/bedwars/level"
import { cn } from "@/lib/utils"
import { GenericProgress } from "../../_components/GenericProgress"
import Multicolored from "../../_components/Multicolored"
export function BedwarsLevel({ xp }: { xp: number }) {
const level = getBWLevelForExp(xp)
const color = getPrestige(level).colormap
const level = getBedwarsLevelForExp(xp)
const color = getBedwarsPrestige(level).colormap
const star = getBedwarsStar(level)
const val = `[${level}${star}]`
@@ -30,7 +30,7 @@ export function BedwarsProgress({ level, percent, currentXp, ceilingXp }: { leve
}
export function BedWarsPrestige({ level }: { level: number }) {
const pres = getPrestige(level)
const pres = getBedwarsPrestige(level)
const star = getBedwarsStar(level)
if (level >= 1000 && level < 1100) {
return (
@@ -69,7 +69,7 @@ function LevelNumber({ level, className }: { level: number, className?: string }
)
}
return <p className={cn(`text-mc-${getPrestige(level).color}`, className)}>{level}</p>
return <p className={cn(`text-mc-${getBedwarsPrestige(level).color}`, className)}>{level}</p>
}
function Progress({ level, percent, tooltipId, tooltipContent }: { level: number, percent: number, tooltipId: string, tooltipContent: string }) {
@@ -77,5 +77,12 @@ function Progress({ level, percent, tooltipId, tooltipContent }: { level: number
return <GenericProgress percent={percent} rainbow={true} tooltipId={tooltipId} tooltipContent={tooltipContent} />
}
return <GenericProgress percent={percent} className={`bg-mc-${getPrestige(level).color}`} tooltipId={tooltipId} tooltipContent={tooltipContent} />
return (
<GenericProgress
percent={percent}
className={`bg-mc-${getBedwarsPrestige(level).color}`}
tooltipId={tooltipId}
tooltipContent={tooltipContent}
/>
)
}

View File

@@ -1,5 +1,5 @@
import { formatNumber } from "@/lib/formatters"
import { getLatestRoom, getWalletMax } from "@/lib/hypixel/bedwars/bedwars"
import { getBedwarsLatestRoom, getBedwarsWalletMax } from "@/lib/hypixel/bedwars/bedwars"
import { NonNullStats } from "@/lib/schema/player"
import { BasicStat, Stat } from "../../_components/Stats"
import { BedWarsPrestige } from "./components"
@@ -55,7 +55,7 @@ export default function BedwarsGeneralStats(
{stats.slumber?.tickets === undefined ? "None" : formatNumber(stats.slumber.tickets)}
</span>
<span className="text-muted-foreground">
{`/${formatNumber(getWalletMax(stats.slumber?.bag_type))}`}
{`/${formatNumber(getBedwarsWalletMax(stats.slumber?.bag_type))}`}
</span>
</Stat>
<BasicStat
@@ -63,7 +63,7 @@ export default function BedwarsGeneralStats(
value={formatNumber(stats.slumber?.total_tickets_earned ?? 0)}
className="text-mc-aqua"
/>
<BasicStat title="Doors Unlocked: " value={getLatestRoom(stats.slumber?.room) ?? "None"} />
<BasicStat title="Doors Unlocked: " value={getBedwarsLatestRoom(stats.slumber?.room) ?? "None"} />
<BasicStat title="XP Doublers: " value={formatNumber(stats.slumber?.doublers ?? 0)} className="text-mc-dark-aqua" />
<p>
<br />