Close active elems (react-query refactor) (#1926)
* Refactor closeAny and closeAllActiveElements * Add close lightbox * Switch to hooks * Fixes
This commit is contained in:
parent
0de8d40981
commit
a84b2f9f2f
9 changed files with 101 additions and 66 deletions
|
@ -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}>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue