From 43c97fadd0a2ca8947443f2966791bdf761fa4a4 Mon Sep 17 00:00:00 2001 From: M-Gabrielly Date: Wed, 10 Sep 2025 14:26:11 -0300 Subject: [PATCH] feat:change background color and add required fields to patient registration --- susconecta/app/globals.css | 2 +- .../forms/patient-registration-form.tsx | 56 +++++++++++-------- susconecta/lib/api.ts | 13 +++++ 3 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 susconecta/lib/api.ts diff --git a/susconecta/app/globals.css b/susconecta/app/globals.css index 7c20887..8c02557 100644 --- a/susconecta/app/globals.css +++ b/susconecta/app/globals.css @@ -6,7 +6,7 @@ :root { --background: #ffffff; --foreground: #475569; - --card: #f8fafc; + --card: #ffffff; --card-foreground: #334155; --popover: #ffffff; --popover-foreground: #475569; diff --git a/susconecta/components/forms/patient-registration-form.tsx b/susconecta/components/forms/patient-registration-form.tsx index c54bf65..b40c0e4 100644 --- a/susconecta/components/forms/patient-registration-form.tsx +++ b/susconecta/components/forms/patient-registration-form.tsx @@ -321,6 +321,19 @@ export function PatientRegistrationForm({ const validateForm = () => { const newErrors: Record = {} + //Campos obrigatórios + if (!formData.cpf.trim()) newErrors.cpf = "CPF é obrigatório" + if (!formData.rg.trim()) newErrors.rg = "RG é obrigatório" + if (!formData.sexo.trim()) newErrors.sexo = "Sexo é obrigatório" + if (!formData.nomeMae.trim()) newErrors.nomeMae = "Nome da mãe é obrigatório" + if (!formData.nomeResponsavel.trim()) newErrors.nomeResponsavel = "Nome do responsável é obrigatório" + if (!formData.celular.trim()) newErrors.celular = "Celular é obrigatório" + if (!formData.cep.trim()) newErrors.cep = "CEP é obrigatório" + if (!formData.numero.trim()) newErrors.numero = "Número é obrigatório" + if (!formData.bairro.trim()) newErrors.bairro = "Bairro é obrigatório" + if (!formData.cidade.trim()) newErrors.cidade = "Cidade é obrigatório" + if (!formData.estado.trim()) newErrors.estado = "Estado é obrigatório" + // Required fields if (!formData.nome.trim()) { newErrors.nome = "Nome é obrigatório" @@ -330,6 +343,9 @@ export function PatientRegistrationForm({ if (formData.cpf && !validateCPF(formData.cpf)) { newErrors.cpf = "CPF inválido" } + if (formData.cpfResponsavel && !validateCPF(formData.cpfResponsavel)) { + newErrors.cpfResponsavel = "CPF do responsável inválido" + } // Email validation if (formData.email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(formData.email)) { @@ -434,7 +450,7 @@ export function PatientRegistrationForm({ toggleSection("dadosPessoais")}> - + @@ -769,7 +785,7 @@ export function PatientRegistrationForm({ toggleSection("observacoes")}> - + @@ -833,7 +849,7 @@ export function PatientRegistrationForm({ toggleSection("contato")}> - + @@ -901,7 +917,7 @@ export function PatientRegistrationForm({ toggleSection("endereco")}> - + @@ -1014,21 +1030,21 @@ export function PatientRegistrationForm({ {/* Botões de Ação */} -
- - -
+ ? "Salvar Paciente" + : "Atualizar Paciente"} + + ) @@ -1068,7 +1084,7 @@ export function PatientRegistrationForm({ toggleSection("dadosPessoais")}> - + @@ -1403,7 +1419,7 @@ export function PatientRegistrationForm({ toggleSection("observacoes")}> - + @@ -1467,7 +1483,7 @@ export function PatientRegistrationForm({ toggleSection("contato")}> - + @@ -1535,7 +1551,7 @@ export function PatientRegistrationForm({ toggleSection("endereco")}> - + @@ -1649,7 +1665,6 @@ export function PatientRegistrationForm({ {/* Botões de Ação */}
-<<<<<<< HEAD diff --git a/susconecta/lib/api.ts b/susconecta/lib/api.ts new file mode 100644 index 0000000..0cfd40f --- /dev/null +++ b/susconecta/lib/api.ts @@ -0,0 +1,13 @@ +import axios from "axios"; + +export async function salvarPaciente(formData: Record) { + try { + const response = await axios.post("https://mock.apidog.com/m1/1053378-0-default/pacientes", formData, + { headers: { "Content-Type": "application/json" } } + ); + return response.data; + } catch (error) { + console.log('error', error); + throw error + } +}