From 8eafd504b22da543ad6f47845fba1959fe343bc9 Mon Sep 17 00:00:00 2001 From: emil Date: Fri, 15 May 2026 18:10:28 +0300 Subject: [PATCH] fix(lint): resolve explicit any and useless assignment in DM components Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/components/dm/DiceRoller.astro | 12 +++++++++++- src/components/dm/DmTabs.astro | 2 +- src/components/dm/InitiativeTracker.astro | 14 +++++++++++--- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/components/dm/DiceRoller.astro b/src/components/dm/DiceRoller.astro index 3737a5e..106a4fd 100644 --- a/src/components/dm/DiceRoller.astro +++ b/src/components/dm/DiceRoller.astro @@ -166,7 +166,17 @@ const quickDice = [ } if (!raw) return []; - const parsed = JSON.parse(raw) as any[]; + const parsed = JSON.parse(raw) as Array<{ + result?: number; + total?: number; + rolls?: unknown[]; + formula?: string; + notation?: string; + modifier?: number; + status?: "crit" | "fail" | "normal"; + isCrit?: boolean; + isFail?: boolean; + }>; // Migrate old-format entries const migrated = parsed.map((entry) => { diff --git a/src/components/dm/DmTabs.astro b/src/components/dm/DmTabs.astro index 0d42101..c9d0aae 100644 --- a/src/components/dm/DmTabs.astro +++ b/src/components/dm/DmTabs.astro @@ -172,7 +172,7 @@ if (activeTab && tabs.some((t) => t.id === activeTab)) { if (!focused || !focused.hasAttribute("data-tab")) return; const currentIndex = tabEls.indexOf(focused); - let nextIndex = currentIndex; + let nextIndex: number; switch (e.key) { case "ArrowRight": diff --git a/src/components/dm/InitiativeTracker.astro b/src/components/dm/InitiativeTracker.astro index eb50513..b4e3b48 100644 --- a/src/components/dm/InitiativeTracker.astro +++ b/src/components/dm/InitiativeTracker.astro @@ -139,8 +139,16 @@ import { dmTranslations as T } from "@/i18n/dm-translations"; const oldRaw = sessionStorage.getItem("it-combatants"); if (oldRaw) { try { - const oldData = JSON.parse(oldRaw) as any[]; - const migrated = oldData.map((c: any, index: number) => ({ + const oldData = JSON.parse(oldRaw) as Array<{ + id?: string; + name?: string; + modifier?: number; + initiative?: number; + hp?: number; + maxHp?: number; + active?: boolean; + }>; + const migrated = oldData.map((c, index) => ({ id: c.id || `legacy-${index}-${Date.now()}`, name: c.name || 'Unknown', modifier: typeof c.modifier === 'number' ? c.modifier : 0, @@ -156,7 +164,7 @@ import { dmTranslations as T } from "@/i18n/dm-translations"; } return []; } - const parsed = JSON.parse(raw) as any[]; + const parsed = JSON.parse(raw) as Array<{ id?: string }>; let migrated = false; const combatants = parsed.map((c) => {