starting lecture

This commit is contained in:
2024-11-01 14:01:19 -06:00
parent b7dd0ccab6
commit 859c9033f0
6 changed files with 91 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ import { canvasQuizService } from "@/services/canvas/canvasQuizService";
import { canvasPageService } from "@/services/canvas/canvasPageService";
import { canvasQuizKeys } from "./canvas/canvasQuizHooks";
import { canvasPageKeys } from "./canvas/canvasPageHooks";
import { getLecturesQueryConfig } from "./localCourse/lectureHooks";
// https://tanstack.com/query/latest/docs/framework/react/guides/ssr
export const hydrateCourses = async (queryClient: QueryClient) => {
@@ -39,6 +40,8 @@ export const hydrateCourse = async (
moduleNames.map((moduleName) => loadAllModuleData(courseName, moduleName))
);
await queryClient.prefetchQuery(getLecturesQueryConfig(courseName));
await queryClient.prefetchQuery({
queryKey: localCourseKeys.settings(courseName),
queryFn: () => courseSettings,

View File

@@ -0,0 +1,15 @@
import { useSuspenseQuery } from "@tanstack/react-query";
import { lectureKeys } from "./lectureKeys";
import { useCourseContext } from "@/app/course/[courseName]/context/courseContext";
import { getLectures } from "@/services/fileStorage/lectureFileStorageService";
export const getLecturesQueryConfig = (courseName: string) =>
({
queryKey: lectureKeys.allLectures(courseName),
queryFn: async () => await getLectures(courseName),
} as const);
export const useLecturesQuery = () => {
const { courseName } = useCourseContext();
return useSuspenseQuery(getLecturesQueryConfig(courseName));
};

View File

@@ -0,0 +1,3 @@
export const lectureKeys = {
allLectures: (courseName: string) => ["lectures", courseName] as const
}