diff --git a/src/pages/Agendamento.jsx b/src/pages/Agendamento.jsx index 7f7b831..bd5ec17 100644 --- a/src/pages/Agendamento.jsx +++ b/src/pages/Agendamento.jsx @@ -68,7 +68,7 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) let DictAgendamentosOrganizados = {}; let ListaFilaDeEspera = []; - // 1. Agrupamento + for (const agendamento of listaTodosAgendamentos) { if (agendamento.status === 'requested') { let v = await ConfigurarFiladeEspera(agendamento.patient_id, agendamento.doctor_id, agendamento); @@ -84,7 +84,6 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) } } - // 2. Ordenação Interna: Ordenar os agendamentos por HORÁRIO (do menor para o maior) for (const DiaAgendamento in DictAgendamentosOrganizados) { DictAgendamentosOrganizados[DiaAgendamento].sort((a, b) => { if (a.scheduled_at < b.scheduled_at) return -1; @@ -93,7 +92,7 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) }); } - // 3. Ordenação Externa: Ordenar os DIAS + const chavesOrdenadas = Object.keys(DictAgendamentosOrganizados).sort((a, b) => { if (a < b) return -1; if (a > b) return 1; @@ -107,8 +106,6 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) setAgendamentosOrganizados(DictAgendamentosFinal); setfilaEsperaData(ListaFilaDeEspera); }; - - // Requisição inicial (Mesclado: Mantido o da MAIN, pois o da disponibilidade2 não tem a ordenação/fila de espera no .then) useEffect(() => { var myHeaders = new Headers(); myHeaders.append("Authorization", authHeader); @@ -136,8 +133,6 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) PegarTodosOsMedicos() }, []) - - // Efeito de filtro de médico (Presente em ambas, mantida a lógica da MAIN/disponibilidade2 que se complementam) useEffect(() => { console.log("mudou FiltredTodosMedicos:", FiltredTodosMedicos); if (FiltredTodosMedicos.length === 1) { @@ -157,7 +152,6 @@ const Agendamento = ({setDictInfo}) => { // Mantido setDictInfo (versão main) } }, [FiltredTodosMedicos]); -// Função de Delete (Presente apenas na MAIN) const deleteConsulta = (selectedPatientId) => { console.log("tentando apagar") var myHeaders = new Headers(); @@ -176,8 +170,7 @@ fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?id=eq.${sel .catch(error => console.log('error', error)); } - -// Função auxiliar de filtro de médico (Presente em ambas, mantida a versão mais limpa) + const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => { const todasAsListasDeAgendamentos = Object.values(dictAgendamentos); @@ -192,7 +185,6 @@ const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => { - // Lógica para filtrar os dados da AGENDA (useMemo) - (Presente em ambas, mantida a da MAIN, que está melhor formatada) const filteredAgendamentos = useMemo(() => { if (!searchTerm.trim()) { return AgendamentosMes; @@ -212,7 +204,6 @@ const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => { return filteredData; }, [searchTerm]); - // ListarDiasdoMes (Presente em ambas) const ListarDiasdoMes = (ano, mes) => { let segundas = []; let tercas = []; let quartas = []; let quintas = []; let sextas = [] const base = dayjs(`${ano}-${mes}-01`) @@ -233,14 +224,13 @@ const filtrarAgendamentosPorMedico = (dictAgendamentos, idMedicoFiltrado) => { return ListaDiasDatas } - // handleClickAgendamento (Presente em ambas) + const handleClickAgendamento = (agendamento) => { if (agendamento.status !== 'vazio') return else setPageConsulta(true) }; -// handleSearchMedicos (Presente em ambas) const handleSearchMedicos = (term) => { setSearchTermDoctor(term); if (term.trim() === '') { @@ -248,7 +238,6 @@ const handleSearchMedicos = (term) => { return; } - // Lógica simples de filtragem: const filtered = ListaDeMedicos.filter(medico => medico.nomeMedico.toLowerCase().includes(term.toLowerCase()) ); @@ -262,7 +251,7 @@ const handleSearchMedicos = (term) => {
{medico.nomeMedico}
@@ -320,20 +308,6 @@ const handleSearchMedicos = (term) => { )} - - {/* Div da disponibilidade2 - Unidade/Selecionar Profissional (manter) */} -{item.Infos?.paciente_nome}
{item.Infos?.paciente_cpf}
{item.Infos?.nome_nedico}