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 }) => ( +
+ + + + + +
+ )} +
+ +