1- import React , { useEffect , useRef } from 'react' ;
1+ import React , { useEffect , useRef , useState } from 'react' ;
22
33function CoursePagePopup ( {
44 favouriteCourses,
@@ -10,6 +10,7 @@ function CoursePagePopup({
1010 reviewPresenter,
1111} ) {
1212 const treeRef = useRef ( null ) ;
13+ const [ showOverlay , setShowOverlay ] = useState ( true ) ;
1314
1415 useEffect ( ( ) => {
1516 const handleKeyDown = ( event ) => {
@@ -40,7 +41,10 @@ function CoursePagePopup({
4041 >
4142 < div
4243 className = "bg-indigo-300/75 backdrop-blur-lg h-full w-3/4 flex flex-col overflow-auto"
43- onClick = { ( e ) => e . stopPropagation ( ) }
44+ onClick = { ( e ) => {
45+ e . stopPropagation ( ) ;
46+ setShowOverlay ( true ) ;
47+ } }
4448 >
4549 < div className = "flex-1" >
4650 < div className = "px-10 py-10 md:px-20 md:py-16 text-slate-900 space-y-12 font-sans" >
@@ -97,15 +101,27 @@ function CoursePagePopup({
97101 { /* Prerequisite Graph Tree Section */ }
98102 < div >
99103 < h3 className = "text-2xl font-semibold text-[#2e2e4f] mb-0.5" > Prerequisite Graph Tree</ h3 >
100- < div className = "mb-4 h-0.5 w-full bg-violet-500" > </ div >
101- < div
102- className = "bg-indigo-300/50 outline-none focus:outline-none focus:ring-2 focus:ring-violet-600 rounded-lg transition-shadow"
103- ref = { treeRef }
104- onClick = { handleTreeClick }
105- tabIndex = { 0 }
106- >
107- { prerequisiteTree }
108- </ div >
104+ < div className = "mb-4 h-0.5 w-full bg-violet-500 rounded-lg" > </ div >
105+ < div className = "relative rounded-lg" >
106+ { showOverlay && (
107+ < div
108+ className = "absolute inset-0 z-10 bg-indigo-200/10 rounded-lg cursor-pointer flex items-center justify-center z-51"
109+ onClick = { ( e ) => {
110+ e . stopPropagation ( ) ;
111+ setShowOverlay ( false ) ;
112+ } }
113+ >
114+ </ div >
115+ ) }
116+ < div
117+ className = "bg-indigo-300/50 outline-none focus:outline-none focus:ring-2 focus:ring-violet-600 rounded-lg transition-shadow"
118+ ref = { treeRef }
119+ onClick = { handleTreeClick }
120+ tabIndex = { 0 }
121+ >
122+ { prerequisiteTree }
123+ </ div >
124+ </ div >
109125 </ div >
110126 { /* Reviews Section (optional) */ }
111127 { reviewPresenter && (
0 commit comments