diff --git a/nextjs/src/app/CourseList.tsx b/nextjs/src/app/CourseList.tsx index 8992e69..68e440a 100644 --- a/nextjs/src/app/CourseList.tsx +++ b/nextjs/src/app/CourseList.tsx @@ -8,13 +8,11 @@ export default function CourseList() { return (
{allSettings.map((settings) => ( - - {settings.name} - +
+ + {settings.name} + +
))}
); diff --git a/nextjs/src/app/course/[courseName]/CourseNavigation.tsx b/nextjs/src/app/course/[courseName]/CourseNavigation.tsx new file mode 100644 index 0000000..4bef877 --- /dev/null +++ b/nextjs/src/app/course/[courseName]/CourseNavigation.tsx @@ -0,0 +1,21 @@ +"use client"; +import { useLocalCourseSettingsQuery } from "@/hooks/localCourse/localCoursesHooks"; +import Link from "next/link"; + +export function CourseNavigation() { + const { data: settings } = useLocalCourseSettingsQuery(); + return ( +
+ + Back to Course List + + + View in Canvas + +
+ ); +} diff --git a/nextjs/src/app/course/[courseName]/calendar/Day.tsx b/nextjs/src/app/course/[courseName]/calendar/Day.tsx index facf367..db3f9b3 100644 --- a/nextjs/src/app/course/[courseName]/calendar/Day.tsx +++ b/nextjs/src/app/course/[courseName]/calendar/Day.tsx @@ -122,10 +122,13 @@ function DraggableListItem({ }) { const { courseName } = useCourseContext(); return ( -
- - {item.name} - -
+ {item.name} + ); } diff --git a/nextjs/src/app/course/[courseName]/context/DraggingContextProvider.tsx b/nextjs/src/app/course/[courseName]/context/DraggingContextProvider.tsx index 2caeb8c..a4a68e3 100644 --- a/nextjs/src/app/course/[courseName]/context/DraggingContextProvider.tsx +++ b/nextjs/src/app/course/[courseName]/context/DraggingContextProvider.tsx @@ -25,9 +25,9 @@ export default function DraggingContextProvider({ const itemDrop = useCallback( (e: DragEvent, day: string | undefined) => { - const itemBeingDragged = JSON.parse( - e.dataTransfer.getData("draggableItem") - ); + const rawData = e.dataTransfer.getData("draggableItem"); + // console.log(rawData); + const itemBeingDragged = JSON.parse(rawData); if (itemBeingDragged && day) { const dayAsDate = getDateFromStringOrThrow(day, "in drop callback"); diff --git a/nextjs/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/EditAssignment.tsx b/nextjs/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/EditAssignment.tsx index c9db901..9b2229e 100644 --- a/nextjs/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/EditAssignment.tsx +++ b/nextjs/src/app/course/[courseName]/modules/[moduleName]/assignment/[assignmentName]/EditAssignment.tsx @@ -26,22 +26,23 @@ export default function EditAssignment({ useEffect(() => { const delay = 500; const handler = setTimeout(() => { - const updatedAssignment = - localAssignmentMarkdown.parseMarkdown(assignmentText); - if ( - localAssignmentMarkdown.toMarkdown(assignment) !== - localAssignmentMarkdown.toMarkdown(updatedAssignment) - ) { - console.log("updating assignment"); - try { + try { + const updatedAssignment = + localAssignmentMarkdown.parseMarkdown(assignmentText); + if ( + localAssignmentMarkdown.toMarkdown(assignment) !== + localAssignmentMarkdown.toMarkdown(updatedAssignment) + ) { + console.log("updating assignment"); updateAssignment.mutate({ assignment: updatedAssignment, moduleName, assignmentName, }); - } catch (e: any) { - setError(e.toString()); } + setError(""); + } catch (e: any) { + setError(e.toString()); } }, delay); @@ -55,7 +56,7 @@ export default function EditAssignment({ moduleName, updateAssignment, ]); - + return (
@@ -68,9 +69,7 @@ export default function EditAssignment({
- +
); diff --git a/nextjs/src/app/course/[courseName]/modules/[moduleName]/page/[pageName]/EditPage.tsx b/nextjs/src/app/course/[courseName]/modules/[moduleName]/page/[pageName]/EditPage.tsx index ff71114..11e913b 100644 --- a/nextjs/src/app/course/[courseName]/modules/[moduleName]/page/[pageName]/EditPage.tsx +++ b/nextjs/src/app/course/[courseName]/modules/[moduleName]/page/[pageName]/EditPage.tsx @@ -35,21 +35,22 @@ export default function EditPage({ useEffect(() => { const delay = 500; const handler = setTimeout(() => { - const updatedPage = localPageMarkdownUtils.parseMarkdown(pageText); - if ( - localPageMarkdownUtils.toMarkdown(page) !== - localPageMarkdownUtils.toMarkdown(updatedPage) - ) { - console.log("updating assignment"); - try { + try { + const updatedPage = localPageMarkdownUtils.parseMarkdown(pageText); + if ( + localPageMarkdownUtils.toMarkdown(page) !== + localPageMarkdownUtils.toMarkdown(updatedPage) + ) { + console.log("updating page"); updatePage.mutate({ page: updatedPage, moduleName, pageName, }); - } catch (e: any) { - setError(e.toString()); } + setError(""); + } catch (e: any) { + setError(e.toString()); } }, delay); diff --git a/nextjs/src/app/course/[courseName]/modules/[moduleName]/quiz/[quizName]/EditQuiz.tsx b/nextjs/src/app/course/[courseName]/modules/[moduleName]/quiz/[quizName]/EditQuiz.tsx index 3bbc3d6..65fbb00 100644 --- a/nextjs/src/app/course/[courseName]/modules/[moduleName]/quiz/[quizName]/EditQuiz.tsx +++ b/nextjs/src/app/course/[courseName]/modules/[moduleName]/quiz/[quizName]/EditQuiz.tsx @@ -23,20 +23,23 @@ export default function EditQuiz({ useEffect(() => { const delay = 500; const handler = setTimeout(() => { - if ( - quizMarkdownUtils.toMarkdown(quiz) !== - quizMarkdownUtils.toMarkdown(quizMarkdownUtils.parseMarkdown(quizText)) - ) { - try { + try { + if ( + quizMarkdownUtils.toMarkdown(quiz) !== + quizMarkdownUtils.toMarkdown( + quizMarkdownUtils.parseMarkdown(quizText) + ) + ) { const updatedQuiz = quizMarkdownUtils.parseMarkdown(quizText); updateQuizMutation.mutate({ quiz: updatedQuiz, moduleName, quizName, }); - } catch (e: any) { - setError(e.toString()); } + setError(""); + } catch (e: any) { + setError(e.toString()); } }, delay); diff --git a/nextjs/src/app/course/[courseName]/page.tsx b/nextjs/src/app/course/[courseName]/page.tsx index cd543f8..c7c300e 100644 --- a/nextjs/src/app/course/[courseName]/page.tsx +++ b/nextjs/src/app/course/[courseName]/page.tsx @@ -4,6 +4,7 @@ import ModuleList from "./modules/ModuleList"; import DraggingContextProvider from "./context/DraggingContextProvider"; import Link from "next/link"; import CourseTitle from "./CourseTitle"; +import { CourseNavigation } from "./CourseNavigation"; export default async function CoursePage({}: {}) { return ( @@ -13,12 +14,7 @@ export default async function CoursePage({}: {}) {
-
- - Back to Course List - -
- +