diff --git a/src/views/components/calendar/Calendar.tsx b/src/views/components/calendar/Calendar.tsx index 580dfeb5..7cd5799b 100644 --- a/src/views/components/calendar/Calendar.tsx +++ b/src/views/components/calendar/Calendar.tsx @@ -7,6 +7,7 @@ import CalendarHeader from '@views/components/calendar/CalenderHeader'; import ImportantLinks from '@views/components/calendar/ImportantLinks'; import Divider from '@views/components/common/Divider'; import CourseCatalogInjectedPopup from '@views/components/injected/CourseCatalogInjectedPopup/CourseCatalogInjectedPopup'; +import { CalendarContext } from '@views/contexts/CalendarContext'; import { useFlattenedCourseSchedule } from '@views/hooks/useFlattenedCourseSchedule'; import { MessageListener } from 'chrome-extension-toolkit'; import React, { useEffect, useState } from 'react'; @@ -64,39 +65,41 @@ export default function Calendar(): JSX.Element { }, [course]); return ( -
- { - setShowSidebar(!showSidebar); - }} - /> -
- {showSidebar && ( -
-
- - - - - + +
+ { + setShowSidebar(!showSidebar); + }} + /> +
+ {showSidebar && ( +
+
+ + + + + +
+
- + )} +
+
+ +
+
- )} -
-
- -
-
-
- setShowPopup(false)} - open={showPopup} - afterLeave={() => setCourse(null)} - /> -
+ setShowPopup(false)} + open={showPopup} + afterLeave={() => setCourse(null)} + /> +
+ ); } diff --git a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx index 37f04adb..00f6f6f4 100644 --- a/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx +++ b/src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx @@ -7,6 +7,7 @@ import { Chip, flagMap } from '@views/components/common/Chip'; import Divider from '@views/components/common/Divider'; import Link from '@views/components/common/Link'; import Text from '@views/components/common/Text/Text'; +import { useCalendar } from '@views/contexts/CalendarContext'; import React from 'react'; import Add from '~icons/material-symbols/add'; @@ -15,6 +16,7 @@ import CloseIcon from '~icons/material-symbols/close'; import Copy from '~icons/material-symbols/content-copy'; import Description from '~icons/material-symbols/description'; import Mood from '~icons/material-symbols/mood'; +import OpenNewIcon from '~icons/material-symbols/open-in-new'; import Remove from '~icons/material-symbols/remove'; import Reviews from '~icons/material-symbols/reviews'; @@ -50,6 +52,7 @@ export default function HeadingAndActions({ course, activeSchedule, onClose }: H const { courseName, department, number: courseNumber, uniqueId, instructors, flags, schedule } = course; const courseAdded = activeSchedule.courses.some(ourCourse => ourCourse.uniqueId === uniqueId); const formattedUniqueId = uniqueId.toString().padStart(5, '0'); + const isInCalendar = useCalendar(); const getInstructorFullName = (instructor: Instructor) => { const { firstName = '', lastName = '' } = instructor; @@ -179,8 +182,16 @@ export default function HeadingAndActions({ course, activeSchedule, onClose }: H