/* global React, Icon, Modal */ // ============================================================================ // Auth screens — Login, Signup (with invite token), Forgot password // ============================================================================ const AuthArt = () => (
Edson Lima
Núcleo de Líderes

O corredor
dos que decidem.

Área restrita do programa de mentoria. Acesso somente por convite — se você está aqui, foi aceito.

Não treino executivos para serem melhores executivos. Treino para que parem de fugir do que já sabem que precisam decidir. — Edson Lima
); const LoginScreen = ({ onLogin, nav }) => { const [email, setEmail] = React.useState(''); const [pwd, setPwd] = React.useState(''); const [showPwd, setShowPwd] = React.useState(false); const [err, setErr] = React.useState(''); const [loading, setLoading] = React.useState(false); const submit = (e) => { e.preventDefault(); setErr(''); setLoading(true); setTimeout(() => { const r = DB.login(email, pwd); setLoading(false); if (!r.ok) { setErr(r.error); return; } onLogin(r.user); }, 350); }; const quickLogin = (em, pw) => { setEmail(em); setPwd(pw); }; return (
Acesso de membro

Entrar na plataforma

Bem-vindo de volta. Continue de onde parou.

{err &&
{err}
}
setEmail(e.target.value)} placeholder="seu@email.com" required />
setPwd(e.target.value)} placeholder="••••••••" required style={{ paddingRight: 44, width:'100%' }} />
{e.preventDefault(); nav('/recuperar');}} style={{ fontSize: 13, color:'var(--blue-bright)', fontWeight:600 }}>Esqueci minha senha
Acesso de demonstração
); }; const SignupScreen = ({ onLogin, nav }) => { const [form, setForm] = React.useState({ name: '', email: '', password: '', inviteToken: '' }); const [consents, setConsents] = React.useState({ termsOfUse: false, privacyPolicy: false, marketingEmails: false }); const [err, setErr] = React.useState(''); const [loading, setLoading] = React.useState(false); const [showPwd, setShowPwd] = React.useState(false); const submit = (e) => { e.preventDefault(); setErr(''); setLoading(true); setTimeout(() => { const r = DB.signup({ ...form, consents }); setLoading(false); if (!r.ok) { setErr(r.error); return; } onLogin(r.user); }, 350); }; return (
Convite aceito

Criar sua conta

Você foi aprovado. Agora vamos configurar seu acesso ao programa.

{err &&
{err}
}
setForm({...form, inviteToken: e.target.value})} placeholder="INV-XXXX-XXXXX" required style={{ fontFamily:'JetBrains Mono, monospace', letterSpacing:'0.08em' }} />
Token enviado pelo Edson após aprovação da sua candidatura. Tente INV-7K3M-LIDER para testar.
setForm({...form, name: e.target.value})} required />
setForm({...form, email: e.target.value})} placeholder="seu@email.com" required />
setForm({...form, password: e.target.value})} required minLength={6} style={{ paddingRight: 44, width:'100%' }} />
); }; const RecoverScreen = ({ nav }) => { const [email, setEmail] = React.useState(''); const [msg, setMsg] = React.useState(''); const [err, setErr] = React.useState(''); const [loading, setLoading] = React.useState(false); const submit = (e) => { e.preventDefault(); setErr(''); setMsg(''); setLoading(true); setTimeout(() => { const r = DB.recover(email); setLoading(false); if (!r.ok) { setErr(r.error); return; } setMsg(r.message); }, 400); }; return (
Recuperação de acesso

Esqueceu a senha?

Informe seu e-mail e enviaremos um link para você criar uma nova senha.

{err &&
{err}
} {msg &&
{msg}
}
setEmail(e.target.value)} placeholder="seu@email.com" required />
); }; Object.assign(window, { LoginScreen, SignupScreen, RecoverScreen });