import React, { useState, useEffect } from 'react'; //import PatientList from '../components/patients/PatientList'; //import PatientForm from '../components/patients/PatientForm'; import '../Table.css' 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 onClick = (e, id) => { let value = e.target.className; console.log(value) if(value === 'btn btn-view'){ setCurrentPage('details-page-paciente') setPatientID(id); } if(value === 'btn btn-edit'){ setCurrentPage('edit-page-paciente') setPatientID(id); } if (value === "btn btn-delete") { deletePatient(id); console.log(`Excluir ${id}`); } }; 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 ( <>
| Nome | CPF | Telefone | Opções | ||
|---|---|---|---|---|---|
| {paciente.nome} | {paciente.cpf} | {paciente.email} | {paciente.telefone} | {paciente.ativo} |
|
| Nenhum paciente encontrado. | |||||