diff --git a/src/libs/Navigation/AppNavigator/AuthScreens.tsx b/src/libs/Navigation/AppNavigator/AuthScreens.tsx index 3d4d9295cd6b..5b851b721366 100644 --- a/src/libs/Navigation/AppNavigator/AuthScreens.tsx +++ b/src/libs/Navigation/AppNavigator/AuthScreens.tsx @@ -382,7 +382,7 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie const unsubscribeDebugShortcut = KeyboardShortcut.subscribe( debugShortcutConfig.shortcutKey, - () => Modal.close(toggleTestToolsModal), + () => toggleTestToolsModal(), debugShortcutConfig.descriptionKey, debugShortcutConfig.modifiers, true, diff --git a/src/libs/actions/TestTool.ts b/src/libs/actions/TestTool.ts index dc7b371bfe12..eb686a6d265c 100644 --- a/src/libs/actions/TestTool.ts +++ b/src/libs/actions/TestTool.ts @@ -2,6 +2,7 @@ import throttle from 'lodash/throttle'; import Onyx from 'react-native-onyx'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; +import * as Modal from './Modal'; let isTestToolsModalOpen = false; Onyx.connect({ @@ -14,7 +15,16 @@ Onyx.connect({ * Throttle the toggle to make the modal stay open if you accidentally tap an extra time, which is easy to do. */ function toggleTestToolsModal() { - const toggle = () => Onyx.set(ONYXKEYS.IS_TEST_TOOLS_MODAL_OPEN, !isTestToolsModalOpen); + const toggle = () => { + const toggleIsTestToolsModalOpen = () => { + Onyx.set(ONYXKEYS.IS_TEST_TOOLS_MODAL_OPEN, !isTestToolsModalOpen); + }; + if (!isTestToolsModalOpen) { + Modal.close(toggleIsTestToolsModalOpen); + return; + } + toggleIsTestToolsModalOpen(); + }; const throttledToggle = throttle(toggle, CONST.TIMING.TEST_TOOLS_MODAL_THROTTLE_TIME); throttledToggle(); }