Consegui trocar pela tabela

This commit is contained in:
joao_pedro 2025-11-01 16:17:33 -03:00
parent 22fd2bf847
commit 65b7590bee
3 changed files with 60 additions and 21 deletions

View File

@ -2,35 +2,75 @@ import React from 'react'
import "./style.css" import "./style.css"
import CardConsultaPaciente from './CardConsultaPaciente' import CardConsultaPaciente from './CardConsultaPaciente'
import { useNavigate } from 'react-router-dom' import { useNavigate } from 'react-router-dom'
import { useEffect, useState } from 'react' import { useEffect, useState, useMemo } from 'react'
import API_KEY from '../components/utils/apiKeys' import API_KEY from '../components/utils/apiKeys'
import { useAuth } from '../components/utils/AuthProvider' import { useAuth } from '../components/utils/AuthProvider'
import { UserInfos } from '../components/utils/Functions-Endpoints/General'
import TabelaAgendamentoDia from "../components/AgendarConsulta/TabelaAgendamentoDia"
const ConsultasPaciente = ({ setConsulta }) => { const ConsultasPaciente = ({ setConsulta }) => {
const { getAuthorizationHeader } = useAuth() const { getAuthorizationHeader } = useAuth()
const [agendamentosOrganizados, setAgendamentosOrganizados] = useState({})
const [listaTodasConsultas, setListaTodasConsultas] = useState([])
const [patientID, setPatientID] = useState("")
const [showDeleteModal, setShowDeleteModal] = useState(false) const [showDeleteModal, setShowDeleteModal] = useState(false)
const [selectedID, setSelectedId] = useState("") const [selectedID, setSelectedId] = useState("")
let authHeader = getAuthorizationHeader() let authHeader = getAuthorizationHeader()
const [consultas, setConsultas] = useState([]) const [consultas, setConsultas] = useState([])
const FiltrarAgendamentos = (agendamentos, id) => { const [consultasOrganizadas, setConsultasOrganizadas] = useState({})
if (!agendamentos || !Array.isArray(agendamentos)) {
console.error("A lista de agendamentos é inválida."); const [filaDeEspera, setFilaDeEspera] = useState([])
setConsultas([]);
return; useMemo(() => {
let conjuntoConsultas = {}
let filaEspera = []
console.log("so muda")
if(!listaTodasConsultas.length) return
for(let i = 0; listaTodasConsultas.length > i; i++){
let consulta = listaTodasConsultas[i]
if(consulta.status === "requested"){
filaDeEspera.push(consulta)
}else{
let data = consulta.scheduled_at.split("T")[0]
let chavesConsultas = Object.keys(conjuntoConsultas)
if(chavesConsultas.includes(data)){
let lista = conjuntoConsultas[data]
lista.push(consulta)
conjuntoConsultas = {...conjuntoConsultas, [data]:lista}
}else{
conjuntoConsultas = {...conjuntoConsultas, [data]:[consulta] }
}
}
} }
const consultasFiltradas = agendamentos.filter(agendamento => { setConsultasOrganizadas(conjuntoConsultas)
return agendamento.patient_id && agendamento.patient_id.toString() === id.toString(); setFilaDeEspera(filaEspera)
});
console.log(consultasFiltradas) console.log(conjuntoConsultas)
setConsultas(consultasFiltradas);
}
}, [listaTodasConsultas])
useEffect(() => { useEffect(() => {
let userInfos = UserInfos(authHeader)
const fetchConsultas = async () => { const fetchConsultas = async () => {
try { try {
const myHeaders = new Headers(); const myHeaders = new Headers();
@ -43,16 +83,16 @@ const ConsultasPaciente = ({ setConsulta }) => {
redirect: 'follow' redirect: 'follow'
}; };
const response = await fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?select=*", requestOptions); const response = await fetch(`https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/appointments?patient_id=eq.${"6e7f8829-0574-42df-9290-8dbb70f75ada"}`, requestOptions);
const result = await response.json(); const result = await response.json();
FiltrarAgendamentos(result, "6e7f8829-0574-42df-9290-8dbb70f75ada"); setListaTodasConsultas(result);
} catch (error) { } catch (error) {
console.log('error', error); console.log('error', error);
} }
}; };
fetchConsultas(); fetchConsultas();
}, [authHeader]); }, []);
const navigate = useNavigate() const navigate = useNavigate()
const deleteConsulta = async (ID) => { const deleteConsulta = async (ID) => {
@ -99,10 +139,7 @@ const ConsultasPaciente = ({ setConsulta }) => {
<h2>Seus próximos atendimentos</h2> <h2>Seus próximos atendimentos</h2>
{consultas.map((consulta) => ( <TabelaAgendamentoDia agendamentos={consultasOrganizadas} listaConsultasID={[]}/>
<CardConsultaPaciente key={consulta.id} consulta={consulta} setConsulta={setConsulta} setShowDeleteModal={setShowDeleteModal} setSelectedId={setSelectedId} />
))}
{showDeleteModal && {showDeleteModal &&
<div className="modal-dialog modal-dialog-centered"> <div className="modal-dialog modal-dialog-centered">
<div className="modal-content"> <div className="modal-content">

View File

@ -10,7 +10,7 @@ const TabelaAgendamentoDia = ({ handleClickAgendamento, agendamentos, setShowDel
let ListaDiasComAgendamentos = Object.keys(agendamentos) let ListaDiasComAgendamentos = Object.keys(agendamentos)
console.log(agendamentos, "tentativa colocar consultas")
//console.log(Dia, "hshdhshhsdhs") //console.log(Dia, "hshdhshhsdhs")

View File

@ -127,6 +127,8 @@ function Login({ onEnterSystem }) {
navigate(`/medico/`); navigate(`/medico/`);
} else if (UserData?.roles?.includes("financeiro")) { } else if (UserData?.roles?.includes("financeiro")) {
navigate(`/financeiro/`); navigate(`/financeiro/`);
} else if (UserData?.roles?.includes("paciente")) {
navigate(`/paciente/`);
} }
}else{ }else{
console.log("ERROROROROROOR") console.log("ERROROROROROOR")