diff --git a/docs/circular-deps.txt b/docs/circular-deps.txt index 21dd798..4253f3e 100644 --- a/docs/circular-deps.txt +++ b/docs/circular-deps.txt @@ -1,5 +1,5 @@ # Circular Dependencies -Generated: 2026-06-08T12:59:39.710Z +Generated: 2026-06-08T13:03:26.382Z Found: 1 circular chain(s) — these MUST be fixed before modifying involved files. 1. 1) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts diff --git a/docs/dependency-graph.json b/docs/dependency-graph.json index 551c03d..404891f 100644 --- a/docs/dependency-graph.json +++ b/docs/dependency-graph.json @@ -1,6 +1,6 @@ { "_meta": { - "generated": "2026-06-08T12:59:37.733Z", + "generated": "2026-06-08T13:03:24.191Z", "description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.", "usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry." }, diff --git a/docs/project-structure.txt b/docs/project-structure.txt index 20ca0a3..3c89558 100644 --- a/docs/project-structure.txt +++ b/docs/project-structure.txt @@ -49,7 +49,6 @@ Mana-Loop/ │ ├── app/ │ │ ├── components/ │ │ │ ├── GameOverScreen.tsx -│ │ │ ├── GrimoireTab.tsx │ │ │ └── LeftPanel.tsx │ │ ├── globals.css │ │ ├── layout.tsx diff --git a/src/app/components/GrimoireTab.tsx b/src/app/components/GrimoireTab.tsx deleted file mode 100644 index b6f009c..0000000 --- a/src/app/components/GrimoireTab.tsx +++ /dev/null @@ -1,72 +0,0 @@ -'use client'; - -import { useState, useEffect } from 'react'; -import { ScrollArea } from '@/components/ui/scroll-area'; -import { Badge } from '@/components/ui/badge'; -import { DebugName } from '@/components/game/debug/debug-context'; -import { SPELLS_DEF } from '@/lib/game/constants'; -import type { SpellDef } from '@/lib/game/types'; - -export function GrimoireTab() { - const [grimoireSpells, setGrimoireSpells] = useState<[string, SpellDef][]>([]); - - useEffect(() => { - if (typeof window !== 'undefined' && SPELLS_DEF) { - // eslint-disable-next-line react-hooks/set-state-in-effect - setGrimoireSpells( - Object.entries(SPELLS_DEF).filter((entry): entry is [string, SpellDef] => !!entry[1].grimoire) - ); - } - }, []); - - if (grimoireSpells.length === 0) { - return ( -
- No grimoire spells available yet. Defeat guardians to unlock spells. -
- ); - } - - const availablePages = Math.ceil(grimoireSpells.length / 12); - - return ( - -
-
-

A vast tome of arcane knowledge. Study carefully — each spell costs insight to transcribe into your repertoire.

-

Available pages: {availablePages}. Spells in grimoire: {grimoireSpells.length}.

-
- - -
- {grimoireSpells.map(([id, spell]) => ( -
-
- {spell.name} - - {spell.elem} - -
- {spell.desc &&

{spell.desc}

} -
-
Cost: {spell.cost.amount} { - spell.cost.type === 'element' - ? spell.cost.element - : 'raw mana' - }
-
Power: {spell.dmg}
- {spell.effects && spell.effects.length > 0 && ( -
Effects: {spell.effects.map(e => e.type).join(', ')}
- )} -
-
- ))} -
-
-
-
- ); -} diff --git a/src/app/page.tsx b/src/app/page.tsx index b22c277..bdc4eba 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -30,7 +30,6 @@ import { ErrorBoundary } from '@/components/ErrorBoundary'; import { GameOverScreen } from './components/GameOverScreen'; import { LeftPanel } from './components/LeftPanel'; -import { GrimoireTab } from './components/GrimoireTab'; // Lazy load tab components const DisciplinesTab = lazy(() => import('@/components/game/tabs').then(m => ({ default: m.DisciplinesTab }))); @@ -118,7 +117,6 @@ function TabTriggers() { 🔮 Spells 📊 Stats 📚 Disciplines - 📖 Grimoire 🐛 Debug ⚗️ Attunements 🏆 Achievements @@ -216,7 +214,6 @@ export default function ManaLoopGame() { -