import React, { useState, useEffect } from "react"; function TableDoctor({ setCurrentPage, setPatientID }) { const [medicos, setMedicos] = useState([]); const [search, setSearch] = useState(""); const [filtroAniversariante, setFiltroAniversariante] = useState(false); // Função para excluir médicos const deleteDoctor = async (id) => { const requestOptionsDelete = { method: "DELETE", redirect: "follow" }; if (!window.confirm("Tem certeza que deseja excluir este médico?")) 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)); }; // Função para verificar se hoje é aniversário const ehAniversariante = (dataNascimento) => { if (!dataNascimento) return false; const hoje = new Date(); const nascimento = new Date(dataNascimento); return ( hoje.getDate() === nascimento.getDate() && hoje.getMonth() === nascimento.getMonth() ); }; // Buscar médicos da API useEffect(() => { fetch("https://mock.apidog.com/m1/1053378-0-default/pacientes") .then((response) => response.json()) .then((result) => setMedicos(result["data"])) .catch((error) => console.log("Erro para encontrar médicos no banco de dados", error) ); }, []); // Filtrar médicos pelo campo de pesquisa e aniversariantes const medicosFiltrados = medicos.filter( (medico) => `${medico.nome} ${medico.cpf} ${medico.email} ${medico.telefone}` .toLowerCase() .includes(search.toLowerCase()) && (filtroAniversariante ? ehAniversariante(medico.data_nascimento) : true) ); return ( <>
| Nome | CPF | Telefone | |||
|---|---|---|---|---|---|
| {medico.nome} | {medico.cpf} | {medico.email} | {medico.telefone} | {medico.ativo} |
|
| Nenhum médico encontrado. | |||||