From a921c5f64a22c621e8a3aedeefc6b2b5122638ce Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Mon, 18 Nov 2024 13:24:15 -0700 Subject: [PATCH] displaying when canvas updating --- .../course/[courseName]/CourseNavigation.tsx | 59 +++++++++++++++++++ .../src/hooks/canvas/canvasAssignmentHooks.ts | 2 - 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/nextjs/src/app/course/[courseName]/CourseNavigation.tsx b/nextjs/src/app/course/[courseName]/CourseNavigation.tsx index 91cee54..2b18a87 100644 --- a/nextjs/src/app/course/[courseName]/CourseNavigation.tsx +++ b/nextjs/src/app/course/[courseName]/CourseNavigation.tsx @@ -1,9 +1,36 @@ "use client"; +import { Spinner } from "@/components/Spinner"; +import { + canvasAssignmentKeys, + useCanvasAssignmentsQuery, +} from "@/hooks/canvas/canvasAssignmentHooks"; +import { canvasCourseKeys } from "@/hooks/canvas/canvasCourseHooks"; +import { + canvasCourseModuleKeys, + useCanvasModulesQuery, +} from "@/hooks/canvas/canvasModuleHooks"; +import { + canvasPageKeys, + useCanvasPagesQuery, +} from "@/hooks/canvas/canvasPageHooks"; +import { + canvasQuizKeys, + useCanvasQuizzesQuery, +} from "@/hooks/canvas/canvasQuizHooks"; import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; +import { useQueryClient } from "@tanstack/react-query"; import Link from "next/link"; export function CourseNavigation() { const [settings] = useLocalCourseSettingsQuery(); + + const queryClient = useQueryClient(); + const canvasAssignmentsQuery = useCanvasAssignmentsQuery(); + const canvasAssignmentGroupsQuery = useCanvasAssignmentsQuery(); + const canvasModulesQuery = useCanvasModulesQuery(); + const canvasPagesQuery = useCanvasPagesQuery(); + const canvasQuizzesQuery = useCanvasQuizzesQuery(); + return (
@@ -16,6 +43,38 @@ export function CourseNavigation() { > View in Canvas + {canvasAssignmentsQuery.isFetching || + canvasAssignmentGroupsQuery.isFetching || + canvasModulesQuery.isFetching || + canvasPagesQuery.isFetching || + canvasQuizzesQuery.isFetching ? ( +
+ +
loading canvas data
+
+ ) : ( + + )}
); } diff --git a/nextjs/src/hooks/canvas/canvasAssignmentHooks.ts b/nextjs/src/hooks/canvas/canvasAssignmentHooks.ts index d2a4920..464ab07 100644 --- a/nextjs/src/hooks/canvas/canvasAssignmentHooks.ts +++ b/nextjs/src/hooks/canvas/canvasAssignmentHooks.ts @@ -11,8 +11,6 @@ import { export const canvasAssignmentKeys = { assignments: (canvasCourseId: number) => ["canvas", canvasCourseId, "assignments"] as const, - // assignment: (canvasCourseId: number, assignmentName: string) => - // ["canvas", canvasCourseId, "assignment", assignmentName] as const, }; export const useCanvasAssignmentsQuery = () => {