diff --git a/susconecta/app/(main-routes)/doutores/page.tsx b/susconecta/app/(main-routes)/doutores/page.tsx index 6efab8e..be0b8a8 100644 --- a/susconecta/app/(main-routes)/doutores/page.tsx +++ b/susconecta/app/(main-routes)/doutores/page.tsx @@ -127,7 +127,7 @@ setDoctors((list ?? []).map(normalizeMedico)); return ( - // <-- REGRA APLICADA + <> {showForm ? ( @@ -284,6 +284,6 @@ setDoctors((list ?? []).map(normalizeMedico)); )} - + > ); } diff --git a/susconecta/app/login-admin/page.tsx b/susconecta/app/login-admin/page.tsx index fe3e41f..6ce8efe 100644 --- a/susconecta/app/login-admin/page.tsx +++ b/susconecta/app/login-admin/page.tsx @@ -16,31 +16,36 @@ export default function LoginAdminPage() { const router = useRouter() const { login } = useAuth() - const handleLogin = async (e: React.FormEvent) => { - e.preventDefault() - setLoading(true) - setError('') + const handleLogin = async (e: React.MouseEvent) => { + e.preventDefault(); + console.log('[LOGIN-DEBUG] 1. handleLogin iniciado.'); + setLoading(true); + setError(''); try { - // Tentar fazer login usando o contexto com tipo administrador - const success = await login(credentials.email, credentials.password, 'administrador') + console.log('[LOGIN-DEBUG] 2. Chamando a função de login do useAuth...'); + const success = await login(credentials.email, credentials.password, 'administrador'); + console.log('[LOGIN-DEBUG] 3. A função de login retornou:', success); if (success) { - console.log('[LOGIN-ADMIN] Login bem-sucedido, redirecionando...') - - // Redirecionamento direto - solução que funcionou - window.location.href = '/dashboard' + console.log('[LOGIN-DEBUG] 4. Sucesso! Redirecionando para /dashboard...'); + window.location.href = '/dashboard'; + } else { + console.log('[LOGIN-DEBUG] 4b. A função de login retornou um valor falso, mas não lançou erro.'); + setError('Ocorreu uma falha inesperada no login.'); } } catch (err) { - console.error('[LOGIN-ADMIN] Erro no login:', err) + console.log('[LOGIN-DEBUG] 5. Ocorreu um erro (catch).'); + console.error('[LOGIN-ADMIN] Erro no login:', err); if (err instanceof AuthenticationError) { - setError(err.message) + setError(err.message); } else { - setError('Erro inesperado. Tente novamente.') + setError('Erro inesperado. Tente novamente.'); } } finally { - setLoading(false) + console.log('[LOGIN-DEBUG] 6. Bloco finally executado.'); + setLoading(false); } } @@ -61,7 +66,7 @@ export default function LoginAdminPage() { Acesso Administrativo - + e.preventDefault()} className="space-y-6"> Email @@ -101,7 +106,8 @@ export default function LoginAdminPage() { )} diff --git a/susconecta/components/forms/patient-registration-form.tsx b/susconecta/components/forms/patient-registration-form.tsx index 4ceb247..06170eb 100644 --- a/susconecta/components/forms/patient-registration-form.tsx +++ b/susconecta/components/forms/patient-registration-form.tsx @@ -25,6 +25,7 @@ import { listarAnexos, removerAnexo, buscarPacientePorId, + listarPerfis, } from "@/lib/api"; import { validarCPFLocal } from "@/lib/utils"; @@ -240,11 +241,28 @@ export function PatientRegistrationForm({ let saved: Paciente; if (mode === "create") { saved = await criarPaciente(payload); + + console.log("--- INÍCIO DO TESTE DE API ---"); + console.log("Paciente recém-criado:", saved); + try { + console.log("Buscando lista de perfis para verificar a criação..."); + const perfis = await listarPerfis(); + console.log("Lista de Perfis encontrada:", perfis); + const perfilCorrespondente = perfis.find(p => p.email === saved.email); + if (perfilCorrespondente) { + console.log("SUCESSO: Perfil correspondente foi encontrado!", perfilCorrespondente); + } else { + console.log("FALHA: Nenhum perfil correspondente ao email do paciente foi encontrado na lista de perfis."); + } + } catch (error) { + console.error("ERRO AO BUSCAR PERFIS:", error); + } + console.log("--- FIM DO TESTE DE API ---"); + } else { if (patientId == null) throw new Error("Paciente inexistente para edição"); saved = await atualizarPaciente(String(patientId), payload); } - if (form.photo && saved?.id) { try { await uploadFotoPaciente(saved.id, form.photo); diff --git a/susconecta/lib/auth.ts b/susconecta/lib/auth.ts index 1e0ea62..5f29ba9 100644 --- a/susconecta/lib/auth.ts +++ b/susconecta/lib/auth.ts @@ -119,39 +119,7 @@ export async function loginUser( body: JSON.stringify(payload), }); - // Se login falhar com 400, tentar criar usuário automaticamente - if (!response.ok && response.status === 400) { - console.log('[AUTH-API] Login falhou (400), tentando criar usuário...'); - - const signupUrl = `${ENV_CONFIG.SUPABASE_URL}/auth/v1/signup`; - const signupPayload = { - email, - password, - data: { - userType: userType, - name: email.split('@')[0], - } - }; - - debugRequest('POST', signupUrl, getLoginHeaders(), signupPayload); - - const signupResponse = await fetch(signupUrl, { - method: 'POST', - headers: getLoginHeaders(), - body: JSON.stringify(signupPayload), - }); - - if (signupResponse.ok) { - console.log('[AUTH-API] Usuário criado, tentando login novamente...'); - await new Promise(resolve => setTimeout(resolve, 100)); - - response = await fetch(url, { - method: 'POST', - headers: getLoginHeaders(), - body: JSON.stringify(payload), - }); - } - } + console.log(`[AUTH-API] Login response: ${response.status} ${response.statusText}`, { url: response.url,