diff --git a/public/css/index.css b/public/css/index.css index fbf96d3..8020221 100644 --- a/public/css/index.css +++ b/public/css/index.css @@ -65,6 +65,9 @@ header h2 { justify-content: center; align-items: flex-end; } +.word .letter.blank { + border: none; +} .word .counter { font-size: 40pt; font-family: Arial, Helvetica, sans-serif; diff --git a/public/css/index.css.map b/public/css/index.css.map index 46cf9f9..44e6668 100644 --- a/public/css/index.css.map +++ b/public/css/index.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../sass/index.scss","../sass/_header.scss","../sass/_game-container.scss","../sass/_hangman.scss","../sass/_word.scss","../sass/_current-score.scss","../sass/_categories.scss","../sass/_defeat-victory.scss","../sass/_loading.scss","../sass/_letters-registered.scss","../sass/_letter-input.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;EAEI;;AAEA;EAEI;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACI;EACA;;AA0BJ;EArBI,OAFuD;EAIvD,kBAoBc;EAnBd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAYZ;EA3BI,OAFuD;EAIvD,kBA0Bc;EAzBd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAkBZ;EAjCI,OAFuD;EAIvD,kBAgCc;EA/Bd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAwBZ;EAvCI,OAyCY;EAvCZ,kBAsCc;EArCd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AA+BZ;EA9CI,OAFuD;EAIvD,kBA6Cc;EA5Cd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAqCZ;EApDI,OAsDY;EApDZ,kBAmDc;EAlDd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AA4CZ;EA3DI,OAFuD;EAIvD,kBA0Dc;EAzDd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAmDhB;EACI;EAEA;EACA;;AAEA;EAEI;;AAIR;EACI;;AAIJ;EACI;EACA;;AAEA;EAEI;;AAGJ;EAEI;;;ACnJhB;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;;;AChBR;EACI;EAEA;EAEA;EAEA;EACA;EACA;EAEA;;AAEA;EACI;;;ACdR;EACI;EAEA;EACA;EACA;;AAEA;EAII,OAFO;EAGP,QAHO;EAKP;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA","file":"index.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../sass/index.scss","../sass/_header.scss","../sass/_game-container.scss","../sass/_hangman.scss","../sass/_word.scss","../sass/_current-score.scss","../sass/_categories.scss","../sass/_defeat-victory.scss","../sass/_loading.scss","../sass/_letters-registered.scss","../sass/_letter-input.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;;AAEA;EACI;;AAIR;EACI;EAEA;EAEA;;;AClCR;EAEI;EAEA;ELGA;EACA;EKAA;EAEA;;AAEA;EACI;;;ACbR;EAEI;;AAEA;EAEI;EAEA;EACA;EAEA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA;;AAEA;EACI;EACA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACI;EACA;;AA0BJ;EArBI,OAFuD;EAIvD,kBAoBc;EAnBd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAYZ;EA3BI,OAFuD;EAIvD,kBA0Bc;EAzBd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAkBZ;EAjCI,OAFuD;EAIvD,kBAgCc;EA/Bd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAwBZ;EAvCI,OAyCY;EAvCZ,kBAsCc;EArCd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AA+BZ;EA9CI,OAFuD;EAIvD,kBA6Cc;EA5Cd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAqCZ;EApDI,OAsDY;EApDZ,kBAmDc;EAlDd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AA4CZ;EA3DI,OAFuD;EAIvD,kBA0Dc;EAzDd;EAEA;EAEA;;AAEA;EACI;EACA;;AAEA;EACI;EACA;;AAmDhB;EACI;EAEA;EACA;;AAEA;EAEI;;AAIR;EACI;;AAIJ;EACI;EACA;;AAEA;EAEI;;AAGJ;EAEI;;;ACnJhB;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;;;AChBR;EACI;EAEA;EAEA;EAEA;EACA;EACA;EAEA;;AAEA;EACI;;;ACdR;EACI;EAEA;EACA;EACA;;AAEA;EAII,OAFO;EAGP,QAHO;EAKP;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA","file":"index.css"} \ No newline at end of file diff --git a/public/sass/_word.scss b/public/sass/_word.scss index cc9be67..38b48cf 100644 --- a/public/sass/_word.scss +++ b/public/sass/_word.scss @@ -21,6 +21,10 @@ display: flex; justify-content: center; align-items: flex-end; + + &.blank { + border: none; + } } .counter { diff --git a/src/App.js b/src/App.js index b9767f0..c08dae6 100644 --- a/src/App.js +++ b/src/App.js @@ -220,8 +220,8 @@ function App() { !displayApp ? : null } - {endOfGame === 'Victory' ? : null} - {endOfGame === 'Defeat' ? : null} + {endOfGame === 'Victory' ? : null} + {endOfGame === 'Defeat' ? : null} doc.id) + console.log(result) + + const words = await result.docs.map(doc => doc.id) + + console.log(words) const word = await SelectRandomWord(await words) return await word diff --git a/src/Firebase Querys/GetRandomCategory.js b/src/Firebase Querys/GetRandomCategory.js index 0af7cba..28e48b8 100644 --- a/src/Firebase Querys/GetRandomCategory.js +++ b/src/Firebase Querys/GetRandomCategory.js @@ -1,7 +1,7 @@ import {firestore} from '../Firebase/Firebase_Config' import { getFirestore, collection, doc, getDocs, getDoc } from 'firebase/firestore/lite'; -const GetRandomCategory = async () => { +const GetRandomCategory = async (language) => { let categoriesList = [] @@ -12,14 +12,17 @@ const GetRandomCategory = async () => { const data = collection(db, `categories`) const result = await getDocs(data) - result.docs.map(doc => categoriesList.push(doc.id.toLowerCase())) + console.log(result) + result.docs.map(doc => categoriesList.push(doc.get(language))) + + console.log(categoriesList) const randomNumber = Math.trunc( Math.random() * (categoriesList.length - 0) + 0 ) - return categoriesList[randomNumber] + return categoriesList[randomNumber].toLowerCase() } catch (error) { console.log(error) diff --git a/src/General Scripts/DetermineUserLanguage.js b/src/General Scripts/DetermineUserLanguage.js index 604adbd..5467715 100644 --- a/src/General Scripts/DetermineUserLanguage.js +++ b/src/General Scripts/DetermineUserLanguage.js @@ -1,13 +1,19 @@ const DetermineUserLanguage = (setLanguage) => { - console.log(navigator.language) + if (!localStorage.getItem('languageDetermined')) { - if (navigator.language === 'es') { - setLanguage('spanish') - } + + console.log(navigator.language) + + if (navigator.language === 'es') { + setLanguage('spanish') + } + + if (navigator.language === 'en' || navigator.language === 'en-US') { + setLanguage('english') + } - if (navigator.language === 'en' || navigator.language === 'en-US') { - setLanguage('english') + localStorage.setItem('languageDetermined', 'true') } } diff --git a/src/components/Victory && Defeat/Defeat.jsx b/src/components/Victory && Defeat/Defeat.jsx index cccd1c4..37217d5 100644 --- a/src/components/Victory && Defeat/Defeat.jsx +++ b/src/components/Victory && Defeat/Defeat.jsx @@ -1,7 +1,26 @@ -const Defeat = () => { +import React from "react" + +const Defeat = ({language}) => { + + const [text, setText] = React.useState('') + + React.useEffect(() => { + + if (language === 'english') { + + setText('DEFEAT') + } + + if (language === 'spanish') { + + setText('PERDISTE') + } + + }, []) + return (
-

DEFEAT

+

{text}

) } diff --git a/src/components/Victory && Defeat/Victory.jsx b/src/components/Victory && Defeat/Victory.jsx index bacc7ed..b7d4ce6 100644 --- a/src/components/Victory && Defeat/Victory.jsx +++ b/src/components/Victory && Defeat/Victory.jsx @@ -1,16 +1,28 @@ import React from 'react' -const Victory = ({currentScore, setCurrentScore}) => { +const Victory = ({currentScore, setCurrentScore, language}) => { + + const [text, setText] = React.useState('') React.useEffect(() => { setCurrentScore(parseInt(currentScore) + 1) + + if (language === 'english') { + + setText('VICTORY') + } + + if (language === 'spanish') { + + setText('VICTORIA') + } }, []) return (
-

VICTORY

+

{text}

) } diff --git a/src/components/Word/Word.jsx b/src/components/Word/Word.jsx index ffb882b..4f32797 100644 --- a/src/components/Word/Word.jsx +++ b/src/components/Word/Word.jsx @@ -1,6 +1,9 @@ import React from 'react' const Word = ({selectedWord, correctLetters}) => { + + let blankSpaces = 0 + return (
{ @@ -8,6 +11,16 @@ const Word = ({selectedWord, correctLetters}) => { letter = letter.toLowerCase() + if (letter === ' ') { + + blankSpaces++ + return ( + + ‍ + + ) + } + if (i === 0) { letter = letter.toUpperCase() } @@ -21,7 +34,7 @@ const Word = ({selectedWord, correctLetters}) => { } - ({selectedWord.length}) + ({selectedWord.length - blankSpaces})
)