Skip to content

Commit

Permalink
Finally stats are showing (missing avg time and final question)
Browse files Browse the repository at this point in the history
  • Loading branch information
iyanfdezz committed Mar 4, 2024
1 parent c01b06d commit 93a9a65
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 29 deletions.
10 changes: 4 additions & 6 deletions webapp/src/App.js
Original file line number Diff line number Diff line change
@@ -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 (
<BrowserRouter>
Expand All @@ -29,4 +27,4 @@ function App() {
);
}

export default App;
export default App;
1 change: 1 addition & 0 deletions webapp/src/components/Login/Login.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ const Login = () => {
localStorage.setItem('token', token);

localStorage.setItem('username', username);

} catch (error) {
setError(error.response.data.error);
}
Expand Down
53 changes: 30 additions & 23 deletions webapp/src/pages/Clasico/Clasico.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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" };
Expand All @@ -85,7 +85,7 @@ const JuegoPreguntas = () => {
};

const handleSiguientePregunta = async () => {
if (respuestaSeleccionada === preguntaActual.respuestaCorrecta) {
if (respuestaSeleccionada === preguntaActual.correcta) {
setPuntuacion(puntuacion + 1);
setPreguntasCorrectas(preguntasCorrectas + 1);
} else {
Expand All @@ -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);
}


}
};

Expand All @@ -148,6 +151,10 @@ const JuegoPreguntas = () => {
setTiempoRestante(10);
setJuegoTerminado(false);
setMostrarMenu(false);
setPreguntasCorrectas(0);
setPreguntasFalladas(0);
setTiempoMedio(0);
setTiempoTotal(0);
};

if (mostrarMenu) {
Expand Down

0 comments on commit 93a9a65

Please sign in to comment.