Finished tkr general stats

This commit is contained in:
2025-09-23 22:47:19 +02:00
parent 7e7d6abafd
commit c3351e8268
3 changed files with 45 additions and 2 deletions

View File

@@ -90,7 +90,7 @@ export function VampireZGeneralStats({ stats }: { stats: NonNullable<NonNullStat
export function QuakeCraftGeneralStats({ stats, godlikes }: { stats: NonNullable<NonNullStats["Quakecraft"]>, godlikes: number }) {
return (
<div className="flex mt-4">
<div className="flex">
<div className="flex-1">
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
<p>
@@ -116,3 +116,34 @@ export function QuakeCraftGeneralStats({ stats, godlikes }: { stats: NonNullable
</div>
)
}
export function TkrGeneralStats({ stats }: { stats: NonNullable<NonNullStats["TurboKartRacers"]> }) {
const bsr = formatNumber(devide(stats.banana_hits_sent, stats.banana_hits_received))
return (
<div className="flex">
<div className="flex-1">
<BasicStat title="Coins: " value={formatNumber(stats.coins)} className="text-mc-gold" />
<BasicStat title="Grand Prix Tokens: " value={formatNumber(stats.grand_prix_tokens)} className="text-mc-aqua" />
<p>
<br />
</p>
<BasicStat title="Wins: " value={formatNumber(stats.wins)} />
<BasicStat title="Gold Trophies: " value={`${formatNumber(stats.gold_trophy)}🏆\uFE0E`} className="text-mc-gold" />
<BasicStat title="Silver Trophies: " value={`${formatNumber(stats.silver_trophy)}🏆\uFE0E`} className="text-mc-white" />
<BasicStat title="Bronze Trophies: " value={`${formatNumber(stats.bronze_trophy)}🏆\uFE0E`} className="text-mc-brown" />
</div>
<div className="flex-1">
<BasicStat title="Coins Picked Up: " value={formatNumber(stats.coins_picked_up)} />
<BasicStat title="Powerups Picked Up: " value={formatNumber(stats.box_pickups)} />
<BasicStat title="Laps Completed: " value={formatNumber(stats.laps_completed)} />
<BasicStat title="Blue Torpedos Hit: " value={formatNumber(stats.blue_torpedo_hit)} />
<p>
<br />
</p>
<BasicStat title="Banana Hits Sent: " value={formatNumber(stats.banana_hits_sent)} />
<BasicStat title="Banana Hits Received: " value={formatNumber(stats.banana_hits_received)} />
<BasicStat title="Banana Sent/Received Ratio: " value={bsr} />
</div>
</div>
)
}

View File

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

View File

@@ -71,7 +71,16 @@ export const quakecraftStatsSchema = z.object({
})
export const turboKartRacersStatsSchema = z.object({
coins: z.number().default(0),
gold_trophy: z.number().default(0),
silver_trophy: z.number().default(0),
bronze_trophy: z.number().default(0)
bronze_trophy: z.number().default(0),
grand_prix_tokens: z.number().default(0),
wins: z.number().default(0),
coins_picked_up: z.number().default(0),
box_pickups: z.number().default(0),
laps_completed: z.number().default(0),
blue_torpedo_hit: z.number().default(0),
banana_hits_sent: z.number().default(0),
banana_hits_received: z.number().default(0)
})