added two settings groups, renamed group to danger zone

This commit is contained in:
Jack 2020-09-12 02:29:54 +01:00
parent e5d3804530
commit 09df26a42c
6 changed files with 177 additions and 115 deletions

View file

@ -1828,7 +1828,7 @@ key {
align-items: center;
.button.danger {
background: #d00;
background: var(--error-color);
color: #eee;
&:hover {
background: var(--main-color);

View file

@ -1498,89 +1498,9 @@
</div>
</div>
</div>
<div class="section freedomMode">
<h1>freedom mode</h1>
<div class="text">
Allows you to delete any word, even if it was typed correctly.
</div>
<div class="buttons">
<div class="button off" tabindex="0" onclick="this.blur();">
off
</div>
<div class="button on" tabindex="0" onclick="this.blur();">
on
</div>
</div>
</div>
<div class="section confidenceMode">
<h1>confidence mode</h1>
<div class="text">
When enabled, you will not be able to go back to previous words
to fix mistakes. When turned up to the max, you won't be able to
backspace at all.
</div>
<div class="buttons">
<div
class="button"
confidenceMode="off"
tabindex="0"
onclick="this.blur();"
>
off
</div>
<div
class="button"
confidenceMode="on"
tabindex="0"
onclick="this.blur();"
>
on
</div>
<div
class="button"
confidenceMode="max"
tabindex="0"
onclick="this.blur();"
>
max
</div>
</div>
</div>
<div class="section stopOnError">
<h1>stop on error</h1>
<div class="text">
Letter mode will stop input when pressing any incorrect letters.
Word mode will not allow you to continue to the next word until
you correct all mistakes.
</div>
<div class="buttons">
<div
class="button"
stopOnError="off"
tabindex="0"
onclick="this.blur();"
>
off
</div>
<div
class="button"
stopOnError="word"
tabindex="0"
onclick="this.blur();"
>
word
</div>
<div
class="button"
stopOnError="letter"
tabindex="0"
onclick="this.blur();"
>
letter
</div>
</div>
</div>
<div class="section blindMode">
<h1>blind mode</h1>
<div class="text">
@ -1643,6 +1563,145 @@
</div>
</div>
</div>
<div class="section language">
<h1>language</h1>
<div class="buttons"></div>
</div>
<div class="section funbox">
<h1>funbox</h1>
<div class="buttons"></div>
</div>
<div class="sectionSpacer"></div>
</div>
<div class="sectionGroupTitle" group="input">
input
<i class="fas fa-chevron-down"></i>
</div>
<div class="settingsGroup input">
<div class="section freedomMode">
<h1>freedom mode</h1>
<div class="text">
Allows you to delete any word, even if it was typed correctly.
</div>
<div class="buttons">
<div class="button off" tabindex="0" onclick="this.blur();">
off
</div>
<div class="button on" tabindex="0" onclick="this.blur();">
on
</div>
</div>
</div>
<div class="section stopOnError">
<h1>stop on error</h1>
<div class="text">
Letter mode will stop input when pressing any incorrect letters.
Word mode will not allow you to continue to the next word until
you correct all mistakes.
</div>
<div class="buttons">
<div
class="button"
stopOnError="off"
tabindex="0"
onclick="this.blur();"
>
off
</div>
<div
class="button"
stopOnError="word"
tabindex="0"
onclick="this.blur();"
>
word
</div>
<div
class="button"
stopOnError="letter"
tabindex="0"
onclick="this.blur();"
>
letter
</div>
</div>
</div>
<div class="section confidenceMode">
<h1>confidence mode</h1>
<div class="text">
When enabled, you will not be able to go back to previous words
to fix mistakes. When turned up to the max, you won't be able to
backspace at all.
</div>
<div class="buttons">
<div
class="button"
confidenceMode="off"
tabindex="0"
onclick="this.blur();"
>
off
</div>
<div
class="button"
confidenceMode="on"
tabindex="0"
onclick="this.blur();"
>
on
</div>
<div
class="button"
confidenceMode="max"
tabindex="0"
onclick="this.blur();"
>
max
</div>
</div>
</div>
<div class="section swapEscAndTab" section="">
<h1>swap esc and tab</h1>
<div class="text">
Swap the behaviour of tab and escape keys.
</div>
<div class="buttons">
<div class="button off" tabindex="0" onclick="this.blur();">
off
</div>
<div class="button on" tabindex="0" onclick="this.blur();">
on
</div>
</div>
</div>
<div class="section capsLockBackspace">
<h1>caps lock backspace</h1>
<div class="text">
Makes caps lock act like backspace.
</div>
<div class="buttons">
<div class="button off" tabindex="0" onclick="this.blur();">
off
</div>
<div class="button on" tabindex="0" onclick="this.blur();">
on
</div>
</div>
</div>
<div class="section layout">
<h1>layout override</h1>
<div class="buttons"></div>
</div>
<div class="sectionSpacer"></div>
</div>
<div class="sectionGroupTitle" group="sound">
sound
<i class="fas fa-chevron-down"></i>
</div>
<div class="settingsGroup sound">
<div class="section playSoundOnClick">
<h1>play sound on click</h1>
<div class="text">
@ -1706,32 +1765,6 @@
</div>
</div>
</div>
<div class="section capsLockBackspace">
<h1>caps lock backspace</h1>
<div class="text">
Makes caps lock act like backspace.
</div>
<div class="buttons">
<div class="button off" tabindex="0" onclick="this.blur();">
off
</div>
<div class="button on" tabindex="0" onclick="this.blur();">
on
</div>
</div>
</div>
<div class="section layout">
<h1>layout override</h1>
<div class="buttons"></div>
</div>
<div class="section language">
<h1>language</h1>
<div class="buttons"></div>
</div>
<div class="section funbox">
<h1>funbox</h1>
<div class="buttons"></div>
</div>
<div class="sectionSpacer"></div>
</div>
@ -2331,12 +2364,13 @@
</div>
</div>
</div>
<div class="sectionSpacer"></div>
</div>
<div class="sectionGroupTitle" group="dangerSection">
danger section
<div class="sectionGroupTitle" group="dangerZone">
danger zone
<i class="fas fa-chevron-down"></i>
</div>
<div class="settingsGroup dangerSection">
<div class="settingsGroup dangerZone">
<div class="section resetSettings">
<h1>reset settings</h1>
<div class="text">

View file

@ -179,6 +179,13 @@ let commands = {
toggleAlwaysShowDecimalPlaces();
},
},
{
id: "toggleSwapEscAndTab",
display: "Toggle swap esc and tab",
exec: () => {
toggleSwapEscAndTab();
},
},
{
id: "toggleShowAllLines",
display: "Toggle show all lines",
@ -1110,7 +1117,8 @@ $("#commandLine input").keyup((e) => {
$(document).ready((e) => {
$(document).keydown((event) => {
//escape
if (event.keyCode == 27) {
if ((event.keyCode == 27 && !config.swapEscAndTab) || (event["keyCode"] == 9 && config.swapEscAndTab)) {
event.preventDefault();
if ($("#commandLineWrapper").hasClass("hidden")) {
currentCommands = [commands];
showCommandLine();

View file

@ -3916,7 +3916,7 @@ $(document).keydown((event) => {
keypressStats.spacing.current = now;
//tab
if (event["keyCode"] == 9) {
if ((event["keyCode"] == 9 && !config.swapEscAndTab) || (event["keyCode"] == 27 && config.swapEscAndTab)) {
if (
!event.ctrlKey &&
config.quickTab &&

View file

@ -150,6 +150,10 @@ settingsGroups.flipTestColors = new SettingsGroup(
"flipTestColors",
setFlipTestColors
);
settingsGroups.swapEscAndTab = new SettingsGroup(
"swapEscAndTab",
setSwapEscAndTab
);
settingsGroups.colorfulMode = new SettingsGroup(
"colorfulMode",
setColorfulMode

View file

@ -52,7 +52,8 @@ let defaultConfig = {
alwaysShowWordsHistory: false,
playSoundOnError: false,
playSoundOnClick: "off",
startGraphsAtZero: true
startGraphsAtZero: true,
swapEscAndTab: false
};
let cookieConfig = null;
@ -185,6 +186,7 @@ function applyConfig(configObj) {
setFavThemes(configObj.favThemes, true);
setRandomTheme(configObj.randomTheme, true);
setShowAllLines(configObj.showAllLines, true);
setSwapEscAndTab(configObj.swapEscAndTab, true);
// if (
// configObj.resultFilters !== null &&
// configObj.resultFilters !== undefined
@ -341,6 +343,20 @@ function setAlwaysShowDecimalPlaces(val, nosave) {
if (!nosave) saveConfigToCookie();
}
//swap esc and tab
function toggleSwapEscAndTab() {
config.swapEscAndTab = !config.swapEscAndTab;
saveConfigToCookie();
}
function setSwapEscAndTab(val, nosave) {
if (val == undefined) {
val = false;
}
config.swapEscAndTab = val;
if (!nosave) saveConfigToCookie();
}
//always show words history
function setAlwaysShowWordsHistory(val, nosave) {
if (val == undefined) {