import React, { useState } from 'react'; import { Line, Pie, Doughnut, Bar } from 'react-chartjs-2'; import { Chart as ChartJS, CategoryScale, LinearScale, PointElement, LineElement, BarElement, ArcElement, Title, Tooltip, Legend } from 'chart.js'; ChartJS.register(CategoryScale, LinearScale, PointElement, LineElement, BarElement, ArcElement, Title, Tooltip, Legend); export default function TableroAlmacenamiento() { // Estado para la tabla de documentos y la opción seleccionada const [selectedMetric, setSelectedMetric] = useState(''); const [documentos, setDocumentos] = useState([ { nombre: 'Factura_123.pdf', tipo: 'Factura', ext: 'PDF' }, { nombre: 'Pedimento_456.xml', tipo: 'Pedimento', ext: 'XML' }, { nombre: 'Manifiesto_789.docx', tipo: 'Manifiesto', ext: 'DOCX' }, ]); // Por ahora solo cambia el estado seleccionado, no fetch const handleMetricClick = (metric) => { setSelectedMetric(metric); }; // Datos simulados para las nuevas gráficas y KPIs const tiposArchivos = [ { tipo: 'PDF', espacio: 220 }, { tipo: 'XML', espacio: 120 }, { tipo: 'DOCX', espacio: 80 }, { tipo: 'JPG', espacio: 60 }, { tipo: 'Otros', espacio: 32 }, ]; const topArchivos = [ { nombre: 'Factura_123.pdf', size: 2.5 }, { nombre: 'Reporte_2024.pdf', size: 2.1 }, { nombre: 'Pedimento_456.xml', size: 1.8 }, { nombre: 'Manifiesto_789.docx', size: 1.2 }, { nombre: 'Imagen_001.jpg', size: 1.0 }, ]; const espacioTotal = 1024; // GB const espacioOcupado = 512; // GB const espacioLibre = espacioTotal - espacioOcupado; const usuarios = [ { nombre: 'Juan', docs: 120 }, { nombre: 'Ana', docs: 90 }, { nombre: 'Luis', docs: 70 }, { nombre: 'Sofía', docs: 60 }, { nombre: 'Carlos', docs: 40 }, ]; const docsEsteMes = 45; const docsEliminados = 7; const usuariosActivos = 4; const porcentajeUsado = Math.round((espacioOcupado / espacioTotal) * 100); return (
Visualiza y analiza el uso de almacenamiento de la plataforma