diff options
Diffstat (limited to 'src/state')
-rw-r--r-- | src/state/modals/index.tsx | 6 | ||||
-rw-r--r-- | src/state/util.ts | 7 |
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) |