chore: cleanup — remove dead weight (prisma, db, examples, python scripts, workflow docs, redundant tsconfigs)
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 34s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Failing after 34s
This commit is contained in:
@@ -47,6 +47,15 @@ export interface CraftingState {
|
||||
materials: Record<string, number>;
|
||||
blueprints: string[];
|
||||
};
|
||||
|
||||
// Enchantment selection state (single source of truth for enchanting UI)
|
||||
enchantmentSelection: {
|
||||
selectedEquipmentType: string | null;
|
||||
selectedEffects: DesignEffect[];
|
||||
designName: string;
|
||||
selectedDesign: string | null;
|
||||
selectedEquipmentInstance: string | null;
|
||||
};
|
||||
}
|
||||
|
||||
export interface CraftingActions {
|
||||
@@ -86,6 +95,14 @@ export interface CraftingActions {
|
||||
// Equipment crafting actions
|
||||
startCraftingEquipment: (blueprintId: string) => boolean;
|
||||
cancelEquipmentCrafting: () => void;
|
||||
|
||||
// Enchantment selection actions (store as source of truth)
|
||||
setSelectedEquipmentType: (type: string | null) => void;
|
||||
setSelectedEffects: (effects: DesignEffect[]) => void;
|
||||
setDesignName: (name: string) => void;
|
||||
setSelectedDesign: (id: string | null) => void;
|
||||
setSelectedEquipmentInstance: (id: string | null) => void;
|
||||
resetEnchantmentSelection: () => void;
|
||||
}
|
||||
|
||||
export type CraftingStore = CraftingState & CraftingActions;
|
||||
@@ -108,6 +125,13 @@ export const useCraftingStore = create<CraftingStore>()(
|
||||
materials: {},
|
||||
blueprints: [],
|
||||
},
|
||||
enchantmentSelection: {
|
||||
selectedEquipmentType: null,
|
||||
selectedEffects: [],
|
||||
designName: '',
|
||||
selectedDesign: null,
|
||||
selectedEquipmentInstance: null,
|
||||
},
|
||||
|
||||
// Actions
|
||||
setDesignProgress: (progress) => set({ designProgress: progress }),
|
||||
@@ -311,6 +335,34 @@ export const useCraftingStore = create<CraftingStore>()(
|
||||
useUIStore.getState().addLog(cancelResult.logMessage);
|
||||
},
|
||||
|
||||
// Enchantment selection actions
|
||||
setSelectedEquipmentType: (type) => {
|
||||
set((s) => ({ enchantmentSelection: { ...s.enchantmentSelection, selectedEquipmentType: type }}));
|
||||
},
|
||||
setSelectedEffects: (effects) => {
|
||||
set((s) => ({ enchantmentSelection: { ...s.enchantmentSelection, selectedEffects: effects } }));
|
||||
},
|
||||
setDesignName: (name) => {
|
||||
set((s) => ({ enchantmentSelection: { ...s.enchantmentSelection, designName: name } }));
|
||||
},
|
||||
setSelectedDesign: (id) => {
|
||||
set((s) => ({ enchantmentSelection: { ...s.enchantmentSelection, selectedDesign: id } }));
|
||||
},
|
||||
setSelectedEquipmentInstance: (id) => {
|
||||
set((s) => ({ enchantmentSelection: { ...s.enchantmentSelection, selectedEquipmentInstance: id } }));
|
||||
},
|
||||
resetEnchantmentSelection: () => {
|
||||
set((s) => ({
|
||||
enchantmentSelection: {
|
||||
selectedEquipmentType: null,
|
||||
selectedEffects: [],
|
||||
designName: '',
|
||||
selectedDesign: null,
|
||||
selectedEquipmentInstance: null,
|
||||
},
|
||||
}));
|
||||
},
|
||||
|
||||
// Loot inventory actions
|
||||
deleteMaterial: (materialId: string, amount: number) => {
|
||||
set((state) => {
|
||||
@@ -366,6 +418,7 @@ export const useCraftingStore = create<CraftingStore>()(
|
||||
equipmentInstances: state.equipmentInstances,
|
||||
equippedInstances: state.equippedInstances,
|
||||
lootInventory: state.lootInventory,
|
||||
enchantmentSelection: state.enchantmentSelection,
|
||||
}),
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user