diff --git a/components/party/Party/index.tsx b/components/party/Party/index.tsx index 43cb734e..80072c51 100644 --- a/components/party/Party/index.tsx +++ b/components/party/Party/index.tsx @@ -342,7 +342,8 @@ const Party = (props: Props) => { appState.party.element = gridObject.object.element } else if (!gridObject.mainhand && gridObject.position !== null) { let weapon = clonedeep(gridObject) - weapon.element = gridObject.object.element + if (weapon.object.element === 0 && weapon.element < 1) + weapon.element = gridObject.object.element appState.grid.weapons.allWeapons[gridObject.position] = weapon } diff --git a/components/weapon/WeaponModal/index.tsx b/components/weapon/WeaponModal/index.tsx index 484d4ff7..5502168e 100644 --- a/components/weapon/WeaponModal/index.tsx +++ b/components/weapon/WeaponModal/index.tsx @@ -100,6 +100,12 @@ const WeaponModal = ({ setAwakening(gridWeapon.awakening.type) setAwakeningLevel(gridWeapon.awakening.level) } + + if (gridWeapon.object.ax || gridWeapon.object.awakenings) { + setFormValid(false) + } else { + setFormValid(true) + } }, [gridWeapon]) // Methods: Data retrieval @@ -126,6 +132,7 @@ const WeaponModal = ({ // Receive values from AwakeningSelectWithInput function receiveAwakeningValues(id: string, level: number) { setAwakening(gridWeapon.object.awakenings.find((a) => a.id === id)) + console.log(level) setAwakeningLevel(level) setFormValid(true) } @@ -233,12 +240,6 @@ const WeaponModal = ({ if (modalOpen && hasBeenModified()) { setAlertOpen(true) } else { - if (gridWeapon.object.ax || gridWeapon.object.awakenings) { - setFormValid(false) - } else { - setFormValid(true) - } - onOpenChange(open) } } @@ -264,7 +265,6 @@ const WeaponModal = ({ } function elementChanged() { - if (gridWeapon.object.element === 0 && gridWeapon.element) return false return element !== gridWeapon.element } @@ -329,6 +329,12 @@ const WeaponModal = ({ !isEqual(gridWeapon.awakening.type, awakening) || gridWeapon.awakening.level !== awakeningLevel + console.log( + gridWeapon.awakening.type, + awakening, + gridWeapon.awakening.level, + awakeningLevel + ) // Return true if the awakening has been modified and is not empty return awakeningChanged } diff --git a/components/weapon/WeaponUnit/index.tsx b/components/weapon/WeaponUnit/index.tsx index 310505b2..4209c53a 100644 --- a/components/weapon/WeaponUnit/index.tsx +++ b/components/weapon/WeaponUnit/index.tsx @@ -154,7 +154,8 @@ const WeaponUnit = ({ appState.party.element = gridWeapon.object.element } else if (!gridWeapon.mainhand && gridWeapon.position !== null) { let weapon = clonedeep(gridWeapon) - weapon.element = gridWeapon.object.element + if (weapon.object.element === 0 && weapon.element < 1) + weapon.element = gridWeapon.object.element appState.grid.weapons.allWeapons[gridWeapon.position] = weapon }