diff --git a/my-app/src/views/Components/CoursePagePopup.jsx b/my-app/src/views/Components/CoursePagePopup.jsx
index ce8b7e54..f64ee474 100644
--- a/my-app/src/views/Components/CoursePagePopup.jsx
+++ b/my-app/src/views/Components/CoursePagePopup.jsx
@@ -1,120 +1,110 @@
import React, { useEffect, useRef } from 'react';
function CoursePagePopup({
- favouriteCourses,
- addFavourite,
- removeFavourite,
- handleFavouriteClick,
- isOpen,
- onClose,
- course,
- prerequisiteTree
-}) {
- const treeRef = useRef(null);
+ favouriteCourses,
+ handleFavouriteClick,
+ isOpen,
+ onClose,
+ course,
+ prerequisiteTree,
+ reviewPresenter,
+ }) {
+ const treeRef = useRef(null);
- useEffect(() => {
- const handleKeyDown = (event) => {
- if (event.key === 'Escape') {
- onClose();
- }
- };
-
- if (isOpen) {
- window.addEventListener("keydown", handleKeyDown);
- }
-
- return () => {
- window.removeEventListener("keydown", handleKeyDown);
- };
- }, [isOpen, onClose]);
-
- const handleTreeClick = () => {
- if (treeRef.current) {
- treeRef.current.focus(); // gives it focus
- }
- };
+ useEffect(() => {
+ const handleKeyDown = (event) => {
+ if (event.key === 'Escape') {
+ onClose();
+ }
+ };
+ if (isOpen) {
+ window.addEventListener('keydown', handleKeyDown);
+ }
+ return () => {
+ window.removeEventListener('keydown', handleKeyDown);
+ };
+ }, [isOpen, onClose]);
- if (!isOpen || !course) return null; // Don't render if not open or course not selected
-
- return (
-
-
e.stopPropagation()}
- >
-
-
- {/* Course Title Section */}
-
-
- {course.code} - {course.name}
- ({course.credits} Credits)
-
-
-
-
-
-
-
- {/* Description Section */}
-
-
Course Description
-
-
-
-
- {/* Prerequisite Graph Tree Section */}
-
+ const handleTreeClick = () => {
+ if (treeRef.current) {
+ treeRef.current.focus();
+ }
+ };
-
- Prerequisite Graph Tree
-
-
-
- {prerequisiteTree}
-
-
+ if (!isOpen || !course) return null;
- {/* Reviews Section */}
-
-
Reviews
-
-
- Here would be some reviews of the course...
-
+ return (
+
+
e.stopPropagation()}
+ >
+
+
+ {/* Course Title Section */}
+
+
+ {course.code} - {course.name}
+
+ ({course.credits} Credits)
+
+
+
+
+
+
+
+ {/* Description Section */}
+
+
Course Description
+
+
+
+ {/* Prerequisite Graph Tree Section */}
+
+
Prerequisite Graph Tree
+
+
+ {prerequisiteTree}
+
+
+ {/* Reviews Section (optional) */}
+ {reviewPresenter && (
+
+
Reviews
+
+ {reviewPresenter}
+
+ )}
+
+
+
-
-
-
-
- );
+ );
+}
-export default CoursePagePopup;
+export default CoursePagePopup;
\ No newline at end of file
diff --git a/my-app/src/views/Components/FavouriteDropdown.jsx b/my-app/src/views/Components/FavouriteDropdown.jsx
index 5bba1f55..3611620b 100644
--- a/my-app/src/views/Components/FavouriteDropdown.jsx
+++ b/my-app/src/views/Components/FavouriteDropdown.jsx
@@ -9,9 +9,9 @@ function FavouritesDropdown(props) {
props.favouriteCourses.map(course => (
{
- console.log('Clicked:', course); // check browser console
+ console.log('Clicked:', course);
props.setSelectedCourse(course);
- props.setIsPopupOpen(true); // Ensure popup state is updated
+ props.setIsPopupOpen(true);
}}
key={course.code}
className="p-2 flex justify-between items-center w-full border border-solid border-black">
@@ -19,7 +19,7 @@ function FavouritesDropdown(props) {
)}
- {/* Ensure popup is conditionally rendered */}
-
+
{props.isPopupOpen && props.popup}
{props.favouriteCourses.length > 0 && (