From 4f9d905b2fa4543162fe3053c2a8ca650fc6e164 Mon Sep 17 00:00:00 2001 From: IO Date: Thu, 11 Jul 2024 01:46:37 -0600 Subject: [PATCH] only teachers activos --- src/components/CardProfesores/Mapeo.js | 10 +++++--- src/services/auth.services.js | 35 ++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/components/CardProfesores/Mapeo.js b/src/components/CardProfesores/Mapeo.js index b0a8b0a..ffa0033 100644 --- a/src/components/CardProfesores/Mapeo.js +++ b/src/components/CardProfesores/Mapeo.js @@ -1,15 +1,19 @@ -import React, { useEffect, useState } from 'react'; +import React, { useState } from 'react'; import '../../App.css'; import CardProfesor from './CardProfesor'; import Guard from '../../guards/route.guard'; -import { useEdificio, useProfesores } from '../../services/auth.services'; +import { useEdificio, useProfesores, useProfesoresActives } from '../../services/auth.services'; const Mapeo = ({ filters }) => { const [currentPage, setCurrentPage] = useState(1); const edificios = useEdificio(); const permissions = Guard(); - const { profesores, totalPages } = useProfesores(currentPage, filters); + + const profesoresData = useProfesores(currentPage, filters); + const profesoresActivesData = useProfesoresActives(currentPage, filters); + + const { profesores, totalPages } = permissions ? profesoresData : profesoresActivesData; const handleNextPage = () => { if (currentPage < totalPages) { diff --git a/src/services/auth.services.js b/src/services/auth.services.js index a6fa832..4e908c0 100644 --- a/src/services/auth.services.js +++ b/src/services/auth.services.js @@ -79,6 +79,41 @@ export const useDeleteProfesor = () => { return { deleteProfesor, loading, error }; }; +export const useProfesoresActives = (currentPage, filters) => { + const [profesores, setProfesores] = useState([]); + const [totalPages, setTotalPages] = useState(1); + + useEffect(() => { + const fetchProfesores = () => { + const query = new URLSearchParams({ + page: currentPage, + limit: 10, + activo:true, + ...filters + }).toString(); + + fetch(`http://localhost:3000/profesor/page?${query}`) + .then(response => { + if (!response.ok) { + throw new Error('Network response was not ok'); + } + return response.json(); + }) + .then(data => { + setProfesores(data.profesores); + setTotalPages(data.totalPages); + }) + .catch(error => { + console.error('Error fetching the data: ', error); + }); + }; + + fetchProfesores(); + }, [currentPage, filters]); + + return { profesores, totalPages }; +}; + export const useProfesores = (currentPage, filters) => { const [profesores, setProfesores] = useState([]); const [totalPages, setTotalPages] = useState(1);