riseup-squad23/src/pages/PatientCadastroManager.jsx
2025-09-24 16:25:38 -03:00

65 lines
1.9 KiB
JavaScript

import React, { useState } from 'react';
// Importamos os dois novos componentes que criamos
import PatientForm from '../components/patients/PatientForm';
function PatientCadastroManager( {setCurrentPage} ) {
// Este estado vai controlar qual "tela" mostrar: 'list' (lista) ou 'form' (formulário)
const [formData, setFormData] = useState({})
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
// Função que será chamada para "salvar" o paciente
const handleSavePatient = (patientData) => {
console.log('Salvando paciente:', patientData);
var raw = JSON.stringify(patientData)
var requestOptions = {
method:'POST',
header: myHeaders,
body:raw,
redirect:'follow'
}
fetch("https://mock.apidog.com/m1/1053378-0-default/pacientes", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
alert(`Paciente "${patientData.nome}" !`); //altere isso para integração com backend
// Após salvar, voltamos para a tela de lista
};
return (
<>
<div className="page-heading">
<h3>Cadastro de Pacientes</h3>
</div>
<div className="page-content">
<section className="row">
<div className="col-12">
{/* Aqui está a lógica principal: */}
{/* Se a view for 'list', mostramos a lista com o botão. */}
{/* Se for 'form', mostramos o formulário de cadastro. */}
<PatientForm
onSave={handleSavePatient}
onCancel={() => {setCurrentPage('table')}}
formData={formData}
setFormData={setFormData}
/>
</div>
</section>
</div>
</>
);
}
export default PatientCadastroManager;