// Login Screen — Promoup 360° function Login({ onLogin }) { const [email, setEmail] = React.useState(''); const [password, setPassword] = React.useState(''); const [showPass, setShowPass] = React.useState(false); const [loading, setLoading] = React.useState(false); const [error, setError] = React.useState(''); const OG = '#EA6B00'; const NAVY = '#12085C'; const handleLogin = async () => { if (!email.trim() || !password.trim()) { setError('Preencha todos os campos.'); return; } setLoading(true); setError(''); const { data, error: err } = await sb.auth.signInWithPassword({ email, password }); setLoading(false); if (err) { setError('E-mail ou senha inválidos. Verifique seus dados.'); } else { onLogin(data.session); } }; const onKey = (e) => { if (e.key === 'Enter') handleLogin(); }; const features = [ { icon: 'calendar', label: 'Agenda integrada com gestão de clientes' }, { icon: 'budget', label: 'Orçamentos profissionais em minutos' }, { icon: 'users', label: 'Rede completa de freelancers parceiros' }, { icon: 'reports', label: 'Relatórios e análises em tempo real' }, ]; const inputStyle = { width: '100%', boxSizing: 'border-box', padding: '11px 14px', fontSize: 14, border: '1.5px solid #E2E8F0', borderRadius: 10, outline: 'none', fontFamily: 'Inter, sans-serif', color: '#0F172A', background: '#F8FAFC', transition: 'border-color 0.15s, box-shadow 0.15s', }; return (
{/* ── Left panel ── */}
{/* Decorative glows — laranja e roxo da marca */}
{/* Grid sutil */}
{/* Logo Promoup — imagem real */}
Promoup 360°
{/* Headline */}

Gestão de eventos
inteligente.

Experiências que conectam. Centralize agenda, orçamentos, freelancers e clientes numa plataforma premium.

{/* Features */}
{features.map(f => (
{f.label}
))}
{/* ── Right panel — form ── */}
{/* Header */}
Promoup 360°

Bem-vindo de volta

Entre na sua conta Promoup para continuar

{/* Fields */}
setEmail(e.target.value)} onKeyDown={onKey} placeholder="seu@email.com" style={inputStyle} onFocus={e => { e.target.style.borderColor = OG; e.target.style.boxShadow = 'rgba(234,107,0,0.15) 0 0 0 3px'; }} onBlur={e => { e.target.style.borderColor = '#E2E8F0'; e.target.style.boxShadow = 'none'; }} />
setPassword(e.target.value)} onKeyDown={onKey} placeholder="••••••••" style={{ ...inputStyle, paddingRight: 44 }} onFocus={e => { e.target.style.borderColor = OG; e.target.style.boxShadow = 'rgba(234,107,0,0.15) 0 0 0 3px'; }} onBlur={e => { e.target.style.borderColor = '#E2E8F0'; e.target.style.boxShadow = 'none'; }} />
{error && (
{error}
)}
{/* Footer */}
Promoup · Gestão de Eventos
Desenvolvido por{' '} JuFlow Digital {' '}· © 2026
); } Object.assign(window, { Login });