diff --git a/webapp/src/pages/Bateria/Bateria.js b/webapp/src/pages/Bateria/Bateria.js
index 707cfe9a..57ea4a54 100644
--- a/webapp/src/pages/Bateria/Bateria.js
+++ b/webapp/src/pages/Bateria/Bateria.js
@@ -87,6 +87,12 @@ const JuegoPreguntas = () => {
} catch (error) {
console.error('Error al guardar el juego:', error);
}
+ try {
+ const response = await axios.post(URL + "/saveGameList", newGame);
+ console.log("Solicitud exitosa:", response.data);
+ } catch (error) {
+ console.error("Error al guardar el juego:", error);
+ }
}
useEffect(() => {
diff --git a/webapp/src/pages/Clasico/Clasico.js b/webapp/src/pages/Clasico/Clasico.js
index a4464053..f35c5b32 100644
--- a/webapp/src/pages/Clasico/Clasico.js
+++ b/webapp/src/pages/Clasico/Clasico.js
@@ -170,6 +170,12 @@ const JuegoPreguntas = () => {
},
};
+ try {
+ const response = await axios.post(URL + "/saveGameList", newGame);
+ console.log("Solicitud exitosa:", response.data);
+ } catch (error) {
+ console.error("Error al guardar el juego en la lista de partidas:", error);
+ }
try {
const response = await axios.post(URL + "/saveGame", newGame);
console.log("Solicitud exitosa:", response.data);
diff --git a/webapp/src/pages/Perfil/Perfil.js b/webapp/src/pages/Perfil/Perfil.js
new file mode 100644
index 00000000..3c5f4219
--- /dev/null
+++ b/webapp/src/pages/Perfil/Perfil.js
@@ -0,0 +1,90 @@
+import { Box, VStack, Heading, Text, Center, Spinner, Table, Thead, Tbody, Tr, Th, Td } from "@chakra-ui/react";
+import React, { useEffect, useState } from "react";
+import Nav from "../../components/Nav/Nav.js";
+import Footer from "../../components/Footer/Footer.js";
+import axios from "axios";
+
+const Perfil = () => {
+ const gatewayUrl = process.env.GATEWAY_SERVICE_URL || "http://localhost:8000";
+ const [userData, setUserData] = useState(null);
+ const [loading, setLoading] = useState(true);
+ const [username,setUsername]=useState(localStorage.username);
+ const [error, setError] = useState(null);
+
+ useEffect(() => {
+ fetch(gatewayUrl + `/userInfo?user=${username}`)
+ .then((response) => response.json())
+ .then((data) => {
+ setUserData(data);
+ setLoading(false);
+ })
+ .catch((error) => {
+ console.error('Error al obtener el perfil:', error);
+ setError(error.message || 'Ha ocurrido un error al obtener el perfil');
+ setLoading(false);
+ });
+ }, []);
+
+ return (
+ <>
+
+
+
+
+
+ Detalles del Usuario
+
+ {loading ? (
+
+
+
+ ) : (
+ <>
+
+ Nombre de Usuario: {userData.username}
+
+
+ Fecha de creación de la cuenta:{" "}
+ {new Date(userData.createdAt).toLocaleString()}
+
+
+ Partidas Recientes
+
+ {userData.games.length > 0 ? (
+
+
+
+ Modo de Juego |
+ Respuestas Correctas |
+ Respuestas Incorrectas |
+ Puntos |
+ Tiempo Promedio |
+
+
+
+ {userData.games.slice(0, 10).map((game, index) => (
+
+ {game.gamemode} |
+ {game.correctAnswers} |
+ {game.incorrectAnswers} |
+ {game.points} |
+ {game.avgTime} segundos |
+
+ ))}
+
+
+ ) : (
+ No hay partidas recientes.
+ )}
+ >
+ )}
+
+
+
+
+ >
+ );
+};
+
+export default Perfil;
+
diff --git a/webapp/src/pages/Stats/Stats.js b/webapp/src/pages/Stats/Stats.js
index 1fdbf84a..fcd07af5 100644
--- a/webapp/src/pages/Stats/Stats.js
+++ b/webapp/src/pages/Stats/Stats.js
@@ -91,7 +91,6 @@ const Stats = () => {
<>
- Estadísticas de Usuario - Modo {getModeName()}