diff --git a/src/app/(stats)/player/[ign]/_stats/duels/duels.tsx b/src/app/(stats)/player/[ign]/_stats/duels/duels.tsx
index ac6ab9d..8a26c49 100644
--- a/src/app/(stats)/player/[ign]/_stats/duels/duels.tsx
+++ b/src/app/(stats)/player/[ign]/_stats/duels/duels.tsx
@@ -1,15 +1,18 @@
import { AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"
import { Card, CardContent } from "@/components/ui/card"
+import { Separator } from "@/components/ui/separator"
import { formatNumber } from "@/lib/formatters"
import { getDivision, getMostPlayed } from "@/lib/hypixel/duels/duels"
import { romanize } from "@/lib/hypixel/general"
import { NonNullStats } from "@/lib/schema/player"
import CollapsedStats from "../../_components/CollapsedStats"
+import DuelsGeneralStats from "./stats"
export default function DuelsStats({ stats }: { stats: NonNullStats["Duels"] }) {
if (!stats) return null
- const wl = formatNumber(stats.wins / stats.losses)
+ const wl = stats.wins / stats.losses
+ const kd = stats.kills / stats.deaths
const div = getDivision("all_modes", stats)
const mostPlayed = getMostPlayed(stats)
@@ -57,13 +60,15 @@ export default function DuelsStats({ stats }: { stats: NonNullStats["Duels"] })
},
{
title:
WL
,
- stat: {wl}
+ stat: {formatNumber(wl)}
}
]}
/>
+
+
diff --git a/src/app/(stats)/player/[ign]/_stats/duels/stats.tsx b/src/app/(stats)/player/[ign]/_stats/duels/stats.tsx
new file mode 100644
index 0000000..503362f
--- /dev/null
+++ b/src/app/(stats)/player/[ign]/_stats/duels/stats.tsx
@@ -0,0 +1,40 @@
+import { formatNumber } from "@/lib/formatters"
+import { Div } from "@/lib/hypixel/duels/duels"
+import { romanize } from "@/lib/hypixel/general"
+import { NonNullStats } from "@/lib/schema/player"
+import { cn } from "@/lib/utils"
+import { BasicStat } from "../../_components/Stats"
+
+export default function DuelsGeneralStats({ statsChecked, div, kd }: { statsChecked: NonNullStats["Duels"], div: Div | null, kd: number }) {
+ const stats = statsChecked!
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/lib/hypixel/duels/duels.ts b/src/lib/hypixel/duels/duels.ts
index c15f9de..e9db055 100644
--- a/src/lib/hypixel/duels/duels.ts
+++ b/src/lib/hypixel/duels/duels.ts
@@ -2,6 +2,11 @@ import { DIVISIONS, MODES } from "@/data/hypixel/duels"
import { NonNullStats } from "@/lib/schema/player"
type DuelType = "all_modes"
+export type Div = {
+ name: typeof DIVISIONS[number]["name"]
+ level: number
+ color: typeof DIVISIONS[number]["color"]
+}
export function getDivision(duelType: DuelType, stats: NonNullable) {
for (const div of DIVISIONS.slice().reverse()) {
diff --git a/src/lib/schema/stats.ts b/src/lib/schema/stats.ts
index 9100322..00bf6eb 100644
--- a/src/lib/schema/stats.ts
+++ b/src/lib/schema/stats.ts
@@ -272,6 +272,12 @@ export const skywarsStatsSchema = z.looseObject({
export const duelsStatsSchema = z.looseObject({
wins: z.number().default(0),
losses: z.number().default(0),
+ coins: z.number().default(0),
+ kills: z.number().default(0),
+ deaths: z.number().default(0),
+ melee_swings: z.number().default(0),
+ melee_hits: z.number().default(0),
+ //
all_modes_rookie_title_prestige: z.number().default(-1),
all_modes_iron_title_prestige: z.number().default(-1),
all_modes_gold_title_prestige: z.number().default(-1),