import { useRef, useState } from 'react'; import { useConfig } from '../hooks/useConfig'; import { DataProvider } from '../context/DataContext'; import { useDataContext } from '../hooks/useDataContext'; import FileUpload from '../components/Documentacion/FileUpload'; import File from '../components/Documentacion/File'; import CustomContainer from '../components/CustomContainer'; import ContentWrapper from '../components/ContentWrapper'; import LoadingIcon from '../components/LoadingIcon'; import IfRole from '../components/Auth/IfRole.jsx'; import { CONSTANTS } from '../util/constants.js'; import CustomModal from '../components/CustomModal.jsx'; import { Button } from 'react-bootstrap'; const Documentacion = () => { const { config, configLoading } = useConfig(); if (configLoading) return

; const reqConfig = { baseUrl: config.apiConfig.coreUrl + config.apiConfig.endpoints.files.all, params: { _sort: 'uploadedAt', _order: 'desc' } }; return ( ); }; const DocumentacionContent = ({ reqConfig }) => { const { data, dataLoading, dataError, postData, deleteDataWithBody } = useDataContext(); const [deleteTarget, setDeleteTarget] = useState(null); const fileUploadRef = useRef(); const handleSelectFiles = async (files) => { const file = files[0]; if (!file || !reqConfig?.baseUrl) return; const fileName = file.name; const mimeType = file.type || "application/octet-stream"; const uploadedBy = JSON.parse(localStorage.getItem("identity"))?.user?.userId; const context = 1; const formData = new FormData(); formData.append("file", file); formData.append("fileName", fileName); formData.append("mimeType", mimeType); formData.append("uploadedBy", uploadedBy); formData.append("context", context); try { await postData(reqConfig.baseUrl, formData); fileUploadRef.current?.resetSelectedFiles(); } catch (err) { console.error("Error al subir archivo:", err); } }; const handleDeleteFile = async (file) => { setDeleteTarget(file); }; return (

Documentación


{dataLoading ? () : (
{dataError &&

Error al cargar los archivos.

} {data?.length === 0 &&

No hay documentos todavía.

} {data?.filter(file => file.context === CONSTANTS.CONTEXT_HUERTOS) .map((file, idx) => ( )) }
)} setDeleteTarget(null)} >

¿Estás seguro de que quieres eliminar el archivo?

); }; export default Documentacion;