Skip to content

Commit 7f6c9a5

Browse files
committed
added freedom mode
1 parent cb5f8cb commit 7f6c9a5

5 files changed

Lines changed: 43 additions & 4 deletions

File tree

public/index.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,11 @@ <h1>show key tips</h1>
237237
<div class="text">Shows the keybind tips at the bottom of the page.</div>
238238
<div class="buttons"><div class="button on" tabindex="0">show</div><div class="button off" tabindex="0">hide</div></div>
239239
</div>
240+
<div class="section freedomMode">
241+
<h1>freedom mode</h1>
242+
<div class="text">Allows you to delete any word, even if it was typed correctly.</div>
243+
<div class="buttons"><div class="button on" tabindex="0">on</div><div class="button off" tabindex="0">off</div></div>
244+
</div>
240245
<div class="section fontSize">
241246
<h1>font size</h1>
242247
<div class="text">Change the font size of the test words</div>

public/js/commandline.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,13 @@ let commands = {
4242
toggleKeyTips();
4343
}
4444
},
45+
{
46+
id: "toggleFreedom",
47+
display: "Toggle freedom mode",
48+
exec: () => {
49+
toggleFreedomMode();
50+
}
51+
},
4552
{
4653
id: "changeTheme",
4754
display: "Change theme...",

public/js/script.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,9 +1019,7 @@ $(document).keydown((event) => {
10191019
if (!testActive) return;
10201020
if (currentInput == "" && inputHistory.length > 0) {
10211021
if (
1022-
inputHistory[currentWordIndex - 1] ==
1023-
wordsList[currentWordIndex - 1] ||
1024-
$($(".word")[currentWordIndex - 1]).hasClass("hidden")
1022+
(inputHistory[currentWordIndex - 1] == wordsList[currentWordIndex - 1] && !config.freedomMode) || $($(".word")[currentWordIndex - 1]).hasClass("hidden")
10251023
) {
10261024
return;
10271025
} else {

public/js/settings.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ function updateSettingsPage(){
1414
setSettingsButton('quickTab', config.quickTab);
1515
setSettingsButton('liveWpm', config.showLiveWpm);
1616
setSettingsButton('keyTips', config.showKeyTips);
17+
setSettingsButton('freedomMode', config.freedomMode);
18+
1719

1820
setActiveThemeButton();
1921
setActiveLanguageButton();
@@ -92,6 +94,20 @@ $(".pageSettings .section.liveWpm .buttons .button.off").click(e => {
9294
setSettingsButton('liveWpm', config.showLiveWpm);
9395
})
9496

97+
//freedom mode
98+
$(".pageSettings .section.freedomMode .buttons .button.on").click(e => {
99+
setFreedomMode(true);
100+
saveConfigToCookie();
101+
showNotification('Freedom mode on', 1000);
102+
setSettingsButton('freedomMode', config.freedomMode);
103+
})
104+
$(".pageSettings .section.freedomMode .buttons .button.off").click(e => {
105+
setFreedomMode(false);
106+
saveConfigToCookie();
107+
showNotification('Freedom mode off', 1000);
108+
setSettingsButton('freedomMode', config.freedomMode);
109+
})
110+
95111
//keytips
96112
$(".pageSettings .section.keyTips .buttons .button.on").click(e => {
97113
setKeyTips(true);

public/js/userconfig.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ let config = {
99
time: 30,
1010
mode: "words",
1111
language: "english",
12-
fontSize: 1
12+
fontSize: 1,
13+
freedomMode: false
1314
}
1415

1516
//cookies
@@ -33,6 +34,7 @@ function loadConfigFromCookie() {
3334
changeMode(newConfig.mode);
3435
changeLanguage(newConfig.language);
3536
changeFontSize(newConfig.fontSize);
37+
setFreedomMode(newConfig.freedomMode);
3638
config = newConfig;
3739
restartTest();
3840
}
@@ -134,6 +136,17 @@ function togglePunctuation() {
134136
saveConfigToCookie();
135137
}
136138

139+
//freedom
140+
function setFreedomMode(freedom) {
141+
config.freedomMode = freedom;
142+
saveConfigToCookie();
143+
}
144+
145+
function toggleFreedomMode() {
146+
config.freedomMode = !config.freedomMode;
147+
saveConfigToCookie();
148+
}
149+
137150
function previewTheme(name) {
138151
$("#currentTheme").attr("href", `themes/${name}.css`);
139152
}

0 commit comments

Comments
 (0)