diff --git a/cryptide_project/src/Pages/EndGame.tsx b/cryptide_project/src/Pages/EndGame.tsx index cf3d932..8915a15 100644 --- a/cryptide_project/src/Pages/EndGame.tsx +++ b/cryptide_project/src/Pages/EndGame.tsx @@ -28,6 +28,12 @@ function EndGame() { const {winner, person, players, indices} =useGame() console.log(winner) + let indice = indices[0] + const index = players.findIndex((p) => p.id == winner?.id) + if (index != -1) { + indice = indices[index] + } + const theme = useTheme(); return (
@@ -39,7 +45,7 @@ function EndGame() {
-

{indices[players.findIndex((p) => p.id == winner?.id)].ToString("fr")}

+

{indice.ToString("fr")}

diff --git a/cryptide_project/src/Pages/Play.tsx b/cryptide_project/src/Pages/Play.tsx index c0489ee..31c1333 100644 --- a/cryptide_project/src/Pages/Play.tsx +++ b/cryptide_project/src/Pages/Play.tsx @@ -22,11 +22,15 @@ import { socket } from '../SocketConfig'; import { useNavigate } from 'react-router-dom'; import GameCreator from '../model/GameCreator'; import { useGame } from '../Contexts/GameContext'; +import { set } from 'lodash'; function Play() { const theme=useTheme() const [username, setUsername] = useState(''); + const [nbSoloGames, setNbSoloGames] = useState(0); + const [soloBestScore, setSoloBestScore] = useState(0); + const [soloAverageTry, setSoloAverageTry] = useState(0); useEffect(() => { const fetchUserInformation = async () => { @@ -37,6 +41,9 @@ function Play() { // Vérifie si il y a une session if (sessionData.user) { setUsername(sessionData.user.pseudo); + setNbSoloGames(sessionData.user.soloStats.nbGames); + setSoloBestScore(sessionData.user.soloStats.bestScore); + setSoloAverageTry(sessionData.user.soloStats.averageTry); } else { // Pas de session on génère un guest random setUsername(`Guest ${Math.floor(Math.random() * 100000)}`); @@ -130,16 +137,16 @@ function Play() {

- Partie Jouées :
- Partie gagnées :
- Pions posés :
+ Parties jouées :
+ High-Score :
+ Nombre d'essaie moyen :

- 10
- 2
- 45
+ {nbSoloGames}
+ {soloBestScore}
+ {soloAverageTry}

diff --git a/cryptide_project/src/server/controllers/SessionController.js b/cryptide_project/src/server/controllers/SessionController.js index e449035..3c5350e 100644 --- a/cryptide_project/src/server/controllers/SessionController.js +++ b/cryptide_project/src/server/controllers/SessionController.js @@ -2,18 +2,30 @@ const DatabaseService = require('../services/DatabaseService'); class SessionController { static async getUserInformation(req, res) { + const db = new DatabaseService(); + try{ - console.log(req.session); + await db.connect(); + if (!req.session.user) { - res.status(200).json({ message: 'User not found' }); + res.status(200).json({ error: "true", message: 'User not found' }); return; } + + req.session.user.soloStats = await db.getSoloStatsByUserId(req.session.user.idUser); + req.session.user.onlineStats = await db.getOnlineStatsByUserId(req.session.user.idUser); + + console.log(req.session.user); + res.status(200).json({ user: req.session.user }); } catch(error){ console.error(error); res.status(500).json({ error: 'Erreur lors de la récupération de l\'utilisateur.' }); } + finally{ + await db.disconnect(); + } } }