mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-22 23:01:48 +00:00
fix: update dayAccommodations state after create/edit/delete
This commit is contained in:
@@ -111,8 +111,13 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri
|
|||||||
check_out: hotelForm.check_out || null,
|
check_out: hotelForm.check_out || null,
|
||||||
confirmation: hotelForm.confirmation || null,
|
confirmation: hotelForm.confirmation || null,
|
||||||
})
|
})
|
||||||
setAccommodation(data.accommodation)
|
const newAcc = data.accommodation
|
||||||
setAccommodations(prev => [...prev, data.accommodation])
|
const updated = [...accommodations, newAcc]
|
||||||
|
setAccommodations(updated)
|
||||||
|
setAccommodation(newAcc)
|
||||||
|
setDayAccommodations(updated.filter(a =>
|
||||||
|
days.some(d => d.id >= a.start_day_id && d.id <= a.end_day_id && d.id === day?.id)
|
||||||
|
))
|
||||||
setShowHotelPicker(false)
|
setShowHotelPicker(false)
|
||||||
setHotelForm({ check_in: '', check_out: '', confirmation: '', place_id: null })
|
setHotelForm({ check_in: '', check_out: '', confirmation: '', place_id: null })
|
||||||
onAccommodationChange?.()
|
onAccommodationChange?.()
|
||||||
@@ -132,7 +137,11 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri
|
|||||||
if (!accommodation) return
|
if (!accommodation) return
|
||||||
try {
|
try {
|
||||||
await accommodationsApi.delete(tripId, accommodation.id)
|
await accommodationsApi.delete(tripId, accommodation.id)
|
||||||
setAccommodations(prev => prev.filter(a => a.id !== accommodation.id))
|
const updated = accommodations.filter(a => a.id !== accommodation.id)
|
||||||
|
setAccommodations(updated)
|
||||||
|
setDayAccommodations(updated.filter(a =>
|
||||||
|
days.some(d => d.id >= a.start_day_id && d.id <= a.end_day_id && d.id === day?.id)
|
||||||
|
))
|
||||||
setAccommodation(null)
|
setAccommodation(null)
|
||||||
onAccommodationChange?.()
|
onAccommodationChange?.()
|
||||||
} catch {}
|
} catch {}
|
||||||
@@ -549,8 +558,12 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri
|
|||||||
setHotelForm({ check_in: '', check_out: '', confirmation: '', place_id: null })
|
setHotelForm({ check_in: '', check_out: '', confirmation: '', place_id: null })
|
||||||
// Reload
|
// Reload
|
||||||
accommodationsApi.list(tripId).then(d => {
|
accommodationsApi.list(tripId).then(d => {
|
||||||
setAccommodations(d.accommodations || [])
|
const all = d.accommodations || []
|
||||||
const acc = (d.accommodations || []).find(a => days.some(dd => dd.id >= a.start_day_id && dd.id <= a.end_day_id && dd.id === day?.id))
|
setAccommodations(all)
|
||||||
|
setDayAccommodations(all.filter(a =>
|
||||||
|
days.some(dd => dd.id >= a.start_day_id && dd.id <= a.end_day_id && dd.id === day?.id)
|
||||||
|
))
|
||||||
|
const acc = all.find(a => days.some(dd => dd.id >= a.start_day_id && dd.id <= a.end_day_id && dd.id === day?.id))
|
||||||
setAccommodation(acc || null)
|
setAccommodation(acc || null)
|
||||||
})
|
})
|
||||||
onAccommodationChange?.()
|
onAccommodationChange?.()
|
||||||
|
|||||||
Reference in New Issue
Block a user