Fix saving awakening types and levels

This commit is contained in:
Justin Edmund 2023-01-20 18:21:51 -08:00
parent e6c52c43b2
commit 39940abf9f
2 changed files with 12 additions and 9 deletions

View file

@ -30,7 +30,9 @@ const AwakeningSelect = (props: Props) => {
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
// States // States
const [awakeningType, setAwakeningType] = useState(-1) const [awakeningType, setAwakeningType] = useState(
props.object === 'weapon' ? -1 : 1
)
const [awakeningLevel, setAwakeningLevel] = useState(1) const [awakeningLevel, setAwakeningLevel] = useState(1)
const [maxValue, setMaxValue] = useState(1) const [maxValue, setMaxValue] = useState(1)
@ -87,11 +89,6 @@ const AwakeningSelect = (props: Props) => {
setAwakeningLevel(props.awakeningLevel ? props.awakeningLevel : 1) setAwakeningLevel(props.awakeningLevel ? props.awakeningLevel : 1)
}, [props.object, props.awakeningType, props.awakeningLevel]) }, [props.object, props.awakeningType, props.awakeningLevel])
// Send awakening type and level when changed
useEffect(() => {
props.sendValues(awakeningType, awakeningLevel)
}, [props.sendValues, awakeningType, awakeningLevel])
// Send validity of form when awakening level changes // Send validity of form when awakening level changes
useEffect(() => { useEffect(() => {
props.sendValidity(awakeningLevel > 0 && error === '') props.sendValidity(awakeningLevel > 0 && error === '')
@ -103,6 +100,12 @@ const AwakeningSelect = (props: Props) => {
if (props.onOpenChange) props.onOpenChange(!open) if (props.onOpenChange) props.onOpenChange(!open)
} }
function handleValueChange(type: number, level: number) {
setAwakeningType(type)
setAwakeningLevel(level)
props.sendValues(type, level)
}
return ( return (
<div className="Awakening"> <div className="Awakening">
<SelectWithInput <SelectWithInput
@ -112,7 +115,7 @@ const AwakeningSelect = (props: Props) => {
inputValue={awakeningLevel} inputValue={awakeningLevel}
onOpenChange={changeOpen} onOpenChange={changeOpen}
sendValidity={props.sendValidity} sendValidity={props.sendValidity}
sendValues={props.sendValues} sendValues={handleValueChange}
/> />
</div> </div>
) )

View file

@ -254,8 +254,8 @@ const CharacterModal = ({
<h3>{t('modals.characters.subtitles.awakening')}</h3> <h3>{t('modals.characters.subtitles.awakening')}</h3>
<AwakeningSelect <AwakeningSelect
object="character" object="character"
awakeningType={gridCharacter.awakening?.type} awakeningType={awakeningType}
awakeningLevel={gridCharacter.awakening?.level} awakeningLevel={awakeningLevel}
sendValidity={receiveValidity} sendValidity={receiveValidity}
sendValues={receiveAwakeningValues} sendValues={receiveAwakeningValues}
/> />