Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import React from 'react'import {SharedValue, useSharedValue} from 'react-native-reanimated'
type StateContext = { headerHeight: SharedValue<number> footerHeight: SharedValue<number>}
const stateContext = React.createContext<StateContext>({ headerHeight: { value: 0, addListener() {}, removeListener() {}, modify() {}, get() { return 0 }, set() {}, }, footerHeight: { value: 0, addListener() {}, removeListener() {}, modify() {}, get() { return 0 }, set() {}, },})
export function Provider({children}: React.PropsWithChildren<{}>) { const headerHeight = useSharedValue(0) const footerHeight = useSharedValue(0)
const value = React.useMemo( () => ({ headerHeight, footerHeight, }), [headerHeight, footerHeight], )
return <stateContext.Provider value={value}>{children}</stateContext.Provider>}
export function useShellLayout() { return React.useContext(stateContext)}