import type { UserInfo } from '@horux/shared'; /** * Threshold de logins tras el cual el onboarding deja de mostrarse aunque el * user no haya completado todos los pasos. Cubre el caso "el user prefiere * ignorar el onboarding y ya pasaron varias sesiones". */ export const ONBOARDING_LOGIN_THRESHOLD = 4; /** * Decide si la pantalla de onboarding debe mostrarse en el siguiente redirect * post-login. Reglas (lo que pase primero): * 1. El user ya hizo dismiss explícito → no se muestra * 2. El user ya acumuló > THRESHOLD logins → no se muestra * 3. Caso contrario → se muestra */ export function shouldShowOnboarding(user: Pick | null): boolean { if (!user) return false; if (user.onboardingDismissedAt) return false; if ((user.loginCount ?? 0) > ONBOARDING_LOGIN_THRESHOLD) return false; return true; }