// Yomee — Onboarding Welcome Screen // Third onboarding step. Hedgehog mascot + "Perfecto, {name}." + Empezar. // Uses OnboardingHeader from OnboardingShared.jsx; PrimaryButton from Shared.jsx /* global React, OnboardingHeader, PrimaryButton */ // ── Confetti ─────────────────────────────────────────────────────── // Homologated with AnalyzingScreen's confetti: lightweight CSS-only burst. // Generates ~36 colored chips that fall from the top with random // horizontal drift, rotation and delay. Brand palette so it stays on-system. const OW_CONFETTI_COLORS = [ "var(--yo-mint-700)", "var(--yo-forest-500)", "var(--yo-orange-soft)", "var(--yo-coral)", "var(--yo-yellow)", "var(--yo-lavender)", ]; function ConfettiBurst({ count = 36 }) { const pieces = React.useMemo(() => { return Array.from({ length: count }, (_, i) => { const left = Math.random() * 100; const delay = Math.random() * 350; const duration = 1200 + Math.random() * 900; const drift = (Math.random() - 0.5) * 120; const rot = Math.random() * 720 - 360; const size = 6 + Math.random() * 6; const color = OW_CONFETTI_COLORS[Math.floor(Math.random() * OW_CONFETTI_COLORS.length)]; const isCircle = Math.random() < 0.3; return { left, delay, duration, drift, rot, size, color, isCircle, i }; }); }, [count]); return ( ); } function OnboardingWelcomeScreen({ onContinue }) { // Greeting reads reactively from the active persona so a Demo-pill // switch updates the name + gender agreement instantly. const yomeeUser = (window.useYomeeUser && window.useYomeeUser()) || {}; const name = yomeeUser.firstName || yomeeUser.name || "amigo"; const greeting = yomeeUser.gender === "female" ? "Perfecta" : "Perfecto"; return (
{greeting},{" "} {name}.
Vamos a entender
mejor tu situación
financiera.

En unos minutos tendrás una primera
visión de cómo estás realmente.

Empezar
); } window.OnboardingWelcomeScreen = OnboardingWelcomeScreen;