Fix Label not updating when save

This commit is contained in:
Mo Tarbin 2024-11-23 21:41:45 -05:00
commit 450f8ed4e1
2 changed files with 23 additions and 6 deletions

View file

@ -46,7 +46,7 @@ const ASSIGN_STRATEGIES = [
'least_assigned', 'least_assigned',
'least_completed', 'least_completed',
'keep_last_assigned', 'keep_last_assigned',
'random_except_last_assigned' 'random_except_last_assigned',
] ]
const REPEAT_ON_TYPE = ['interval', 'days_of_the_week', 'day_of_the_month'] const REPEAT_ON_TYPE = ['interval', 'days_of_the_week', 'day_of_the_month']
@ -89,7 +89,15 @@ const ChoreEdit = () => {
const [snackbarMessage, setSnackbarMessage] = useState('') const [snackbarMessage, setSnackbarMessage] = useState('')
const [snackbarColor, setSnackbarColor] = useState('warning') const [snackbarColor, setSnackbarColor] = useState('warning')
const [addLabelModalOpen, setAddLabelModalOpen] = useState(false) const [addLabelModalOpen, setAddLabelModalOpen] = useState(false)
const { data: userLabels, isLoading: isUserLabelsLoading } = useLabels() const { data: userLabelsRaw, isLoading: isUserLabelsLoading } = useLabels()
const [userLabels, setUserLabels] = useState([])
useEffect(() => {
if (userLabelsRaw) {
setUserLabels(userLabelsRaw)
}
}, [userLabelsRaw])
const Navigate = useNavigate() const Navigate = useNavigate()
@ -939,7 +947,13 @@ const ChoreEdit = () => {
<LabelModal <LabelModal
isOpen={addLabelModalOpen} isOpen={addLabelModalOpen}
onSave={label => { onSave={label => {
setLabels([...labels, label]) console.log('label', label)
const newLabels = [...labelsV2]
newLabels.push(label)
setUserLabels([...userLabels, label])
setLabelsV2([...labelsV2, label])
setAddLabelModalOpen(false) setAddLabelModalOpen(false)
}} }}
onClose={() => setAddLabelModalOpen(false)} onClose={() => setAddLabelModalOpen(false)}

View file

@ -40,7 +40,6 @@ function LabelModal({ isOpen, onClose, onSave, label }) {
setError('Name cannot be empty') setError('Name cannot be empty')
return false return false
} else if ( } else if (
!label ||
userLabels.some( userLabels.some(
userLabel => userLabel.name === labelName && userLabel.id !== label.id, userLabel => userLabel.name === labelName && userLabel.id !== label.id,
) )
@ -69,8 +68,12 @@ function LabelModal({ isOpen, onClose, onSave, label }) {
setError('Failed to save label. Please try again.') setError('Failed to save label. Please try again.')
return return
} }
queryClient.invalidateQueries('labels').then(() => { res.json().then(data => {
onSave({ id: label?.id, name: labelName, color }) if (data.error) {
setError('Failed to save label. Please try again.')
return
}
onSave({ id: data?.res?.id, name: labelName, color })
onClose() onClose()
}) })
}) })