import React, { useState } from "react"; import "../../../App.css"; import CardProfesor from "./CardProfesor"; import Guard from "../../../guards/route.guard"; import { useProfesores, useProfesoresActives, } from "../../../services/teacher.services"; import { PrivateRoutes } from "../../../models/routes"; const Mapeo = ({ filters, edificios }) => { const [currentPage, setCurrentPage] = useState(1); const permissions = Guard(); const { profesores: profesoresData, totalPages: totalDataPages, loading: loadingData, error: errorData } = useProfesores(currentPage, filters); const { profesores: profesoresActivesData, totalPages: totalActivePages, loading: loadingActives, error: errorActives } = useProfesoresActives(currentPage, filters); if (loadingData || loadingActives) { return
Cargando datos del los profesores...
; } if (errorData || errorActives) { return
Error al cargar los datos de los profesores: {errorData || errorActives}
; } if((totalDataPages || totalActivePages) === 0){ return
Profesor no registrado en la base de datos
; } const { profesores, totalPages } = permissions ? { profesores: profesoresData, totalPages: totalDataPages } : { profesores: profesoresActivesData, totalPages: totalActivePages }; const handleNextPage = () => { if (currentPage < totalPages) { setCurrentPage((prevPage) => prevPage + 1); } }; const handlePrevPage = () => { if (currentPage > 1) { setCurrentPage((prevPage) => prevPage - 1); } }; const renderPageNumbers = () => { const pageNumbers = []; const maxPagesToShow = 5; let startPage = Math.max(1, currentPage - Math.floor(maxPagesToShow / 2)); let endPage = Math.min(totalPages, startPage + maxPagesToShow - 1); if (endPage - startPage < maxPagesToShow - 1) { startPage = Math.max(1, endPage - maxPagesToShow + 1); } for (let i = startPage; i <= endPage; i++) { pageNumbers.push(
  • ); } return pageNumbers; }; const handleCrear = () => { window.location.href = PrivateRoutes.CREARPROFESOR; }; const handleRegresar = () => { window.location.href = PrivateRoutes.INTERFACE; }; return (
    {permissions ? (
    ) : null} {profesores.map((profesor) => { const edificio = edificios.find( (e) => e.id_edificio === profesor.id_edificio ); const edificioNombre = edificio ? edificio.edificio : "Desconocido"; return ( ); })}
    ); }; export default Mapeo;