refactoring canvas files

This commit is contained in:
2025-07-23 11:40:18 -06:00
parent 815f929c2d
commit 99f491f16e
67 changed files with 94 additions and 108 deletions

View File

@@ -0,0 +1,42 @@
import { useQuery, useQueryClient, useMutation } from "@tanstack/react-query";
import { useLocalCourseSettingsQuery } from "@/features/local/course/localCoursesHooks";
import { canvasNavigationService } from "../services/canvasNavigationService";
export const canvasCourseTabKeys = {
tabs: (canvasId: number) => ["canvas", canvasId, "tabs list"] as const,
};
export const useCanvasTabsQuery = () => {
const { data: settings } = useLocalCourseSettingsQuery();
return useQuery({
queryKey: canvasCourseTabKeys.tabs(settings.canvasId),
queryFn: async () =>
await canvasNavigationService.getCourseTabs(settings.canvasId),
});
};
export const useUpdateCanvasTabMutation = () => {
const { data: settings } = useLocalCourseSettingsQuery();
const queryClient = useQueryClient();
return useMutation({
mutationFn: async ({
tabId,
hidden,
position,
}: {
tabId: string;
hidden?: boolean;
position?: number;
}) =>
await canvasNavigationService.updateCourseTab(settings.canvasId, tabId, {
hidden,
position,
}),
onSuccess: () => {
queryClient.invalidateQueries({
queryKey: canvasCourseTabKeys.tabs(settings.canvasId),
refetchType: "all",
});
},
});
};