Victory and defeat logic done

This commit is contained in:
2021-10-14 12:56:08 -03:00
parent fac1305cfc
commit 84dcff99a7
9 changed files with 62 additions and 20 deletions

View File

@@ -108,4 +108,20 @@ header h2 {
color: #58ff6b; color: #58ff6b;
} }
.loading {
position: absolute;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.loading img {
width: 50px;
height: 50px;
}
/*# sourceMappingURL=index.css.map */ /*# sourceMappingURL=index.css.map */

View File

@@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../sass/index.scss","../sass/_header.scss","../sass/_app.scss","../sass/_hangman.scss","../sass/_puzzleWord.scss","../sass/_current-score.scss","../sass/_defeat-victory.scss"],"names":[],"mappings":"AAAA;EACI;EACA;;;ACFJ;EACI;EAEA;EAEA;EACA;EACA;EACA;;AAEA;EDHA;EACA;EAIA;EACA;;ACGA;EDTA;EACA;EAIA;EACA;ECMI;EACA;EAEA;;;ACtBR;EAEI;EACA;EAEA;;AAMA;EACI;EACA;EAEA;;;ACfR;EAEI;;AAEA;EACI;;;ACLR;EJkBI;EACA;EIhBA;EAEA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EACA;EAEA;EAEA;EACA;EACA;;AAGJ;EACI;EAEA;EAEA;;;AC9BR;EAEI;EAEA;ELGA;EACA;EKAA;EAEA;;AAEA;EACI;;;ACbR;EACI;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EAEA;EAEA;;AAEA;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI","file":"index.css"} {"version":3,"sourceRoot":"","sources":["../sass/index.scss","../sass/_header.scss","../sass/_app.scss","../sass/_hangman.scss","../sass/_puzzleWord.scss","../sass/_current-score.scss","../sass/_defeat-victory.scss","../sass/_loading.scss"],"names":[],"mappings":"AAAA;EACI;EACA;;;ACFJ;EACI;EAEA;EAEA;EACA;EACA;EACA;;AAEA;EDHA;EACA;EAIA;EACA;;ACGA;EDTA;EACA;EAIA;EACA;ECMI;EACA;EAEA;;;ACtBR;EAEI;EACA;EAEA;;AAMA;EACI;EACA;EAEA;;;ACfR;EAEI;;AAEA;EACI;;;ACLR;EJkBI;EACA;EIhBA;EAEA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EACA;EAEA;EAEA;EACA;EACA;;AAGJ;EACI;EAEA;EAEA;;;AC9BR;EAEI;EAEA;ELGA;EACA;EKAA;EAEA;;AAEA;EACI;;;ACbR;EACI;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EAEA;EAEA;EAEA;;AAEA;EACI;EACA;;;AAIR;EACI;;;AAGJ;EACI;;;AC9BJ;EACI;EACA;EACA;EAEA;EACA;EAEA;EAEA;EACA;EACA;;AAEA;EACI;EACA","file":"index.css"}

19
public/sass/_loading.scss Normal file
View File

@@ -0,0 +1,19 @@
.loading {
position: absolute;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
img {
width: 50px;
height: 50px;
}
}

View File

@@ -23,3 +23,4 @@ html, body {
@import 'header'; @import 'header';
@import 'app'; @import 'app';
@import 'defeat-victory'; @import 'defeat-victory';
@import 'loading';

View File

@@ -5,6 +5,7 @@ import Header from "./components/Header";
import PuzzleWord from "./components/Hangman/PuzzleWord/PuzzleWord"; import PuzzleWord from "./components/Hangman/PuzzleWord/PuzzleWord";
import Victory from "./components/Hangman/PuzzleWord/Victory"; import Victory from "./components/Hangman/PuzzleWord/Victory";
import Defeat from "./components/Hangman/PuzzleWord/Defeat"; import Defeat from "./components/Hangman/PuzzleWord/Defeat";
import Loading from "./components/Loading";
function App() { function App() {
@@ -16,18 +17,13 @@ function App() {
const [isVictory, setIsVictory] = useState(false) const [isVictory, setIsVictory] = useState(false)
const [isDefeat, setIsDefeat] = useState(false) const [isDefeat, setIsDefeat] = useState(false)
const [keyPuzzleWord, setKeyPuzzleWord] = useState(1) const [displayApp, setDisplayApp] = useState(false)
if (isVictory || isDefeat) { if (isVictory || isDefeat) {
setTimeout(() => { setTimeout(() => {
setHangmanFrame(0) window.location.reload(true);
setIsVictory(false)
setIsDefeat(false)
setKeyPuzzleWord(keyPuzzleWord + 1)
}, 3000) }, 3000)
} }
@@ -40,18 +36,18 @@ function App() {
<div className='column-1'> <div className='column-1'>
<Hangman <Hangman
hangmanFrame={hangmanFrame} hangmanFrame={hangmanFrame}
/> />
</div> </div>
<div className='column-2'> <div className='column-2'>
<CurrentScore currentScore={currentScore} /> <CurrentScore currentScore={currentScore} />
{ isVictory || isDefeat ? null : {!displayApp ? <Loading /> : null }
<PuzzleWord <PuzzleWord
key={keyPuzzleWord}
hangmanFrame={hangmanFrame} hangmanFrame={hangmanFrame}
setHangmanFrame={setHangmanFrame} setHangmanFrame={setHangmanFrame}
@@ -63,11 +59,10 @@ function App() {
isDefeat={isDefeat} isDefeat={isDefeat}
setIsDefeat={setIsDefeat} setIsDefeat={setIsDefeat}
setDisplayApp={setDisplayApp}
/> />
}
{isVictory ? <Victory currentScore={currentScore} setCurrentScore={setCurrentScore} /> : null} {isVictory ? <Victory currentScore={currentScore} setCurrentScore={setCurrentScore} /> : null}
{isDefeat ? <Defeat /> : null} {isDefeat ? <Defeat /> : null}

View File

@@ -3,11 +3,10 @@ import Register_Input from '../../Scripts/Register input'
import Defeat from './Defeat' import Defeat from './Defeat'
import Victory from './Victory' import Victory from './Victory'
const PuzzleWord = ({hangmanFrame, setHangmanFrame, currentScore, setCurrentScore, setIsVictory, setIsDefeat}) => { const PuzzleWord = ({hangmanFrame, setHangmanFrame, currentScore, setCurrentScore, setIsVictory, setIsDefeat, setDisplayApp}) => {
const [actualWord, setActualWord] = useState('papa') const [actualWord, setActualWord] = useState('papa')
const generatePuzzleWord = () => { const generatePuzzleWord = () => {
const puzzleWord = document.getElementById('puzzleWord') const puzzleWord = document.getElementById('puzzleWord')
@@ -27,12 +26,12 @@ const PuzzleWord = ({hangmanFrame, setHangmanFrame, currentScore, setCurrentScor
counter.textContent = '(' + actualWord.length + ')' counter.textContent = '(' + actualWord.length + ')'
puzzleWord.appendChild(counter) puzzleWord.appendChild(counter)
}
}
React.useEffect(() => { React.useEffect(() => {
generatePuzzleWord() generatePuzzleWord()
setDisplayApp(true)
}, []) }, [])

View File

@@ -0,0 +1,12 @@
import React from 'react'
import loadingGifLightTheme from './img/loading-light-theme.png'
const Loading = () => {
return (
<div className='loading'>
<img src={loadingGifLightTheme} alt="" />
</div>
)
}
export default Loading

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB