about summary refs log tree commit diff
path: root/src/state
diff options
context:
space:
mode:
Diffstat (limited to 'src/state')
-rw-r--r--src/state/modals/index.tsx6
-rw-r--r--src/state/util.ts7
2 files changed, 8 insertions, 5 deletions
diff --git a/src/state/modals/index.tsx b/src/state/modals/index.tsx
index f8a64dc2d..ced14335b 100644
--- a/src/state/modals/index.tsx
+++ b/src/state/modals/index.tsx
@@ -169,11 +169,11 @@ const ModalContext = React.createContext<{
 const ModalControlContext = React.createContext<{
   openModal: (modal: Modal) => void
   closeModal: () => boolean
-  closeAllModals: () => void
+  closeAllModals: () => boolean
 }>({
   openModal: () => {},
   closeModal: () => false,
-  closeAllModals: () => {},
+  closeAllModals: () => false,
 })
 
 /**
@@ -206,7 +206,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
   })
 
   const closeAllModals = useNonReactiveCallback(() => {
+    let wasActive = activeModals.length > 0
     setActiveModals([])
+    return wasActive
   })
 
   unstable__openModal = openModal
diff --git a/src/state/util.ts b/src/state/util.ts
index f65d14a84..cdd8214a9 100644
--- a/src/state/util.ts
+++ b/src/state/util.ts
@@ -1,9 +1,10 @@
 import {useCallback} from 'react'
+
+import {useDialogStateControlContext} from '#/state/dialogs'
 import {useLightboxControls} from './lightbox'
 import {useModalControls} from './modals'
 import {useComposerControls} from './shell/composer'
 import {useSetDrawerOpen} from './shell/drawer-open'
-import {useDialogStateControlContext} from '#/state/dialogs'
 
 /**
  * returns true if something was closed
@@ -22,10 +23,10 @@ export function useCloseAnyActiveElement() {
     if (closeModal()) {
       return true
     }
-    if (closeComposer()) {
+    if (closeAllDialogs()) {
       return true
     }
-    if (closeAllDialogs()) {
+    if (closeComposer()) {
       return true
     }
     setDrawerOpen(false)