@applicaster/zapp-react-dom-app
Version:
Zapp App Component for Applicaster's Quick Brick React Native App
35 lines (24 loc) • 950 B
text/typescript
import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks";
import {
useHomeRiver,
useRivers,
} from "@applicaster/zapp-react-native-utils/reactHooks/state";
import { last } from "@applicaster/zapp-react-native-utils/utils";
export const useCurrentScreenIsHome = (): boolean => {
const navigator = useNavigation();
const homeRiver = useHomeRiver();
const homePath = `/river/${homeRiver.id}`;
return homePath === navigator.currentRoute;
};
export const useCurrentScreenIsRoot = (): boolean => {
const { mainStack = [] } = useNavigation();
// root screen is the bottom(first pushed, deepest) element of the stack
return mainStack.length <= 1;
};
export const useCurrentScreenIsTabs = (): boolean => {
const navigator = useNavigation();
const riverId = last(navigator.currentRoute.split("/"));
const rivers = useRivers();
const river = rivers[riverId];
return river?.type === "tabs_screen";
};