// SignUp — Pantalla de creación de cuenta (UI). Perfil profesional + CynamonSup. // Métodos: Google · Correo electrónico propio · iCloud (Apple). // Al continuar, envía al usuario a la página de Términos y Condiciones para aceptar. const { useState: suS } = React; // Glifos de proveedores const GoogleGlyph = () => ( ); const AppleGlyph = () => ( ); const MailGlyph2 = () => ( ); const SIGNUP_BENEFITS = [ { t: 'Tu perfil profesional', d: 'Nombre, especialidad y preferencias en un solo lugar.' }, { t: 'Configura tus calculadoras', d: 'Deja a la mano las escalas y fórmulas que más usas.' }, { t: 'Ordena tus diagnósticos', d: 'Tus relaciones y planes de cuidado, listos para reutilizar.' }, { t: 'Sincroniza tus dispositivos', d: 'Continúa tu trabajo desde la web, Android o iOS.' }, ]; const SignUp = ({ setView, onContinue }) => { const [method, setMethod] = suS(null); // 'google' | 'apple' | 'email' const [form, setForm] = suS({ nombre: '', email: '', pass: '' }); const [error, setError] = suS(''); const emailOk = /\S+@\S+\.\S+/.test(form.email); const ready = method === 'google' || method === 'apple' || (method === 'email' && form.nombre.trim() && emailOk && form.pass.length >= 6); const handleContinue = () => { if (!ready) { setError('Completa los datos para continuar.'); return; } setError(''); onContinue?.({ method, email: method === 'email' ? form.email : (method === 'google' ? 'cuenta de Google' : 'cuenta de iCloud'), nombre: form.nombre, }); }; return ( {/* Panel de bienvenida / beneficios */} {/* Tarjeta de registro */} { setView('landing'); window.scrollTo({ top: 0 }); }}> Volver Crear cuenta Elige cómo quieres crear tu perfil profesional. { setMethod('google'); setError(''); }}> Continuar con Google {method === 'google' && ✓} { setMethod('apple'); setError(''); }}> Continuar con iCloud (Apple) {method === 'apple' && ✓} { setMethod('email'); setError(''); }}> Usar mi correo electrónico {method === 'email' && ✓} {method === 'email' && ( Nombre completo setForm(f => ({ ...f, nombre: e.target.value }))}/> Correo electrónico setForm(f => ({ ...f, email: e.target.value }))}/> Contraseña setForm(f => ({ ...f, pass: e.target.value }))}/> )} Para crear tu cuenta deberás leer y aceptar nuestros Términos y Condiciones. Te llevaremos a ellos en el siguiente paso, donde podrás elegir Acepto o No acepto. setView('legal')}>Leer ahora los Términos y Condiciones {error && {error}} Continuar a los Términos y Condiciones ¿Ya tienes cuenta? { setView('login'); window.scrollTo({ top: 0 }); }}>Iniciar sesión ); }; Object.assign(window, { SignUp });
Elige cómo quieres crear tu perfil profesional.