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";
};
