fix: split SpireTab.tsx to 395 lines, remove require() imports, import from data modules; complete store migration
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 30m15s

This commit is contained in:
Refactoring Agent
2026-05-04 13:36:10 +02:00
parent 0eabd604b0
commit 837d963b63
41 changed files with 727 additions and 3935 deletions
@@ -10,20 +10,17 @@ import { Package, Sparkles, Trash2, Anvil } from 'lucide-react';
import { CRAFTING_RECIPES, canCraftRecipe } from '@/lib/game/data/crafting-recipes';
import { LOOT_DROPS, RARITY_COLORS } from '@/lib/game/data/loot-drops';
import type { EquipmentInstance, AppliedEnchantment, LootInventory, EquipmentCraftingProgress } from '@/lib/game/types';
import { fmt, type GameStore } from '@/lib/game/store';
import { fmt } from '@/lib/game/stores';
import { useGameStore } from '@/lib/game/stores';
export interface EquipmentCrafterProps {
store: GameStore;
}
export function EquipmentCrafter({ store }: EquipmentCrafterProps) {
const lootInventory = store.lootInventory;
const equipmentCraftingProgress = store.equipmentCraftingProgress;
const rawMana = store.rawMana;
const currentAction = store.currentAction;
const startCraftingEquipment = store.startCraftingEquipment;
const cancelEquipmentCrafting = store.cancelEquipmentCrafting;
const deleteMaterial = store.deleteMaterial;
export function EquipmentCrafter() {
const lootInventory = useGameStore((s) => s.lootInventory);
const equipmentCraftingProgress = useGameStore((s) => s.equipmentCraftingProgress);
const rawMana = useGameStore((s) => s.rawMana);
const currentAction = useGameStore((s) => s.currentAction);
const startCraftingEquipment = useGameStore((s) => s.startCraftingEquipment);
const cancelEquipmentCrafting = useGameStore((s) => s.cancelEquipmentCrafting);
const deleteMaterial = useGameStore((s) => s.deleteMaterial);
return (
<div className="grid grid-cols-1 lg:grid-cols-2 gap-4">