Updated tkr stats

This commit is contained in:
2025-09-24 00:13:02 +02:00
parent c3351e8268
commit 175cd13870
6 changed files with 187 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ import { formatNumber } from "@/lib/formatters"
import { NonNullStats } from "@/lib/schema/player"
import { EmptyStats, GeneralStats } from "../stats-components"
import { TkrGeneralStats } from "./stats"
import TkrKart from "./tkrkart"
export default function TkrStats({ stats }: { stats: NonNullStats["TurboKartRacers"] }) {
if (!stats) return <EmptyStats title="Turbo Kart Racers" />
@@ -29,6 +30,8 @@ export default function TkrStats({ stats }: { stats: NonNullStats["TurboKartRace
<Separator className="my-4" />
<TkrGeneralStats stats={stats} />
<Separator className="my-4" />
<TkrKart stats={stats} />
<Separator className="my-4" />
</GeneralStats>
)
}

View File

@@ -0,0 +1,64 @@
import { getTkrKart } from "@/lib/hypixel/classic/general"
import { NonNullStats } from "@/lib/schema/player"
import { cn } from "@/lib/utils"
export default function TkrKart({ stats }: { stats: NonNullable<NonNullStats["TurboKartRacers"]> }) {
const { engine, frame, turbocharger } = getTkrKart(stats.engine_active, stats.frame_active, stats.booster_active)
return (
<div>
<h2 className="text-xl font-bold">Current Kart</h2>
<div className="flex gap-4 mt-4">
{engine !== null ?
(
<div className="flex-1">
<p className={cn("mb-2 font-bold", `text-mc-${engine.color}`)}>{`${engine.name} ${engine.rarity} Engine`}</p>
{engine.attributes.map((e, i) => {
return (
<div key={i} className="flex justify-between">
<p>{e.name}</p>
<p className="text-mc-green">
{e.level}
</p>
</div>
)
})}
</div>
) :
<p>Error while getting engine</p>}
{frame !== null ?
(
<div className="flex-1">
<p className={cn("mb-2 font-bold", `text-mc-${frame.color}`)}>{`${frame.name} ${frame.rarity} Frame`}</p>
{frame.attributes.map((e, i) => {
return (
<div key={i} className="flex justify-between">
<p>{e.name}</p>
<p className="text-mc-green">{e.level}</p>
</div>
)
})}
</div>
) :
<p>Error while getting frame</p>}
{turbocharger !== null ?
(
<div className="flex-1">
<p className={cn("mb-2 font-bold", `text-mc-${turbocharger.color}`)}>
{`${turbocharger.name} ${turbocharger.rarity} Turbocharger`}
</p>
{turbocharger.attributes.map((e, i) => {
return (
<div key={i} className="flex justify-between">
<p>{e.name}</p>
<p className="text-mc-green">{e.level}</p>
</div>
)
})}
</div>
) :
<p>Error while getting turbocharger</p>}
</div>
</div>
)
}