// ============================================================ // JuFlow — Login Screen // ============================================================ const { useState: useStateL } = React; const LoginScreen = ({ onLogin }) => { const [email, setEmail] = useStateL('demo@juflow.com'); const [password, setPassword] = useStateL('demo123'); const [showPwd, setShowPwd] = useStateL(false); const [loading, setLoading] = useStateL(false); const [error, setError] = useStateL(''); const handleSubmit = (e) => { e.preventDefault(); setError(''); if (!email || !password) { setError('Preencha todos os campos.'); return; } setLoading(true); setTimeout(() => { if (email === 'demo@juflow.com' && password === 'demo123') { onLogin(); } else { setError('E-mail ou senha inválidos. Use as credenciais do demo.'); setLoading(false); } }, 900); }; const fillDemo = () => { setEmail('demo@juflow.com'); setPassword('demo123'); setError(''); }; return (
{/* ─── Background decoration ─── */}
{/* Soft glows */}
{/* Grid lines */} {/* Decorative outline icons */}
{/* ─── Hero ─── */}
Juflow Digital

Sua clínica no controle,
da agenda ao faturamento.

Agendamentos, clientes, prontuários e financeiro integrados — pronto pra usar no consultório, no celular e no escritório.

{/* ─── Card ─── */}

Bem-vindo de volta

Entre com suas credenciais para acessar o sistema.

setEmail(e.target.value)} placeholder="seu@email.com" required style={{ width:'100%', boxSizing:'border-box', padding:'12px 14px 12px 40px', background:'rgba(255,255,255,.06)', border:'1.5px solid rgba(255,255,255,.10)', borderRadius:10, fontSize:14, color:'#fff', outline:'none', transition:'border-color .15s, background .15s', }} onFocus={e => { e.currentTarget.style.borderColor='#FF6B35'; e.currentTarget.style.background='rgba(255,255,255,.08)'; }} onBlur={e => { e.currentTarget.style.borderColor='rgba(255,255,255,.10)'; e.currentTarget.style.background='rgba(255,255,255,.06)'; }} />
setPassword(e.target.value)} placeholder="••••••••" required style={{ width:'100%', boxSizing:'border-box', padding:'12px 44px 12px 40px', background:'rgba(255,255,255,.06)', border:'1.5px solid rgba(255,255,255,.10)', borderRadius:10, fontSize:14, color:'#fff', outline:'none', transition:'border-color .15s, background .15s', }} onFocus={e => { e.currentTarget.style.borderColor='#FF6B35'; e.currentTarget.style.background='rgba(255,255,255,.08)'; }} onBlur={e => { e.currentTarget.style.borderColor='rgba(255,255,255,.10)'; e.currentTarget.style.background='rgba(255,255,255,.06)'; }} />
{error && (
{error}
)} {/* Demo box (clickable) */}
{/* ─── Trust badges ─── */}
{[ { icon:'ShieldCheck', label:'Dados protegidos', color:'#22D3EE' }, { icon:'Zap', label:'Agenda em tempo real', color:'#FF6B35' }, { icon:'BellRing', label:'Lembretes automáticos', color:'#A855F7' }, ].map(b => (
{b.label}
))}
{/* ─── Footer ─── */}

Desenvolvido pela JuFlow Digital — Soluções em Software para Pequenas Empresas

); }; Object.assign(window, { LoginScreen });