From 80a4bb0743c562a3e10e307979fd7d8430906613 Mon Sep 17 00:00:00 2001 From: Baptiste Marcel Date: Tue, 5 Dec 2023 11:34:58 +0100 Subject: [PATCH] =?UTF-8?q?correctif=20sur=20les=20stats=20si=20null,=20mo?= =?UTF-8?q?dif=20navbar,=20modif=20temps=20apr=C3=A8s=20insc=20et=20login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controllers/SessionController.js | 93 +++++++++++-------- cryptide_project/server/socket_io/server.js | 2 +- cryptide_project/src/App.tsx | 10 +- cryptide_project/src/Components/NavBar.tsx | 18 ++-- .../src/Components/ScoreBoard.tsx | 8 +- cryptide_project/src/Pages/Lobbies.tsx | 3 +- cryptide_project/src/Pages/Lobby.tsx | 7 +- cryptide_project/src/Pages/LoginForm.tsx | 22 +---- cryptide_project/src/Pages/NewPlay.tsx | 52 +---------- cryptide_project/src/Pages/SignUpForm.tsx | 2 +- 10 files changed, 87 insertions(+), 130 deletions(-) diff --git a/cryptide_project/server/api/controllers/SessionController.js b/cryptide_project/server/api/controllers/SessionController.js index 5784ae2..dc23ea0 100644 --- a/cryptide_project/server/api/controllers/SessionController.js +++ b/cryptide_project/server/api/controllers/SessionController.js @@ -21,54 +21,71 @@ class SessionController { } // Récupérer les stats mastermind de l'utilisateur - const nbGamesMM = await db.getNbGamesMastermindByUserId(req.session.user.idUser) || 0; - const bestScoreMM = await db.getBestScoreMastermindByUserId(req.session.user.idUser) || 0; - const avgNbTryMM = await db.getAvgNbTryMastermindByUserId(req.session.user.idUser) || 0; - req.session.user.mastermindStats = {nbGames: nbGamesMM.nbGames, - bestScore: bestScoreMM.bestScore, - avgNbTry: avgNbTryMM.avgNbTry}; + let nbGamesMM = await db.getNbGamesMastermindByUserId(req.session.user.idUser); + nbGamesMM = nbGamesMM.nbGames || 0; + let bestScoreMM = await db.getBestScoreMastermindByUserId(req.session.user.idUser); + bestScoreMM = bestScoreMM.bestScore || 0; + let avgNbTryMM = await db.getAvgNbTryMastermindByUserId(req.session.user.idUser); + avgNbTryMM = avgNbTryMM.avgNbTry || 0; + + req.session.user.mastermindStats = {nbGames: nbGamesMM, + bestScore: bestScoreMM, + avgNbTry: avgNbTryMM}; // Récupérer les stats enigme facile - const nbGamesEF = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0; - const nbWinsEF = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0; - const ratioEF = (nbWinsEF.nbWins / nbGamesEF.nbGames) * 100 || 0; - const bestTimeEF = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0; - const avgTimeEF = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE) || 0; - - req.session.user.easyEnigmaStats = {nbGames: nbGamesEF.nbGames, - nbWins: nbWinsEF.nbWins, + let nbGamesEF = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE); + nbGamesEF = nbGamesEF.nbGames || 0; + let nbWinsEF = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE); + nbWinsEF = nbWinsEF.nbWins || 0; + let ratioEF = (nbWinsEF.nbWins / nbGamesEF.nbGames) * 100 || 0; + let bestTimeEF = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE); + bestTimeEF = bestTimeEF.bestTime || 0; + let avgTimeEF = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_FACILE); + avgTimeEF = avgTimeEF.avgTime || 0; + + req.session.user.easyEnigmaStats = {nbGames: nbGamesEF, + nbWins: nbWinsEF, ratio: ratioEF, - bestTime: bestTimeEF.bestTime, - avgTime: avgTimeEF.avgTime}; + bestTime: bestTimeEF, + avgTime: avgTimeEF}; // Récupérer les stats enigme moyenne - const nbGamesEM = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0; - const bestScoreEM = await db.getBestScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0; - const avgNbTryEM = await db.getAvgScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN) || 0; - - req.session.user.mediumEnigmaStats = {nbGames: nbGamesEM.nbGames, - bestScore: bestScoreEM.bestScore, - avgNbTry: avgNbTryEM.avgScore}; + let nbGamesEM = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN); + nbGamesEM = nbGamesEM.nbGames || 0; + let bestScoreEM = await db.getBestScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN); + bestScoreEM = bestScoreEM.bestScore || 0; + let avgNbTryEM = await db.getAvgScoreEnigmeByUserId(req.session.user.idUser, ENIGME_MOYEN); + avgNbTryEM = avgNbTryEM.avgScore || 0; + + req.session.user.mediumEnigmaStats = {nbGames: nbGamesEM, + bestScore: bestScoreEM, + avgNbTry: avgNbTryEM}; // Récupérer les stats enigme difficile - const nbGamesED = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0; - const nbWinsED = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0; - const ratioED = (nbWinsED.nbWins / nbGamesED.nbGames) * 100 || 0; - const bestTimeED = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0; - const avgTimeED = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE) || 0; - - req.session.user.hardEnigmaStats = {nbGames: nbGamesED.nbGames, - nbWins: nbWinsED.nbWins, + let nbGamesED = await db.getNbGamesEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE); + nbGamesED = nbGamesED.nbGames || 0; + let nbWinsED = await db.getNbWinsEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE); + nbWinsED = nbWinsED.nbWins || 0; + let ratioED = (nbWinsED.nbWins / nbGamesED.nbGames) * 100 || 0; + let bestTimeED = await db.getBestTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE); + bestTimeED = bestTimeED.bestTime || 0; + let avgTimeED = await db.getAvgTimeEnigmeByUserId(req.session.user.idUser, ENIGME_DIFFICILE); + avgTimeED = avgTimeED.avgTime || 0; + + req.session.user.hardEnigmaStats = {nbGames: nbGamesED, + nbWins: nbWinsED, ratio: ratioED, - bestTime: bestTimeED.bestTime, - avgTime: avgTimeED.avgTime}; + bestTime: bestTimeED, + avgTime: avgTimeED}; // Récupérer les stats en ligne de l'utilisateur - const nbGamesOL = await db.getNbGamesOnlineByUserId(req.session.user.idUser) || 0; - const nbWinsOL = await db.getNbWinsOnlineByUserId(req.session.user.idUser) || 0; - const ratioOL = (nbWinsOL.nbWins / nbGamesOL.nbGames) * 100 || 0; - req.session.user.onlineStats = {nbGames: nbGamesOL.nbGames, - nbWins: nbWinsOL.nbWins, + let nbGamesOL = await db.getNbGamesOnlineByUserId(req.session.user.idUser); + nbGamesOL = nbGamesOL.nbGames || 0; + let nbWinsOL = await db.getNbWinsOnlineByUserId(req.session.user.idUser); + nbWinsOL = nbWinsOL.nbWins || 0; + let ratioOL = (nbWinsOL.nbWins / nbGamesOL.nbGames) * 100 || 0; + req.session.user.onlineStats = {nbGames: nbGamesOL, + nbWins: nbWinsOL, ratio: ratioOL}; diff --git a/cryptide_project/server/socket_io/server.js b/cryptide_project/server/socket_io/server.js index 4412b04..a99ea74 100644 --- a/cryptide_project/server/socket_io/server.js +++ b/cryptide_project/server/socket_io/server.js @@ -264,4 +264,4 @@ function comparePlayersByType(a, b) { } else { return 0; } -} +} \ No newline at end of file diff --git a/cryptide_project/src/App.tsx b/cryptide_project/src/App.tsx index 40cf7ee..6c8b0d8 100644 --- a/cryptide_project/src/App.tsx +++ b/cryptide_project/src/App.tsx @@ -9,7 +9,7 @@ import { AuthProvider } from './Contexts/AuthContext'; import Home from './Pages/Home'; import Login from './Pages/LoginForm'; import SignUp from './Pages/SignUpForm'; -import Play from './Pages/Play'; +import NewPlay from './Pages/NewPlay'; import Profile from './Pages/Profile'; import Lobby from './Pages/Lobby'; import InGame from './Pages/InGame'; @@ -22,9 +22,6 @@ import Lobbies from './Pages/Lobbies'; /* Component */ import AppNavbar from './Components/NavBar'; -/* service */ -import SessionService from './services/SessionService'; - /* nav */ import { BrowserRouter, Route, Routes, useLocation } from "react-router-dom"; @@ -44,7 +41,6 @@ import messagesEn from './Translations/en.json'; /* Gestion d' erreur */ import ErrorBoundary from './Error/ErrorBoundary'; import ErrorPage from './Error/ErrorPage'; -import NewPlay from './Pages/NewPlay'; const messages = { fr: messagesFr, @@ -77,10 +73,10 @@ function App() { {hasNavbarVisible && } - } /> + } /> } /> } /> - } /> + } /> } /> } /> }/> diff --git a/cryptide_project/src/Components/NavBar.tsx b/cryptide_project/src/Components/NavBar.tsx index 7d42f5b..5b0753f 100644 --- a/cryptide_project/src/Components/NavBar.tsx +++ b/cryptide_project/src/Components/NavBar.tsx @@ -32,6 +32,7 @@ function AppNavbar({changeLocale}) { const navigate = useNavigate(); + function navigateToProfile(){ navigate("/profile") } @@ -49,12 +50,15 @@ function AppNavbar({changeLocale}) {