diff --git a/app/secretary/pacientes/[id]/editar/page.tsx b/app/secretary/pacientes/[id]/editar/page.tsx index 00f11fe..89d0f24 100644 --- a/app/secretary/pacientes/[id]/editar/page.tsx +++ b/app/secretary/pacientes/[id]/editar/page.tsx @@ -15,7 +15,7 @@ import Link from "next/link"; import { useToast } from "@/hooks/use-toast"; import SecretaryLayout from "@/components/secretary-layout"; import { patientsService } from "@/services/patientsApi.mjs"; -import { json } from "stream/consumers"; +// import { json } from "stream/consumers"; // Removido, pois não é usado e pode causar erro. export default function EditarPacientePage() { const router = useRouter(); @@ -81,6 +81,12 @@ export default function EditarPacientePage() { heightM?: string; bmi?: string; bloodType?: string; + // Adicionei os campos do convênio para o tipo FormData + convenio?: string; + plano?: string; + numeroMatricula?: string; + validadeCarteira?: string; + alergias?: string; }; @@ -133,6 +139,11 @@ export default function EditarPacientePage() { heightM: "", bmi: "", bloodType: "", + convenio: "", + plano: "", + numeroMatricula: "", + validadeCarteira: "", + alergias: "", }); const [isGuiaConvenio, setIsGuiaConvenio] = useState(false); @@ -141,7 +152,7 @@ export default function EditarPacientePage() { useEffect(() => { async function fetchPatient() { try { - const res = await patientsService.getById(patientId); + const res = await patientsService.getById(patientId); // Map API snake_case/nested to local camelCase form setFormData({ id: res[0]?.id ?? "", @@ -192,6 +203,12 @@ export default function EditarPacientePage() { heightM: res[0]?.height_m ? String(res[0].height_m) : "", bmi: res[0]?.bmi ? String(res[0].bmi) : "", bloodType: res[0]?.blood_type ?? "", + // Os campos de convênio e alergias não vêm da API, então os deixamos vazios ou com valores padrão + convenio: "", + plano: "", + numeroMatricula: "", + validadeCarteira: "", + alergias: "", }); } catch (e: any) { @@ -238,8 +255,8 @@ export default function EditarPacientePage() { router.push("/secretary/pacientes"); } catch (err: any) { console.error("Erro ao atualizar paciente:", err); - toast({ - title: "Erro", + toast({ + title: "Erro", description: err?.message || "Não foi possível atualizar o paciente", variant: "destructive" }); @@ -248,23 +265,25 @@ export default function EditarPacientePage() { return ( -
-
- - - -
-

Editar Paciente

-

Atualize as informações do paciente

+
{/* Adicionado padding responsivo e max-width */} +
{/* Ajustado para layout flexível */} +
+ + + +
+

Editar Paciente

+

Atualize as informações do paciente

+
- {/* Anexos Section */} -
+ {/* Anexos Section - Movido para fora do cabeçalho para melhor organização e responsividade */} +
{/* Ajustado largura */}

Anexos

-
+
+ {/* Dados Pessoais Section */}

Dados Pessoais

-
+
{/* Layout responsivo para os campos */} {/* Photo upload */} -
+
{/* Ocupa mais colunas em telas menores */} -
+
{/* Ajustado para layout flexível */}
{photoUrl ? ( // eslint-disable-next-line @next/next/no-img-element Foto do paciente ) : ( - Sem foto + Sem foto )}
-
+
{/* Botões empilhados em telas menores */}