got some server hydration I think

This commit is contained in:
2024-11-08 15:16:53 -07:00
parent 011c28f0fd
commit 6fd5053ac5
20 changed files with 568 additions and 244 deletions

View File

@@ -11,7 +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";
// import { getLecturesQueryConfig } from "./localCourse/lectureHooks";
// https://tanstack.com/query/latest/docs/framework/react/guides/ssr
export const hydrateCourses = async (queryClient: QueryClient) => {
@@ -61,7 +61,7 @@ export const hydrateCourse = async (
moduleNames.map((moduleName) => loadAllModuleData(courseName, moduleName))
);
await queryClient.prefetchQuery(getLecturesQueryConfig(courseName));
// await queryClient.prefetchQuery(getLecturesQueryConfig(courseName));
await queryClient.prefetchQuery({
queryKey: localCourseKeys.settings(courseName),

View File

@@ -35,6 +35,7 @@ export const useAssignmentQuery = (
export const useAssignmentsQuery = (moduleName: string) => {
const { courseName } = useCourseContext();
console.log("rendering all assignments query");
return trpc.assignment.getAllAssignments.useQuery({
moduleName,
courseName,

View File

@@ -13,16 +13,16 @@ import {
import { Lecture } from "@/models/local/lecture";
import { useLocalCourseSettingsQuery } from "./localCoursesHooks";
export const getLecturesQueryConfig = (courseName: string) =>
({
queryKey: lectureKeys.allLectures(courseName),
queryFn: async () => await getLectures(courseName),
} as const);
// export const getLecturesQueryConfig = (courseName: string) =>
// ({
// queryKey: lectureKeys.allLectures(courseName),
// queryFn: async () => await getLectures(courseName),
// } as const);
export const useLecturesByWeekQuery = () => {
const { courseName } = useCourseContext();
return useSuspenseQuery(getLecturesQueryConfig(courseName));
};
// export const useLecturesByWeekQuery = () => {
// const { courseName } = useCourseContext();
// return useSuspenseQuery(getLecturesQueryConfig(courseName));
// };
export const useLectureUpdateMutation = () => {
const { courseName } = useCourseContext();

View File

@@ -67,35 +67,35 @@ export const useAllCourseDataQuery = () => {
// }),
// });
const { data: quizzesAndModules } = useSuspenseQueries({
queries: moduleNames.map((moduleName) =>
getAllItemsQueryConfig(courseName, moduleName, "Quiz")
),
combine: (results) => ({
data: results.flatMap((r, i) =>
r.data.map((quiz) => ({
moduleName: moduleNames[i],
quiz,
}))
),
pending: results.some((r) => r.isPending),
}),
});
// const { data: quizzesAndModules } = useSuspenseQueries({
// queries: moduleNames.map((moduleName) =>
// getAllItemsQueryConfig(courseName, moduleName, "Quiz")
// ),
// combine: (results) => ({
// data: results.flatMap((r, i) =>
// r.data.map((quiz) => ({
// moduleName: moduleNames[i],
// quiz,
// }))
// ),
// pending: results.some((r) => r.isPending),
// }),
// });
const { data: pagesAndModules } = useSuspenseQueries({
queries: moduleNames.map((moduleName) =>
getAllItemsQueryConfig(courseName, moduleName, "Page")
),
combine: (results) => ({
data: results.flatMap((r, i) =>
r.data.map((page) => ({
moduleName: moduleNames[i],
page,
}))
),
pending: results.some((r) => r.isPending),
}),
});
// const { data: pagesAndModules } = useSuspenseQueries({
// queries: moduleNames.map((moduleName) =>
// getAllItemsQueryConfig(courseName, moduleName, "Page")
// ),
// combine: (results) => ({
// data: results.flatMap((r, i) =>
// r.data.map((page) => ({
// moduleName: moduleNames[i],
// page,
// }))
// ),
// pending: results.some((r) => r.isPending),
// }),
// });
return { assignmentsAndModules, quizzesAndModules, pagesAndModules };
return { assignmentsAndModules, quizzesAndModules: [], pagesAndModules: [] };
};