55c2ca5b92
* minimal landing page add a minimal gate remove overlap row add bg to avatar set implement basic mock up add header of mock add route * add navigation * create starter pack landing page * add state reducer * make value an array * implement state w/ steps * add back the flex * view header back button * add button text * add button text * add details screen * add button states * proper use of button * oops * rm extra state * use keyboard aware scrollview * rm log * remove some stuff * remove avatar from landing * add list for profiles * add profile card w/ button * add feeds * add processing state * support editing a pack * fix undefined error * add logged-in view routes * fix navigation link * add dummy button to settings * add starter pack screen * update prop * add a pager for starter packs * add placeholder for feeds * add share/edit buttons * tsignore for now, fix merge issues
15 lines
471 B
TypeScript
15 lines
471 B
TypeScript
import {useSafeAreaInsets} from 'react-native-safe-area-context'
|
|
|
|
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
|
|
import {clamp} from 'lib/numbers'
|
|
import {isWeb} from 'platform/detection'
|
|
|
|
export function useBottomBarOffset(modifier: number = 0) {
|
|
const {isTabletOrDesktop} = useWebMediaQueries()
|
|
const {bottom: bottomInset} = useSafeAreaInsets()
|
|
return (
|
|
(isWeb && isTabletOrDesktop ? 0 : clamp(60 + bottomInset, 60, 75)) +
|
|
modifier
|
|
)
|
|
}
|