Update userLabels state in ChoreEdit component

This commit is contained in:
Mo Tarbin 2024-11-23 21:40:38 -05:00
parent 7c36e2d641
commit 43608a3744
2 changed files with 23 additions and 5 deletions

View file

@ -46,6 +46,7 @@ const ASSIGN_STRATEGIES = [
'least_assigned',
'least_completed',
'keep_last_assigned',
'random_except_last_assigned',
]
const REPEAT_ON_TYPE = ['interval', 'days_of_the_week', 'day_of_the_month']
@ -88,7 +89,15 @@ const ChoreEdit = () => {
const [snackbarMessage, setSnackbarMessage] = useState('')
const [snackbarColor, setSnackbarColor] = useState('warning')
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()
@ -938,7 +947,13 @@ const ChoreEdit = () => {
<LabelModal
isOpen={addLabelModalOpen}
onSave={label => {
setLabels([...labels, label])
console.log('label', label)
const newLabels = [...labelsV2]
newLabels.push(label)
setUserLabels([...userLabels, label])
setLabelsV2([...labelsV2, label])
setAddLabelModalOpen(false)
}}
onClose={() => setAddLabelModalOpen(false)}

View file

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