diff --git a/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx b/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx index 553ad8a..c67cb3a 100644 --- a/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/CalendarMonth.tsx @@ -20,15 +20,15 @@ export const CalendarMonth = ({ month }: { month: CalendarMonthModel }) => { return ( <>

- + {/* */}

diff --git a/nextjs/src/app/course/[courseName]/calendar/Day.tsx b/nextjs/src/app/course/[courseName]/calendar/Day.tsx index 7e9b618..b4b4224 100644 --- a/nextjs/src/app/course/[courseName]/calendar/Day.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/Day.tsx @@ -10,20 +10,21 @@ export default function Day({ day, month }: { day: Date; month: number }) { const backgroundClass = isInSameMonth ? "" : "bg-slate-900"; return ( - <> +
+ {day.getDate()} {moduleNames.map((moduleName) => (
itemDrop(day)} onDragOver={(e) => e.preventDefault()} > - {day.getDate()}
))} - +
); } diff --git a/nextjs/src/app/course/[courseName]/layout.tsx b/nextjs/src/app/course/[courseName]/layout.tsx index bba7fd9..9a1a852 100644 --- a/nextjs/src/app/course/[courseName]/layout.tsx +++ b/nextjs/src/app/course/[courseName]/layout.tsx @@ -14,7 +14,7 @@ export default async function CourseLayout({ await hydrateCourse(queryClient, courseName); const dehydratedState = dehydrate(queryClient); - console.log("hydrated course state", courseName, dehydratedState); + // console.log("hydrated course state", courseName, dehydratedState); return ( {children} ); diff --git a/nextjs/src/hooks/localCourse/assignmentHooks.ts b/nextjs/src/hooks/localCourse/assignmentHooks.ts index 4601334..2b95504 100644 --- a/nextjs/src/hooks/localCourse/assignmentHooks.ts +++ b/nextjs/src/hooks/localCourse/assignmentHooks.ts @@ -10,7 +10,12 @@ export const useAssignmentNamesQuery = ( useSuspenseQuery({ queryKey: localCourseKeys.assignmentNames(courseName, moduleName), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/assignments`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/assignments" const response = await axios.get(url); return response.data; }, @@ -21,6 +26,7 @@ const getAssignmentQueryConfig = ( moduleName: string, assignmentName: string ) => { + if (assignmentName === "Final Project Milestone ") console.log(moduleName); return { queryKey: localCourseKeys.assignment( courseName, @@ -28,7 +34,15 @@ const getAssignmentQueryConfig = ( assignmentName ), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/assignments/${assignmentName}`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/assignments/" + + encodeURIComponent(assignmentName); + + console.log(url); const response = await axios.get(url); return response.data; }, diff --git a/nextjs/src/hooks/localCourse/localCoursesHooks.ts b/nextjs/src/hooks/localCourse/localCoursesHooks.ts index cb807bf..82d5ba3 100644 --- a/nextjs/src/hooks/localCourse/localCoursesHooks.ts +++ b/nextjs/src/hooks/localCourse/localCoursesHooks.ts @@ -59,7 +59,6 @@ export const useModuleDataQuery = (courseName: string, moduleName: string) => { ); const { data: pages } = usePagesQueries(courseName, moduleName, pageNames); - return { assignments, quizzes, diff --git a/nextjs/src/hooks/localCourse/pageHooks.ts b/nextjs/src/hooks/localCourse/pageHooks.ts index bcfc158..a8fe9f8 100644 --- a/nextjs/src/hooks/localCourse/pageHooks.ts +++ b/nextjs/src/hooks/localCourse/pageHooks.ts @@ -7,7 +7,12 @@ export const usePageNamesQuery = (courseName: string, moduleName: string) => useSuspenseQuery({ queryKey: localCourseKeys.pageNames(courseName, moduleName), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/pages`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/pages"; const response = await axios.get(url); return response.data; }, @@ -41,7 +46,13 @@ function getPageQueryConfig( return { queryKey: localCourseKeys.quiz(courseName, moduleName, pageName), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/pages/${pageName}`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/pages/" + + encodeURIComponent(pageName); const response = await axios.get(url); return response.data; }, diff --git a/nextjs/src/hooks/localCourse/quizHooks.ts b/nextjs/src/hooks/localCourse/quizHooks.ts index 21659e6..f425509 100644 --- a/nextjs/src/hooks/localCourse/quizHooks.ts +++ b/nextjs/src/hooks/localCourse/quizHooks.ts @@ -12,7 +12,12 @@ export const useQuizNamesQuery = (courseName: string, moduleName: string) => useSuspenseQuery({ queryKey: localCourseKeys.quizNames(courseName, moduleName), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/quizzes`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/quizzes"; const response = await axios.get(url); return response.data; }, @@ -47,7 +52,13 @@ function getQuizQueryConfig( return { queryKey: localCourseKeys.quiz(courseName, moduleName, quizName), queryFn: async (): Promise => { - const url = `/api/courses/${courseName}/modules/${moduleName}/quizzes/${quizName}`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/quizzes/" + + encodeURIComponent(quizName); const response = await axios.get(url); return response.data; }, @@ -66,7 +77,13 @@ export const useUpdateQuizMutation = (courseName: string) => { moduleName: string; quizName: string; }) => { - const url = `/api/courses/${courseName}/modules/${moduleName}/quizzes/${quizName}`; + const url = + "/api/courses/" + + encodeURIComponent(courseName) + + "/modules/" + + encodeURIComponent(moduleName) + + "/quizzes/" + + encodeURIComponent(quizName); await axios.put(url, quiz); }, onSuccess: (_, { moduleName, quizName }) => {