From a1b074ab56a81828088f52eca77139f1c1b5d1b2 Mon Sep 17 00:00:00 2001 From: "Julio C." Date: Sat, 23 Nov 2024 17:12:02 -0600 Subject: [PATCH] cambios --- dev-dist/sw.js | 2 +- src/img/3d.jpg | Bin 0 -> 12497 bytes src/views/Admin/reportes.jsx | 110 ++++++++++++---------------- src/views/Lente/DetalleProducto.jsx | 7 ++ src/views/inicio.jsx | 6 ++ 5 files changed, 62 insertions(+), 63 deletions(-) create mode 100644 src/img/3d.jpg diff --git a/dev-dist/sw.js b/dev-dist/sw.js index 17dfc54..05de249 100644 --- a/dev-dist/sw.js +++ b/dev-dist/sw.js @@ -79,7 +79,7 @@ define(['./workbox-fde070c5'], (function (workbox) { 'use strict'; */ workbox.precacheAndRoute([{ "url": "/offline.html", - "revision": "0.tp82avot2f" + "revision": "0.qs3c8mesmbo" }], {}); workbox.cleanupOutdatedCaches(); workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("/offline.html"), { diff --git a/src/img/3d.jpg b/src/img/3d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4fb60282b86a03fceda025561f8bdc2fae506036 GIT binary patch literal 12497 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 Z9a@qw05A01JkSUV-Oc{y;2Wu3{{!B(GF$)v literal 0 HcmV?d00001 diff --git a/src/views/Admin/reportes.jsx b/src/views/Admin/reportes.jsx index ceb2faf..add8a60 100644 --- a/src/views/Admin/reportes.jsx +++ b/src/views/Admin/reportes.jsx @@ -1,9 +1,9 @@ import React, { useState, useEffect } from "react"; -import { Bar } from "react-chartjs-2"; // Importamos el componente de gráfico de barras -import { Chart as ChartJS, Title, Tooltip, Legend, BarElement, CategoryScale, LinearScale } from 'chart.js'; +import { Pie } from "react-chartjs-2"; // Importamos el componente de gráfico de pastel +import { Chart as ChartJS, Title, Tooltip, Legend, ArcElement, CategoryScale, LinearScale } from 'chart.js'; -// Registramos los componentes necesarios de Chart.js para el gráfico de barras -ChartJS.register(Title, Tooltip, Legend, BarElement, CategoryScale, LinearScale); +// Registramos los componentes necesarios de Chart.js para el gráfico de pastel +ChartJS.register(Title, Tooltip, Legend, ArcElement, CategoryScale, LinearScale); function ResultadosEncuestas() { const [resultados, setResultados] = useState([]); @@ -48,39 +48,40 @@ function ResultadosEncuestas() { // Procesar las respuestas para construir los datos de la gráfica const procesarDatos = () => { - const respuestasPorCalificacion = { "1": 0, "2": 0, "3": 0, "4": 0, "5": 0 }; + const respuestasPorPregunta = {}; - // Contamos las respuestas por calificación + // Contamos las respuestas por pregunta resultados.forEach((encuesta) => { - const { respuestas } = encuesta; + const { pregunta, respuestas } = encuesta; - // Contamos las respuestas de cada calificación + // Si la pregunta no existe en el objeto, la inicializamos + if (!respuestasPorPregunta[pregunta]) { + respuestasPorPregunta[pregunta] = { "1": 0, "2": 0, "3": 0, "4": 0, "5": 0 }; + } + + // Contamos las respuestas de la calificación para cada pregunta Object.entries(respuestas).forEach(([calificacion, cantidad]) => { - respuestasPorCalificacion[calificacion] += cantidad; // Incrementamos el contador + respuestasPorPregunta[pregunta][calificacion] += cantidad; // Incrementamos el contador }); }); - // Asignamos colores diferentes a cada calificación - const colores = ["#FF6F61", "#FF9F40", "#FFCD44", "#4BC0C0", "#36A2EB"]; // Colores para las barras + // Creamos los datos para el gráfico de pastel + const labels = Object.keys(respuestasPorPregunta); // Las preguntas + const datasets = labels.map((pregunta) => { + const totalRespuestas = Object.values(respuestasPorPregunta[pregunta]).reduce((a, b) => a + b, 0); // Total de respuestas por pregunta + return { + label: pregunta, + data: Object.values(respuestasPorPregunta[pregunta]), // Los valores de cada calificación + backgroundColor: ['#FF6F61', '#6B5B95', '#88B04B', '#F7CAC9', '#92A8D1'], // Colores para el gráfico + }; + }); - // Creamos los datos para el gráfico de barras return { - labels: ["1", "2", "3", "4", "5"], // Las respuestas posibles - datasets: [ - { - label: "Distribución de Respuestas", - data: Object.values(respuestasPorCalificacion), // Datos de cada calificación - backgroundColor: colores, // Asignamos los colores diferentes a cada barra - borderColor: '#D66F58', // Color de los bordes de las barras - borderWidth: 1, - }, - ], + labels: ['1', '2', '3', '4', '5'], // Respuestas posibles + datasets, }; }; - // Contamos el total de encuestas - const totalEncuestas = resultados.reduce((total, encuesta) => total + Object.values(encuesta.respuestas).reduce((sum, cantidad) => sum + cantidad, 0), 0); - const data = procesarDatos(); return ( @@ -89,44 +90,29 @@ function ResultadosEncuestas() { {resultados.length === 0 ? (

No se han completado encuestas aún.

) : ( -
- {/* Mostrar el total de encuestas */} -

Total de Encuestas Completadas: {totalEncuestas}

- - + {data.datasets.map((dataset, index) => ( +
+

{`Pregunta: ${dataset.label}`}

+
{/* Altura ajustada */} + + }} + /> +
+
+ ))}
)} diff --git a/src/views/Lente/DetalleProducto.jsx b/src/views/Lente/DetalleProducto.jsx index 56c759d..a5b66e4 100644 --- a/src/views/Lente/DetalleProducto.jsx +++ b/src/views/Lente/DetalleProducto.jsx @@ -7,6 +7,7 @@ import { toast, ToastContainer } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import { useNavigate } from "react-router-dom"; // Importa useHistory para manejar la redirección import Barra from "../../components/Navegacion/barra"; +import lente from "../../img/3d.jpg" function parseJwt(token) { @@ -409,8 +410,14 @@ const DetalleProducto = () => { + + +
+ Código QR +
+ )} diff --git a/src/views/inicio.jsx b/src/views/inicio.jsx index c2d6e23..f55f556 100644 --- a/src/views/inicio.jsx +++ b/src/views/inicio.jsx @@ -6,6 +6,8 @@ import imagen from "../img/Venta.png"; import imagen2 from "../img/lentes2.png"; import Scrool from '../components/scroll'; import Barra from "../components/Navegacion/barra"; +import lente from "../img/3d.jpg"; + function App() { @@ -203,8 +205,12 @@ function App() { +
+
+ +