FactuGES_ERP/apps/web/src/routes/resolve-initial-onboarding-navigation.ts
David d57b71c200 refactor: standardize import statements and formatting across components
- Updated import statements in `textarea.tsx`, `toggle.tsx`, and `tooltip.tsx` for consistency.
- Added missing semicolons and adjusted formatting in `use-mobile.ts` and `use-mobile.tsx`.
- Cleaned up `package.json` and `root.json` files by removing unnecessary line breaks.
- Simplified `turbo.json` by consolidating array formatting for better readability.
2026-09-10 13:26:33 +02:00

32 lines
850 B
TypeScript

export type InitialOnboardingNavigation =
| "login"
| "application"
| "onboarding"
| "provision_onboarding"
| "onboarding_inconsistent";
export type InitialOnboardingNavigationInput = {
isAuthenticated: boolean;
availableCompaniesCount: number;
onboardingStatus: "not_provisioned" | "pending" | "completed";
};
/** Decide la navegación sin leer ni modificar persistencia. */
export function resolveInitialOnboardingNavigation(
input: InitialOnboardingNavigationInput
): InitialOnboardingNavigation {
if (!input.isAuthenticated) {
return "login";
}
if (input.availableCompaniesCount > 0) {
return "application";
}
if (input.onboardingStatus === "pending") {
return "onboarding";
}
if (input.onboardingStatus === "completed") {
return "onboarding_inconsistent";
}
return "provision_onboarding";
}