diff --git a/FrontEnd/src/components/Proctoring/ProctorMonitor.jsx b/FrontEnd/src/components/Proctoring/ProctorMonitor.jsx index 79322ae..c66e3da 100644 --- a/FrontEnd/src/components/Proctoring/ProctorMonitor.jsx +++ b/FrontEnd/src/components/Proctoring/ProctorMonitor.jsx @@ -182,6 +182,10 @@ const ProctorMonitor = ({ requestFullscreen(); setupEventListeners(); } + } else if (!isActive) { + // When inactive (quiz finished), close modal + console.log('🔴 ProctorMonitor deactivated - closing modal'); + setShowIdentityModal(false); } }; @@ -194,6 +198,16 @@ const ProctorMonitor = ({ }; }, [isActive, modelLoaded]); + /** + * Close modal when not active + */ + useEffect(() => { + if (!isActive && showIdentityModal) { + console.log('🔴 Closing identity modal because isActive=false'); + setShowIdentityModal(false); + } + }, [isActive, showIdentityModal]); + /** * Debug: Log camera state changes */ diff --git a/FrontEnd/src/components/WatchCourse/QuizContent.jsx b/FrontEnd/src/components/WatchCourse/QuizContent.jsx index c4dc3da..234715d 100644 --- a/FrontEnd/src/components/WatchCourse/QuizContent.jsx +++ b/FrontEnd/src/components/WatchCourse/QuizContent.jsx @@ -865,7 +865,7 @@ const QuizContent = ({ }); } }} - isActive={showVerificationModal || (hasStarted && !quizResult)} + isActive={!quizResult && (showVerificationModal || hasStarted)} > {!hasStarted ? (