Consegui trocar pela tabela
This commit is contained in:
parent
22fd2bf847
commit
65b7590bee
@ -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">
|
||||||
|
|||||||
@ -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")
|
||||||
|
|
||||||
|
|||||||
@ -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")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user