fixed page key

This commit is contained in:
2024-09-02 11:21:07 -06:00
parent 1b03061fdd
commit 130035cc48
15 changed files with 446 additions and 336 deletions

View File

@@ -1,7 +1,7 @@
import { QueryClient } from "@tanstack/react-query";
import { localCourseKeys } from "./localCourse/localCourseKeys";
import { fileStorageService } from "@/services/fileStorage/fileStorageService";
// https://tanstack.com/query/latest/docs/framework/react/guides/ssr
export const hydrateCourses = async (queryClient: QueryClient) => {
await queryClient.prefetchQuery({
queryKey: localCourseKeys.allCourses,
@@ -13,6 +13,7 @@ export const hydrateCourse = async (
queryClient: QueryClient,
courseName: string
) => {
const settings = await fileStorageService.getCourseSettings(courseName);
const moduleNames = await fileStorageService.getModuleNames(courseName);
const modulesData = await Promise.all(

View File

@@ -15,7 +15,7 @@ export const useAssignmentNamesQuery = (
encodeURIComponent(courseName) +
"/modules/" +
encodeURIComponent(moduleName) +
"/assignments"
"/assignments";
const response = await axios.get(url);
return response.data;
},
@@ -41,8 +41,6 @@ const getAssignmentQueryConfig = (
encodeURIComponent(moduleName) +
"/assignments/" +
encodeURIComponent(assignmentName);
console.log(url);
const response = await axios.get(url);
return response.data;
},

View File

@@ -8,6 +8,7 @@ import {
} from "./assignmentHooks";
import { usePageNamesQuery, usePagesQueries } from "./pageHooks";
import { useQuizNamesQuery, useQuizzesQueries } from "./quizHooks";
import { useMemo } from "react";
export const useLocalCourseNamesQuery = () =>
useSuspenseQuery({
@@ -59,11 +60,14 @@ export const useModuleDataQuery = (courseName: string, moduleName: string) => {
);
const { data: pages } = usePagesQueries(courseName, moduleName, pageNames);
return {
assignments,
quizzes,
pages,
};
return useMemo(
() => ({
assignments,
quizzes,
pages,
}),
[assignments, pages, quizzes]
);
};
// export const useUpdateCourseMutation = (courseName: string) => {

View File

@@ -27,8 +27,8 @@ export const usePagesQueries = (
courseName: string,
moduleName: string,
pageNames: string[]
) =>
useSuspenseQueries({
) => {
return useSuspenseQueries({
queries: pageNames.map((name) =>
getPageQueryConfig(courseName, moduleName, name)
),
@@ -37,6 +37,7 @@ export const usePagesQueries = (
pending: results.some((r) => r.isPending),
}),
});
};
function getPageQueryConfig(
courseName: string,
@@ -44,7 +45,7 @@ function getPageQueryConfig(
pageName: string
) {
return {
queryKey: localCourseKeys.quiz(courseName, moduleName, pageName),
queryKey: localCourseKeys.page(courseName, moduleName, pageName),
queryFn: async (): Promise<LocalCoursePage> => {
const url =
"/api/courses/" +
@@ -53,8 +54,15 @@ function getPageQueryConfig(
encodeURIComponent(moduleName) +
"/pages/" +
encodeURIComponent(pageName);
const response = await axios.get(url);
return response.data;
try {
console.log("making a request to get a page");
const response = await axios.get(url);
return response.data;
} catch (e) {
console.log("error getting page", e, url);
debugger;
throw e;
}
},
};
}