/* ============================================================ EMPRESA > DASHBOARD CLIENTES > ACESSOS DE CLIENTES Cria login real (Supabase Auth) para um cliente já cadastrado, via Edge Function (precisa da service_role, que não pode rodar no navegador). Veja a Edge Function "manage-cliente-access". ============================================================ */ function PageCliAcessos({ clientes, onCreate, onReset, onRevoke }){ const [selectedId, setSelectedId] = useState(''); const [email, setEmail] = useState(''); const [senha, setSenha] = useState(''); const [loading, setLoading] = useState(false); const semAcesso = clientes.filter(c=>!c.authUserId); const comAcesso = clientes.filter(c=>c.authUserId); const clienteSelecionado = clientes.find(c=>c.id===selectedId); useEffect(()=>{ if(clienteSelecionado){ setEmail(clienteSelecionado.email); } else { setEmail(''); } setSenha(''); }, [selectedId]); async function submit(e){ e.preventDefault(); if(!selectedId || !email || !senha) return; setLoading(true); await onCreate(selectedId, clienteSelecionado.nome, email, senha); setLoading(false); setSelectedId(''); setEmail(''); setSenha(''); } function reset(c){ const nova = window.prompt('Nova senha temporária para ' + c.nome + ':'); if(nova && nova.length>=6) onReset(c.authUserId, c.nome, nova); else if(nova) window.alert('A senha precisa ter pelo menos 6 caracteres.'); } return (
Todos os clientes cadastrados já têm acesso ao portal.
) : ( )}No primeiro login, o cliente será solicitado a definir uma nova senha antes de entrar no portal.
| Nome | Empresa | ||
|---|---|---|---|
| {c.nome} | {c.empresa} | {c.email} |
|
| Nenhum cliente com acesso ainda. | |||