diff --git a/src/courseware/course/sequence/Unit.jsx b/src/courseware/course/sequence/Unit.jsx index 2c11e000..73c2f9cf 100644 --- a/src/courseware/course/sequence/Unit.jsx +++ b/src/courseware/course/sequence/Unit.jsx @@ -98,6 +98,7 @@ function Unit({ const [iframeHeight, setIframeHeight] = useState(0); const [hasLoaded, setHasLoaded] = useState(false); const [modalOptions, setModalOptions] = useState({ open: false }); + const [shouldDisplayHonorCode, setShouldDisplayHonorCode] = useState(false); const unit = useModel('units', id); const course = useModel('coursewareMeta', courseId); @@ -110,6 +111,14 @@ function Unit({ // Do not remove this hook. See function description. useLoadBearingHook(id); + useEffect(() => { + if (userNeedsIntegritySignature && unit.graded) { + setShouldDisplayHonorCode(true); + } else { + setShouldDisplayHonorCode(false); + } + }, [userNeedsIntegritySignature]); + // We use this ref so that we can hold a reference to the currently active event listener. const messageEventListenerRef = useRef(null); useEffect(() => { @@ -169,7 +178,7 @@ function Unit({ { mmp2p.meta.showLock && ( )} - {!mmp2p.meta.blockContent && unit.graded && userNeedsIntegritySignature && ( + {!mmp2p.meta.blockContent && shouldDisplayHonorCode && ( )} { /** [MM-P2P] Experiment (conditional) */ } - {!mmp2p.meta.blockContent && !userNeedsIntegritySignature && !hasLoaded && ( + {!mmp2p.meta.blockContent && !shouldDisplayHonorCode && !hasLoaded && ( @@ -212,7 +221,7 @@ function Unit({ /> )} { /** [MM-P2P] Experiment (conditional) */ } - { !mmp2p.meta.blockContent && !userNeedsIntegritySignature && ( + { !mmp2p.meta.blockContent && !shouldDisplayHonorCode && (