From 22ebf31f7767e8be8596b338cc86cbc19ed623d8 Mon Sep 17 00:00:00 2001 From: Camille Moussu Date: Tue, 19 Aug 2025 15:27:54 +0200 Subject: [PATCH] [#48] fixed drag and drop waiting for api call to be done to show updated event --- src/components/Calendar/Calendar.tsx | 6 ++++-- src/features/Calendars/CalendarSlice.ts | 10 +++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/Calendar/Calendar.tsx b/src/components/Calendar/Calendar.tsx index 6e5bd19..e647ac1 100644 --- a/src/components/Calendar/Calendar.tsx +++ b/src/components/Calendar/Calendar.tsx @@ -15,6 +15,7 @@ import CalendarSelection from "./CalendarSelection"; import { getCalendarDetailAsync, putEventAsync, + updateEventLocal, } from "../../features/Calendars/CalendarSlice"; import ImportAlert from "../../features/Events/ImportAlert"; import { @@ -330,8 +331,9 @@ export default function CalendarApp() { start: computedNewStart, end: computedNewEnd, } as CalendarEvent; - console.log(newEvent); - console.log(arg); + dispatch( + updateEventLocal({ calId: newEvent.calId, event: newEvent }) + ); dispatch( putEventAsync({ cal: calendars[newEvent.calId], newEvent }) ); diff --git a/src/features/Calendars/CalendarSlice.ts b/src/features/Calendars/CalendarSlice.ts index 45d1fc1..0046c20 100644 --- a/src/features/Calendars/CalendarSlice.ts +++ b/src/features/Calendars/CalendarSlice.ts @@ -114,6 +114,13 @@ const CalendarSlice = createSlice({ action.payload.eventUid ]; }, + updateEventLocal: ( + state, + action: PayloadAction<{ calId: string; event: CalendarEvent }> + ) => { + const { calId, event } = action.payload; + state.list[calId].events[event.uid] = event; + }, }, extraReducers: (builder) => { builder @@ -197,5 +204,6 @@ const CalendarSlice = createSlice({ }, }); -export const { addEvent, removeEvent, createCalendar } = CalendarSlice.actions; +export const { addEvent, removeEvent, createCalendar, updateEventLocal } = + CalendarSlice.actions; export default CalendarSlice.reducer;