Fix: Live updates in availability management

- Add manual refetch calls after slot creation/deletion
- Ensure availability list updates immediately after changes
- Fix issue where slots didn't appear in list after adding
- Improve user experience with real-time updates
This commit is contained in:
2025-10-02 13:55:24 +02:00
parent 938ee76e32
commit 0b4e7e725f

View File

@@ -10,7 +10,7 @@ export function AdminAvailability() {
const [selectedTreatmentId, setSelectedTreatmentId] = useState<string>("");
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.";