fix: persist enchantment design state across tab navigation
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 1m2s

- EnchantmentDesigner now reads selection state directly from useCraftingStore
  instead of receiving it as props, so state survives tab unmount/remount
- EnchanterSubTab no longer uses local useState for selectedEquipmentType,
  selectedEffects, designName, selectedDesign — all sourced from store
- Removed unused EnchantmentDesignerProps interface from types
- All 1158 existing tests pass, no new type errors introduced

Fixes #366
This commit is contained in:
2026-06-11 11:54:45 +02:00
parent 9476e92a4b
commit 1dce061cdd
5 changed files with 40 additions and 50 deletions
+6 -5
View File
@@ -1,10 +1,11 @@
# Circular Dependencies
Generated: 2026-06-11T07:08:59.875Z
Found: 3 circular chain(s) — these MUST be fixed before modifying involved files.
Generated: 2026-06-11T09:37:23.110Z
Found: 4 circular chain(s) — these MUST be fixed before modifying involved files.
1. 1) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts
2. 2) stores/attunementStore.ts > stores/combatStore.ts > stores/combat-descent-actions.ts
3. 3) stores/attunementStore.ts > stores/combatStore.ts > stores/combat-descent-actions.ts > stores/non-combat-room-actions.ts
1. 1) data/guardian-encounters.ts > data/guardian-procedural.ts
2. 2) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts
3. 3) stores/attunementStore.ts > stores/combatStore.ts > stores/combat-descent-actions.ts
4. 4) stores/attunementStore.ts > stores/combatStore.ts > stores/combat-descent-actions.ts > stores/non-combat-room-actions.ts
## How to fix
1. Identify which import in the chain can be extracted to a shared types/utils file.
+9 -2
View File
@@ -1,6 +1,6 @@
{
"_meta": {
"generated": "2026-06-11T07:08:57.908Z",
"generated": "2026-06-11T09:37:21.146Z",
"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."
},
@@ -492,6 +492,11 @@
],
"data/guardian-encounters.ts": [
"data/guardian-data.ts",
"data/guardian-procedural.ts",
"types.ts"
],
"data/guardian-procedural.ts": [
"data/guardian-encounters.ts",
"types.ts",
"utils/guardian-utils.ts"
],
@@ -532,6 +537,7 @@
"effects/upgrade-effects.ts",
"stores/attunementStore.ts",
"stores/combatStore.ts",
"stores/craftingStore.ts",
"stores/gameStore.ts",
"stores/manaStore.ts",
"stores/prestigeStore.ts",
@@ -613,6 +619,8 @@
"crafting-design.ts",
"crafting-utils.ts",
"effects/discipline-effects.ts",
"effects/special-effects.ts",
"effects/upgrade-effects.ts",
"stores/combatStore.ts",
"stores/crafting-equipment-tick.ts",
"stores/crafting-initial-state.ts",
@@ -790,7 +798,6 @@
"crafting-prep.ts",
"effects/discipline-effects.ts",
"effects/upgrade-effects.types.ts",
"stores/craftingStore.ts",
"stores/tick-pipeline.ts"
],
"stores/pipelines/equipment-crafting.ts": [