about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/view/com/composer/Composer.tsx10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx
index 5c7594d61..3891fa268 100644
--- a/src/view/com/composer/Composer.tsx
+++ b/src/view/com/composer/Composer.tsx
@@ -91,7 +91,13 @@ export const ComposePost = observer(function ComposePost({
   const onEscape = useCallback(
     (e: KeyboardEvent) => {
       if (e.key === 'Escape') {
-        store.shell.openModal({
+        const {shell} = store
+
+        if (shell.activeModals.some(modal => modal.name === 'confirm')) {
+          store.shell.closeModal()
+        }
+
+        shell.openModal({
           name: 'confirm',
           title: 'Cancel draft',
           onPressConfirm: onClose,
@@ -102,7 +108,7 @@ export const ComposePost = observer(function ComposePost({
         })
       }
     },
-    [store.shell, onClose],
+    [store, onClose],
   )
 
   useEffect(() => {