diff --git a/frontend/src/components/HistoryCharts.jsx b/frontend/src/components/HistoryCharts.jsx index 0defffb..6b937c4 100644 --- a/frontend/src/components/HistoryCharts.jsx +++ b/frontend/src/components/HistoryCharts.jsx @@ -57,59 +57,63 @@ const HistoryChartsContent = () => { data?.forEach(sensor => { if (sensor.value != null && grouped[sensor.valueType]) { grouped[sensor.valueType].push({ - timestamp: new Date(sensor.timestamp), + timestamp: sensor.timestamp * 1000, value: sensor.value }); + } }); const sortAndExtract = (entries) => { const sorted = entries.sort((a, b) => a.timestamp - b.timestamp); + const labels = sorted.map(e => - new Date(e.timestamp * 1000).toLocaleTimeString('es-ES', { - timeZone: 'Europe/Madrid', + new Date(e.timestamp).toLocaleTimeString('es-ES', { + timeZone: 'UTC', hour: '2-digit', minute: '2-digit' }) ); - const values = sorted.map(e => e.value); - return { labels, values }; + +const values = sorted.map(e => e.value); +return { labels, values }; }; - const temp = sortAndExtract(grouped.temperature); - const hum = sortAndExtract(grouped.humidity); - const press = sortAndExtract(grouped.pressure); - const co = sortAndExtract(grouped.carbonMonoxide); - const timeLabels = temp.labels.length ? temp.labels : hum.labels.length ? hum.labels : co.labels.length ? co.labels : ["Sin datos"]; +const temp = sortAndExtract(grouped.temperature); +const hum = sortAndExtract(grouped.humidity); +const press = sortAndExtract(grouped.pressure); +const co = sortAndExtract(grouped.carbonMonoxide); - const historyData = [ - { title: "🌡️ Temperatura", data: temp.values, borderColor: "#00FF85", backgroundColor: "rgba(0, 255, 133, 0.2)" }, - { title: "💦 Humedad", data: hum.values, borderColor: "#00D4FF", backgroundColor: "rgba(0, 212, 255, 0.2)" }, - { title: "⏲ Presión", data: press.values, borderColor: "#B12424", backgroundColor: "rgba(255, 0, 0, 0.2)" }, - { title: "☁️ Contaminación", data: co.values, borderColor: "#FFA500", backgroundColor: "rgba(255, 165, 0, 0.2)" } - ]; +const timeLabels = temp.labels.length ? temp.labels : hum.labels.length ? hum.labels : co.labels.length ? co.labels : ["Sin datos"]; - return ( - ({ - title, - content: ( - - ), - styleMode: "override", - className: "col-lg-6 col-xxs-12 d-flex flex-column align-items-center p-3 card-container", - style: { minHeight: "250px" } - }))} - className="" - /> - ); +const historyData = [ + { title: "🌡️ Temperatura", data: temp.values, borderColor: "#00FF85", backgroundColor: "rgba(0, 255, 133, 0.2)" }, + { title: "💦 Humedad", data: hum.values, borderColor: "#00D4FF", backgroundColor: "rgba(0, 212, 255, 0.2)" }, + { title: "⏲ Presión", data: press.values, borderColor: "#B12424", backgroundColor: "rgba(255, 0, 0, 0.2)" }, + { title: "☁️ Contaminación", data: co.values, borderColor: "#FFA500", backgroundColor: "rgba(255, 165, 0, 0.2)" } +]; + +return ( + ({ + title, + content: ( + + ), + styleMode: "override", + className: "col-lg-6 col-xxs-12 d-flex flex-column align-items-center p-3 card-container", + style: { minHeight: "250px" } + }))} + className="" + /> +); }; HistoryCharts.propTypes = {