import React, { useState, useEffect } from 'react'; import PatientList from '../components/patients/PatientList'; import PatientForm from '../components/patients/PatientForm'; function TablePaciente({ setCurrentPage, setPatientID }) { const [pacientes, setPacientes] = useState([]); const [search, setSearch] = useState(""); // Função para excluir paciente const deletePatient = async (id) => { const requestOptionsDelete = { method: "DELETE", redirect: "follow" }; if (!window.confirm("Tem certeza que deseja excluir este paciente?")) return; await fetch( `https://mock.apidog.com/m1/1053378-0-default/pacientes/${id}`, requestOptionsDelete ) .then((response) => response.text()) .then((mensage) => console.log(mensage)) .catch((error) => console.log("Deu problema", error)); }; const onChange = (e, id) => { let value = e.target.value; setCurrentPage('details-page-paciente') setPatientID(id); if(value === 'verdetalhes'){ } setCurrentPage('edit-page-paciente') setPatientID(id); if(value === 'editar'){ } deletePatient(id); console.log(`Excluir ${id}`); if (value === "excluir") { } }; var requestOptions = { method: "GET", redirect: "follow", }; useEffect(() => { fetch( "https://mock.apidog.com/m1/1053378-0-default/pacientes", requestOptions ) .then((response) => response.json()) .then((result) => setPacientes(result["data"])) .catch((error) => console.log("Erro para encontrar pacientes no banco de dados", error) ); }, []); // Filtrar pacientes pelo campo de pesquisa (nome, cpf, email, telefone) const pacientesFiltrados = pacientes.filter((paciente) => `${paciente.nome} ${paciente.cpf} ${paciente.email} ${paciente.telefone}` .toLowerCase() .includes(search.toLowerCase()) ); return ( <>

Lista de Pacientes

{/* Header com título e botão alinhados */}

Pacientes Cadastrados

{/* Barra de pesquisa abaixo do título */}
setSearch(e.target.value)} className="form-control" />
{pacientesFiltrados.length > 0 ? ( pacientesFiltrados.map((paciente) => ( )) ) : ( )}
Nome CPF Email Telefone Opções
{paciente.nome} {paciente.cpf} {paciente.email} {paciente.telefone} {paciente.ativo}
Nenhum paciente encontrado.
); } export default TablePaciente;