Bluesky app fork with some witchin' additions 馃挮
at main 27 lines 772 B view raw
1import {createContext, useContext, useState} from 'react' 2 3type StateContext = boolean 4type SetContext = (v: boolean) => void 5 6const stateContext = createContext<StateContext>(false) 7stateContext.displayName = 'DrawerOpenStateContext' 8const setContext = createContext<SetContext>((_: boolean) => {}) 9setContext.displayName = 'DrawerOpenSetContext' 10 11export function Provider({children}: React.PropsWithChildren<{}>) { 12 const [state, setState] = useState(false) 13 14 return ( 15 <stateContext.Provider value={state}> 16 <setContext.Provider value={setState}>{children}</setContext.Provider> 17 </stateContext.Provider> 18 ) 19} 20 21export function useIsDrawerOpen() { 22 return useContext(stateContext) 23} 24 25export function useSetDrawerOpen() { 26 return useContext(setContext) 27}