diff --git a/src/components/generator/Calendar/CalendarComponent.jsx b/src/components/generator/Calendar/CalendarComponent.jsx index a6c63ca..5355a63 100644 --- a/src/components/generator/Calendar/CalendarComponent.jsx +++ b/src/components/generator/Calendar/CalendarComponent.jsx @@ -18,6 +18,7 @@ import { getDaysOfWeek, getTimeBlockEvents, } from "@/lib/generator/createCalendarEvents"; +import { buildCourseDetails } from "@/lib/generator/buildCourseDetails"; import { getCourseData } from "@/lib/generator/courseData"; import { CourseDetailsContext } from "@/lib/contexts/generator/CourseDetailsContext"; import { CourseColorsContext } from "@/lib/contexts/generator/CourseColorsContext"; @@ -179,25 +180,7 @@ export default function CalendarComponent({ currentColors, ); - const courseDetails = Array.from( - new Map( - newEvents - .filter((event) => !event.extendedProps.isBlocked) - .map((event) => { - let titleArray = event.title.trim().split(" "); - const detail = { - name: titleArray[0], - courseName: event.extendedProps.courseName || "", - instructor: event.description, - section: titleArray.pop(), - startDate: event.startRecur, - endDate: event.endRecur, - }; - - return [detail.name, detail]; - }), - ).values(), - ); + const courseDetails = buildCourseDetails(newEvents); setCourseDetails(courseDetails); setEvents(newEvents); diff --git a/src/components/generator/Calendar/hooks/useCalendarEvents.js b/src/components/generator/Calendar/hooks/useCalendarEvents.js index 80c1ffb..cb6b9e6 100644 --- a/src/components/generator/Calendar/hooks/useCalendarEvents.js +++ b/src/components/generator/Calendar/hooks/useCalendarEvents.js @@ -3,6 +3,7 @@ import { createCalendarEvents, getDaysOfWeek, } from "@/lib/generator/createCalendarEvents"; +import { buildCourseDetails } from "@/lib/generator/buildCourseDetails"; import { getCourseData } from "@/lib/generator/courseData"; import { checkForWeekendClasses } from "../utils/calendarUtils.jsx"; @@ -71,25 +72,7 @@ export const useCalendarEvents = ({ currentColors, ); - const courseDetails = Array.from( - new Map( - newEvents - .filter((event) => !event.extendedProps.isBlocked) - .map((event) => { - let titleArray = event.title.trim().split(" "); - const detail = { - name: titleArray[0], - courseName: event.extendedProps.courseName || "", - instructor: event.description, - section: titleArray.pop(), - startDate: event.startRecur, - endDate: event.endRecur, - }; - - return [detail.name, detail]; - }), - ).values(), - ); + const courseDetails = buildCourseDetails(newEvents); setCourseDetails(courseDetails); setEvents(newEvents); diff --git a/src/components/generator/Forms/CourseList/CourseListItemComponent.jsx b/src/components/generator/Forms/CourseList/CourseListItemComponent.jsx index db6a271..d029a71 100644 --- a/src/components/generator/Forms/CourseList/CourseListItemComponent.jsx +++ b/src/components/generator/Forms/CourseList/CourseListItemComponent.jsx @@ -142,7 +142,7 @@ export default function CourseListComponent({