diff --git a/src/client/components/admin-availability.tsx b/src/client/components/admin-availability.tsx index 1f76a67..d010588 100644 --- a/src/client/components/admin-availability.tsx +++ b/src/client/components/admin-availability.tsx @@ -10,7 +10,7 @@ export function AdminAvailability() { const [selectedTreatmentId, setSelectedTreatmentId] = useState(""); const [slotType, setSlotType] = useState<"treatment" | "manual">("treatment"); - const { data: allSlots } = useQuery( + const { data: allSlots, refetch: refetchSlots } = useQuery( queryClient.availability.live.list.experimental_liveOptions() ); @@ -90,6 +90,9 @@ export function AdminAvailability() { : `Manueller Slot (${duration} Min)`; setSuccessMsg(`${slotDescription} angelegt.`); + // Manually refetch slots to ensure live updates + refetchSlots(); + // advance time by the duration of the slot const [hStr, mStr] = time.split(":"); let h = parseInt(hStr, 10); @@ -337,6 +340,8 @@ export function AdminAvailability() { { onSuccess: () => { setSuccessMsg("Slot erfolgreich gelöscht."); + // Manually refetch slots to ensure live updates + refetchSlots(); }, onError: (err: any) => { const msg = (err && (err.message || (err as any).toString())) || "Fehler beim Löschen des Slots.";