more aggressive refetching

This commit is contained in:
2024-10-03 15:40:43 -06:00
parent 71818711a4
commit 13613595b7
3 changed files with 14 additions and 13 deletions

View File

@@ -54,4 +54,7 @@ tighter integration with git
- regularly make git commits
- handle merging?
- maybe a different storage backend?
- user motivated restore?
- user motivated restore?
display days settings
- hide all sundays (horizontal space)

View File

@@ -163,14 +163,11 @@ export default function DraggingContextProvider({
const assignment: LocalAssignment = {
...previousAssignment,
dueAt: dateToMarkdownString(dayAsDate),
lockAt:
previousAssignment.lockAt &&
(getDateFromStringOrThrow(
previousAssignment.lockAt,
"lockAt date"
) > dayAsDate
? previousAssignment.lockAt
: dateToMarkdownString(dayAsDate)),
lockAt: getNewLockDate(
previousAssignment.dueAt,
previousAssignment.lockAt,
dayAsDate
),
};
updateAssignmentMutation.mutate({
item: assignment,
@@ -208,7 +205,7 @@ function getNewLockDate(
dayAsDate: Date
): string | undefined {
// todo: preserve previous due date / lock date offset
const dueDate = getDateFromStringOrThrow(originalDueDate, "dueat date");
const dueDate = getDateFromStringOrThrow(originalDueDate, "dueAt date");
const lockDate =
originalLockDate === undefined
? undefined

View File

@@ -167,9 +167,11 @@ export const useUpdateItemMutation = <T extends CourseItemType>(type: T) => {
itemName,
type
),
refetchType: "all",
});
await queryClient.invalidateQueries({
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, type),
refetchType: "all",
});
},
});
@@ -242,10 +244,9 @@ export const useDeleteItemMutation = <T extends CourseItemType>(type: T) => {
await axiosClient.delete(url);
},
onSuccess: async (_, { moduleName, itemName }) => {
queryClient.invalidateQueries({
queryKey: localCourseKeys.allItemsOfType(courseName, moduleName, type),
refetchType: "all"
refetchType: "all",
});
queryClient.invalidateQueries({
queryKey: localCourseKeys.itemOfType(
@@ -254,7 +255,7 @@ export const useDeleteItemMutation = <T extends CourseItemType>(type: T) => {
itemName,
type
),
refetchType: "none"
refetchType: "none",
});
},
});