From 776141498afb972eeb940078b578f5333b250b5c Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Fri, 13 Sep 2024 17:41:56 -0500 Subject: [PATCH] Don't open composer via hotkey if other dialog is already open --- src/state/shell/composer/useComposerKeyboardShortcut.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/state/shell/composer/useComposerKeyboardShortcut.tsx b/src/state/shell/composer/useComposerKeyboardShortcut.tsx index f460621858..dc371e083a 100644 --- a/src/state/shell/composer/useComposerKeyboardShortcut.tsx +++ b/src/state/shell/composer/useComposerKeyboardShortcut.tsx @@ -1,5 +1,7 @@ import React from 'react' +import {useDialogStateContext} from '#/state/dialogs' +import {useModals} from '#/state/modals' import {useComposerControls} from './' /** @@ -35,15 +37,18 @@ function shouldIgnore(event: KeyboardEvent) { export function useComposerKeyboardShortcut() { const {openComposer} = useComposerControls() + const {openDialogs} = useDialogStateContext() + const {isModalActive} = useModals() React.useEffect(() => { function handler(event: KeyboardEvent) { if (shouldIgnore(event)) return + if (openDialogs.current.size > 0 || isModalActive) return if (event.key === 'n' || event.key === 'N') { openComposer({}) } } document.addEventListener('keydown', handler) return () => document.removeEventListener('keydown', handler) - }, [openComposer]) + }, [openComposer, isModalActive, openDialogs]) }