diff --git a/services/web/frontend/js/features/source-editor/components/cm6-switch-away-survey.tsx b/services/web/frontend/js/features/source-editor/components/cm6-switch-away-survey.tsx index a7b72d67cc..d8b2ba9365 100644 --- a/services/web/frontend/js/features/source-editor/components/cm6-switch-away-survey.tsx +++ b/services/web/frontend/js/features/source-editor/components/cm6-switch-away-survey.tsx @@ -36,29 +36,33 @@ export default function CM6SwitchAwaySurvey() { return } - if (!newSourceEditor) { + if (!newSourceEditor && !richText) { setState('enabled') + } else { + setState('disabled') } }, [newSourceEditor, richText]) useEffect(() => { - if (state === 'enabled') { - const handleKeyDown = () => { - const TIME_FOR_SURVEY_TO_APPEAR = 3000 + const handleKeyDown = () => { + const TIME_FOR_SURVEY_TO_APPEAR = 3000 - setTimeout(() => { + setTimeout(() => { + if (state === 'enabled') { setState('shown') customLocalStorage.setItem( 'editor.has_seen_cm6_switch_away_survey', true ) - }, TIME_FOR_SURVEY_TO_APPEAR) - } - - // can't access the ace editor directly, so add the keydown event - // to window - window?.addEventListener('keydown', handleKeyDown, { once: true }) + } + }, TIME_FOR_SURVEY_TO_APPEAR) } + + // can't access the ace editor directly, so add the keydown event + // to window + window?.addEventListener('keydown', handleKeyDown, { once: true }) + + return () => window?.removeEventListener('keydown', handleKeyDown) }, [state]) const handleClose = useCallback(() => {