about summary refs log tree commit diff
path: root/src/state/shell/composer.tsx
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-11-16 08:18:59 -0800
committerGitHub <noreply@github.com>2023-11-16 08:18:59 -0800
commita84b2f9f2f64b1d434c5adbb12af6f7d76ba42ea (patch)
treee430b8032350caa18b8cdd3140a4d94c96dfd6ce /src/state/shell/composer.tsx
parent0de8d40981fecdeaec92307bafe121ccb2091b45 (diff)
downloadvoidsky-a84b2f9f2f64b1d434c5adbb12af6f7d76ba42ea.tar.zst
Close active elems (react-query refactor) (#1926)
* Refactor closeAny and closeAllActiveElements

* Add close lightbox

* Switch to hooks

* Fixes
Diffstat (limited to 'src/state/shell/composer.tsx')
-rw-r--r--src/state/shell/composer.tsx11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/state/shell/composer.tsx b/src/state/shell/composer.tsx
index a350bd7f3..70d77a7e0 100644
--- a/src/state/shell/composer.tsx
+++ b/src/state/shell/composer.tsx
@@ -34,13 +34,15 @@ export interface ComposerOpts {
 type StateContext = ComposerOpts | undefined
 type ControlsContext = {
   openComposer: (opts: ComposerOpts) => void
-  closeComposer: () => void
+  closeComposer: () => boolean
 }
 
 const stateContext = React.createContext<StateContext>(undefined)
 const controlsContext = React.createContext<ControlsContext>({
   openComposer(_opts: ComposerOpts) {},
-  closeComposer() {},
+  closeComposer() {
+    return false
+  },
 })
 
 export function Provider({children}: React.PropsWithChildren<{}>) {
@@ -51,11 +53,14 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
         setState(opts)
       },
       closeComposer() {
+        let wasOpen = !!state
         setState(undefined)
+        return wasOpen
       },
     }),
-    [setState],
+    [setState, state],
   )
+
   return (
     <stateContext.Provider value={state}>
       <controlsContext.Provider value={api}>