From 6c73ae9c6c05bb4dc1ef2423134b1df35d12f3e8 Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 30 May 2020 13:15:00 +0100 Subject: [PATCH] added blind mode --- public/index.html | 8 ++++++++ public/js/commandline.js | 7 +++++++ public/js/script.js | 20 +++++++++++++------- public/js/settings.js | 14 +++++++++++++- public/js/userconfig.js | 20 ++++++++++++++++++++ 5 files changed, 61 insertions(+), 8 deletions(-) diff --git a/public/index.html b/public/index.html index bee426f42..49b7d544a 100644 --- a/public/index.html +++ b/public/index.html @@ -309,6 +309,14 @@
off
+
+

blind mode

+
No errors or incorrect words are highlighted. Helps you focus on raw speed.
+
+
on
+
off
+
+

font size

Change the font size of the test words
diff --git a/public/js/commandline.js b/public/js/commandline.js index 6ea7c5543..2fdbb16dc 100644 --- a/public/js/commandline.js +++ b/public/js/commandline.js @@ -49,6 +49,13 @@ let commands = { toggleFreedomMode(); } }, + { + id: "toggleBlindMode", + display: "Toggle blind mode", + exec: () => { + toggleBlindMode(); + } + }, { id: "changeDifficulty", display: "Change difficulty...", diff --git a/public/js/script.js b/public/js/script.js index 47ec37b20..b6c4c1d28 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -256,13 +256,18 @@ function compareInput() { showResult(true); restartCount++; } - if (currentWord[i] == undefined) { - ret += - '' + currentInput[i] + ""; - // $($('#words .word')[currentWordIndex]).append('' + currentInput[i] + ""); - } else { - ret += '' + currentWord[i] + ""; - // $(letterElems[i]).removeClass('correct').addClass('incorrect'); + if(config.blindMode){ + if (currentWord[i] == undefined) { + // ret += '' + currentInput[i] + ""; + } else { + ret += '' + currentWord[i] + ""; + } + }else{ + if (currentWord[i] == undefined) { + ret += '' + currentInput[i] + ""; + } else { + ret += '' + currentWord[i] + ""; + } } } } @@ -281,6 +286,7 @@ function compareInput() { } function highlightBadWord() { + if(config.blindMode) return; $(".word.active").addClass("error"); } diff --git a/public/js/settings.js b/public/js/settings.js index e1c64dd63..1fc65a7fe 100644 --- a/public/js/settings.js +++ b/public/js/settings.js @@ -15,7 +15,7 @@ function updateSettingsPage(){ setSettingsButton('liveWpm', config.showLiveWpm); setSettingsButton('keyTips', config.showKeyTips); setSettingsButton('freedomMode', config.freedomMode); - + setSettingsButton('blindMode', config.blindMode); setActiveThemeButton(); setActiveLanguageButton(); @@ -190,3 +190,15 @@ $(document).on("click",".pageSettings .section.caretStyle .button", (e) => { showNotification('Caret style updated', 1000); setActiveCaretStyleButton(); }) + +//blind mode +$(".pageSettings .section.blindMode .buttons .button.on").click(e => { + setBlindMode(true); + showNotification('Blind mode on', 1000); + setSettingsButton('blindMode', config.blindMode); +}) +$(".pageSettings .section.blindMode .buttons .button.off").click(e => { + setBlindMode(false); + showNotification('Blind mode off', 1000); + setSettingsButton('blindMode', config.blindMode); +}) diff --git a/public/js/userconfig.js b/public/js/userconfig.js index 84e8873c4..517e431d8 100644 --- a/public/js/userconfig.js +++ b/public/js/userconfig.js @@ -13,6 +13,7 @@ let config = { freedomMode: false, resultFilters: ["all"], difficulty: "normal", + blindMode: false } //cookies @@ -43,6 +44,7 @@ function loadConfigFromCookie() { setFreedomMode(newConfig.freedomMode,true); setCaretStyle(newConfig.caretStyle,true); setDifficulty(newConfig.difficulty,true); + setBlindMode(newConfig.blindMode,true); if(newConfig.resultFilters == null || newConfig.resultFilters == undefined){ newConfig.resultFilters = ["all"]; } @@ -68,6 +70,24 @@ function setDifficulty(diff, nosave){ if(!nosave) saveConfigToCookie(); } +//blind mode +function toggleBlindMode(){ + blind = !config.blindMode; + if(blind == undefined){ + blind = false; + } + config.blindMode = blind; + if(!nosave) saveConfigToCookie(); +} + +function setBlindMode(blind, nosave){ + if(blind == undefined){ + blind = false; + } + config.blindMode = blind; + if(!nosave) saveConfigToCookie(); +} + function setCaretStyle(caretStyle, nosave) { if (caretStyle == null || caretStyle == undefined) { caretStyle = 'default';