diff --git a/my-app/src/styles.css b/my-app/src/styles.css index a461c505..f1d8c73c 100644 --- a/my-app/src/styles.css +++ b/my-app/src/styles.css @@ -1 +1 @@ -@import "tailwindcss"; \ No newline at end of file +@import "tailwindcss"; diff --git a/my-app/src/views/Components/CoursePagePopup.jsx b/my-app/src/views/Components/CoursePagePopup.jsx index ad7ae352..43613319 100644 --- a/my-app/src/views/Components/CoursePagePopup.jsx +++ b/my-app/src/views/Components/CoursePagePopup.jsx @@ -1,6 +1,30 @@ -import React from 'react'; +import React, { useEffect, useRef } from 'react' function CoursePagePopup({ isOpen, onClose, course, prerequisiteTree }) { + + 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 + } + }; + if (!isOpen || !course) return null; // Don't render if not open or course not selected return (
- +
{/* Prerequisite Graph Tree Section */}
-

Prerequisite Graph Tree

+ +

+ Prerequisite Graph Tree +

-
+
{prerequisiteTree}
+ +
{/* Reviews Section */}