mirror of
https://github.com/alexmickelson/canvasManagement.git
synced 2026-03-26 15:48:32 -06:00
starting lecture
This commit is contained in:
@@ -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,
|
||||
|
||||
15
nextjs/src/hooks/localCourse/lectureHooks.ts
Normal file
15
nextjs/src/hooks/localCourse/lectureHooks.ts
Normal 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));
|
||||
};
|
||||
3
nextjs/src/hooks/localCourse/lectureKeys.ts
Normal file
3
nextjs/src/hooks/localCourse/lectureKeys.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export const lectureKeys = {
|
||||
allLectures: (courseName: string) => ["lectures", courseName] as const
|
||||
}
|
||||
Reference in New Issue
Block a user