diff --git a/webapp/src/App.js b/webapp/src/App.js index a22b7098..7421f442 100644 --- a/webapp/src/App.js +++ b/webapp/src/App.js @@ -1,15 +1,13 @@ -import React, { useState } from 'react'; +import React from 'react'; import Authenticate from './pages/Authenticate/Authenticate.js'; import Home from './pages/Home/Home.js'; -import Stats from './pages/Stats/Stats.js'; import Clasico from './pages/Clasico/Clasico.js'; import WrongRoute from './pages/WrongRoute/WrongRoute.js'; +import Stats from './pages/Stats/Stats.js'; import './App.css'; -import {BrowserRouter, Routes, Route, Navigate} from "react-router-dom"; +import { BrowserRouter, Routes, Route } from "react-router-dom"; -//Autentificamos que el usuario este registrado en la aplicaciĆ³n -//const [authenticated, setAuthenticated] = useState(false); function App() { return ( @@ -29,4 +27,4 @@ function App() { ); } -export default App; \ No newline at end of file +export default App; diff --git a/webapp/src/components/Login/Login.js b/webapp/src/components/Login/Login.js index e1557561..6c89c8ee 100644 --- a/webapp/src/components/Login/Login.js +++ b/webapp/src/components/Login/Login.js @@ -27,6 +27,7 @@ const Login = () => { localStorage.setItem('token', token); localStorage.setItem('username', username); + } catch (error) { setError(error.response.data.error); } diff --git a/webapp/src/pages/Clasico/Clasico.js b/webapp/src/pages/Clasico/Clasico.js index 2c72c542..77bc87d2 100644 --- a/webapp/src/pages/Clasico/Clasico.js +++ b/webapp/src/pages/Clasico/Clasico.js @@ -10,7 +10,7 @@ import axios from 'axios'; const JuegoPreguntas = () => { const [isLoading, setIsLoading] = useState(true); const [indicePregunta, setIndicePregunta] = useState(0); - const [puntuacion, setPuntuacion] = useState(0); + var [puntuacion, setPuntuacion] = useState(0); const [respuestaSeleccionada, setRespuestaSeleccionada] = useState(null); const [tiempoRestante, setTiempoRestante] = useState(10); const [juegoTerminado, setJuegoTerminado] = useState(false); @@ -71,7 +71,7 @@ const JuegoPreguntas = () => { const estiloRespuesta = (respuesta) => { if (juegoTerminado) { - if (respuesta === preguntaActual.respuestaCorrecta) { + if (respuesta === preguntaActual.correcta) { return { backgroundColor: "green" }; } else if (respuesta === respuestaSeleccionada) { return { backgroundColor: "red" }; @@ -85,7 +85,7 @@ const JuegoPreguntas = () => { }; const handleSiguientePregunta = async () => { - if (respuestaSeleccionada === preguntaActual.respuestaCorrecta) { + if (respuestaSeleccionada === preguntaActual.correcta) { setPuntuacion(puntuacion + 1); setPreguntasCorrectas(preguntasCorrectas + 1); } else { @@ -102,41 +102,44 @@ const JuegoPreguntas = () => { setPreguntaActual(preguntas[indicePregunta]); } else { - if (preguntasCorrectas + preguntasFalladas > 0) { - setTiempoMedio(tiempoTotal/(preguntasCorrectas+preguntasFalladas)); - } - - //Now we store the game in the user's DB - const username = localStorage.getItem('username'); - const newGame = { - correctAnswers: preguntasCorrectas, - incorrectAnswers: preguntasFalladas, - points: puntuacion, - avgTime: tiempoMedio, - }; - try { - const response = await fetch('http://localhost:8001/saveGame', { + + if (preguntasCorrectas + preguntasFalladas > 0) { + setTiempoMedio(tiempoTotal/(preguntasCorrectas+preguntasFalladas)); + } + + //Now we store the game in the user's DB + const username = localStorage.getItem('username'); + const newGame = { + username: username, + correctAnswers: preguntasCorrectas, + incorrectAnswers: preguntasFalladas, + points: puntuacion, + avgTime: tiempoMedio, + }; + + const response = await fetch('http://localhost:8001/userSaveGame', { method: 'POST', headers: { 'Content-Type': 'application/json', }, - body: JSON.stringify({ - username, - game: newGame, - }), + body: JSON.stringify(newGame), }); if (!response.ok) { throw new Error('Error al guardar el juego'); } - // Si la respuesta es exitosa, marcar el juego como terminado - setJuegoTerminado(true); + } catch (error) { console.error('Error al guardar el juego:', error); // Manejar el error, por ejemplo, mostrando un mensaje al usuario + } finally { + + setJuegoTerminado(true); } + + } }; @@ -148,6 +151,10 @@ const JuegoPreguntas = () => { setTiempoRestante(10); setJuegoTerminado(false); setMostrarMenu(false); + setPreguntasCorrectas(0); + setPreguntasFalladas(0); + setTiempoMedio(0); + setTiempoTotal(0); }; if (mostrarMenu) {