All files / features/onboarding useOnboardingNav.ts

100% Statements 7/7
100% Branches 4/4
100% Functions 3/3
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23                  5x 5x   5x     2x     2x        
import { useRouter } from "expo-router";
 
import { stepInfo, type OnboardingRoute } from "./steps";
 
/**
 * Navigation helper for an onboarding screen: exposes its position in the
 * journey plus `goNext` / `goBack` so screens don't hardcode neighbours.
 */
export function useOnboardingNav(route: OnboardingRoute) {
  const router = useRouter();
  const info = stepInfo(route);
 
  return {
    ...info,
    goNext: () => {
      if (info.next) router.push(info.next);
    },
    goBack: () => {
      if (info.prev) router.back();
    },
  };
}