From e960e2fa424a4013f4bd817107110d6a6d2eaf07 Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Wed, 11 Mar 2026 08:52:14 -0600 Subject: [PATCH] scheduling query invalidation --- .../day/itemInDay/DayItemContextMenu.tsx | 22 ++++++++++++++----- .../AssignmentFooterButtons.tsx | 20 ++++++++++++++--- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/app/course/[courseName]/calendar/day/itemInDay/DayItemContextMenu.tsx b/src/app/course/[courseName]/calendar/day/itemInDay/DayItemContextMenu.tsx index 3f975e5..aae46ec 100644 --- a/src/app/course/[courseName]/calendar/day/itemInDay/DayItemContextMenu.tsx +++ b/src/app/course/[courseName]/calendar/day/itemInDay/DayItemContextMenu.tsx @@ -12,11 +12,13 @@ import { useUpdateAssignmentInCanvasMutation, useDeleteAssignmentFromCanvasMutation, useAddAssignmentToCanvasMutation, + canvasAssignmentKeys, } from "@/features/canvas/hooks/canvasAssignmentHooks"; import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks"; import { baseCanvasUrl } from "@/features/canvas/services/canvasServiceUtils"; import { useCourseContext } from "../../../context/courseContext"; import Modal, { ModalControl } from "@/components/Modal"; +import { useQueryClient } from "@tanstack/react-query"; function getDuplicateName(name: string, existingNames: string[]): string { const match = name.match(/^(.*)\s+(\d+)$/); @@ -34,6 +36,7 @@ export const AssignmentDayItemContextMenu: FC<{ item: IModuleItem; moduleName: string; }> = ({ modalControl, item, moduleName }) => { + const queryClient = useQueryClient(); const { courseName } = useCourseContext(); const calendarItems = useCalendarItemsContext(); const createAssignmentMutation = useCreateAssignmentMutation(); @@ -68,6 +71,13 @@ export const AssignmentDayItemContextMenu: FC<{ }, [modalControl]); const handleClose = () => { + for (let i = 1; i <= 8; i += 2) { + setTimeout(() => { + queryClient.invalidateQueries({ + queryKey: canvasAssignmentKeys.assignments(settings.canvasId), + }); + }, i * 1000); + } setConfirmingDelete(false); modalControl.closeModal(); }; @@ -88,7 +98,11 @@ export const AssignmentDayItemContextMenu: FC<{ }; const handleDelete = () => { - deleteLocalMutation.mutate({ courseName, moduleName, assignmentName: item.name }); + deleteLocalMutation.mutate({ + courseName, + moduleName, + assignmentName: item.name, + }); handleClose(); }; @@ -133,11 +147,7 @@ export const AssignmentDayItemContextMenu: FC<{
{confirmingDelete ? ( <> -
- Delete from disk? -
+
Delete from disk?