mirror of https://git.lenooby09.tech/LeNooby09/social-app.git
at schema-errors 32 lines 1.1 kB view raw
1import {useNavigationState} from '@react-navigation/native' 2 3import {getTabState, TabState} from 'lib/routes/helpers' 4 5export function useNavigationTabState() { 6 return useNavigationState(state => { 7 const res = { 8 isAtHome: getTabState(state, 'Home') !== TabState.Outside, 9 isAtSearch: getTabState(state, 'Search') !== TabState.Outside, 10 isAtFeeds: getTabState(state, 'Feeds') !== TabState.Outside, 11 isAtNotifications: 12 getTabState(state, 'Notifications') !== TabState.Outside, 13 isAtMyProfile: getTabState(state, 'MyProfile') !== TabState.Outside, 14 isAtMessages: getTabState(state, 'Messages') !== TabState.Outside, 15 } 16 17 if ( 18 !res.isAtHome && 19 !res.isAtSearch && 20 !res.isAtFeeds && 21 !res.isAtNotifications && 22 !res.isAtMyProfile && 23 !res.isAtMessages 24 ) { 25 // HACK for some reason useNavigationState will give us pre-hydration results 26 // and not update after, so we force isAtHome if all came back false 27 // -prf 28 res.isAtHome = true 29 } 30 return res 31 }) 32}