From ad2c1746f0cadee21bf7e330447c071f8ede874f Mon Sep 17 00:00:00 2001
From: Pierre Ferreira
Date: Tue, 28 Nov 2023 14:07:26 +0100
Subject: [PATCH] =?UTF-8?q?ajout=20du=20selecteur=20de=20difficult=C3=A9?=
=?UTF-8?q?=20de=20enigme=20du=20jour=20:zap:?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cryptide_project/src/Pages/Play.tsx | 99 +++++++++++++++++++++++++----
1 file changed, 86 insertions(+), 13 deletions(-)
diff --git a/cryptide_project/src/Pages/Play.tsx b/cryptide_project/src/Pages/Play.tsx
index 03c5ddf..ecb1995 100644
--- a/cryptide_project/src/Pages/Play.tsx
+++ b/cryptide_project/src/Pages/Play.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from 'react';
+import React, { useEffect, useRef, useState } from 'react';
/* Context */
import { useAuth } from '../Contexts/AuthContext';
@@ -28,6 +28,13 @@ import Stub from '../model/Stub';
import SessionService from '../services/SessionService';
import { loadImageAsync } from '../ImageHelper';
+
+import { Overlay, ToggleButton, ToggleButtonGroup } from 'react-bootstrap';
+
+import Button from 'react-bootstrap/Button';
+import ButtonGroup from 'react-bootstrap/ButtonGroup';
+
+
function Play() {
let first = true
@@ -35,6 +42,9 @@ function Play() {
const {isLoggedIn, login, user, setUserData, manager } = useAuth();
const {setDailyEnigmeData} = useGame()
+ const target = useRef(null);
+
+
useEffect(() => {
const fetchUserInformation = async () => {
try {
@@ -124,17 +134,11 @@ function Play() {
function launchEngimeJour(){
- const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(3, 30)
- setPersonData(choosenPerson)
- setPersonNetworkData(networkPerson)
- setIndicesData(choosenIndices)
- setIndicesData(choosenIndices)
- if (first){
- first = false
- const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice())
- setDailyEnigmeData(map)
- }
- navigate('/game?solo=true&daily=true');
+ //* overlay
+
+ if (!showOverlay)setShowOverlay(true)
+ else setShowOverlay(true)
+
}
@@ -160,6 +164,53 @@ function Play() {
}
}, [room, navigate]);
+
+
+ const [showOverlay, setShowOverlay] = useState(false);
+ const [selectedDifficulty, setSelectedDifficulty] = useState(null);
+
+ //@ts-ignore
+ const handleDifficultyChange = (value) => {
+ setSelectedDifficulty(value);
+ };
+
+ const handleStartEasyGame = () => {
+
+ //* Mode facile
+ //todo différencier les deux
+ const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(3, 30)
+ setPersonData(choosenPerson)
+ setPersonNetworkData(networkPerson)
+ setIndicesData(choosenIndices)
+ setIndicesData(choosenIndices)
+ if (first){
+ first = false
+ const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice())
+ setDailyEnigmeData(map)
+ }
+ navigate('/game?solo=true&daily=true');
+ setShowOverlay(false);
+ };
+
+ const handleStartHardGame = () => {
+ //* Mode difficile
+
+ //todo différencier les deux
+ const [networkPerson, choosenPerson, choosenIndices] = GameCreator.CreateGame(3, 30)
+ setPersonData(choosenPerson)
+ setPersonNetworkData(networkPerson)
+ setIndicesData(choosenIndices)
+ setIndicesData(choosenIndices)
+ if (first){
+ first = false
+ const map = EnigmeDuJourCreator.createEnigme(networkPerson, choosenIndices, choosenPerson, Stub.GenerateIndice())
+ setDailyEnigmeData(map)
+ }
+ navigate('/game?solo=true&daily=true');
+ setShowOverlay(false);
+ };
+
+
return (
@@ -182,7 +233,29 @@ function Play() {
-
+
+
+
+
+ {({ placement, arrowProps, show: _show, popper, ...props }) => (
+
+
+
+
+
+
+
+ )}
+
+
+