From d3a6f5d6d6f11f2a75b2f48ead679171607093a9 Mon Sep 17 00:00:00 2001 From: adrien Date: Wed, 13 Dec 2023 23:14:28 +0100 Subject: [PATCH] check for key duplicates --- css/common.css | 4 ++++ index.html | 28 ++++++++++++++-------------- js/interface.js | 20 ++++++++++++++++++-- 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/css/common.css b/css/common.css index c602d8d..bae00a3 100644 --- a/css/common.css +++ b/css/common.css @@ -7,6 +7,10 @@ body { } @supports (backdrop-filter: blur()) { + .modal { + backdrop-filter: blur(2px); + } + .modal-content { background-color: rgba(33, 37, 41, 30%); backdrop-filter: blur(15px); diff --git a/index.html b/index.html index 06b198f..f7c926f 100644 --- a/index.html +++ b/index.html @@ -33,20 +33,20 @@
Commandes -
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
Répétition automatique @@ -87,7 +87,7 @@
-
HOLD
+
Hold
@@ -100,11 +100,11 @@
- + - - - + + +
Score 0
Score0
Meilleur
score
Niveau 0
But 0
Temps 00:00
Niveau 0
But 0
Temps 00:00
@@ -146,7 +146,7 @@
-
NEXT
+
Next
diff --git a/js/interface.js b/js/interface.js index 2664932..fd9c2b3 100644 --- a/js/interface.js +++ b/js/interface.js @@ -82,13 +82,29 @@ class Settings { function changeKey(input) { prevValue = input.value input.value = "" + keyInputs = Array.from(input.form.querySelectorAll("input[type='text']")) input.onkeydown = function (event) { event.preventDefault() input.value = KEY_NAMES[event.key] - input.blur() + if (input.value == "") input.value = prevValue + keyInputs.forEach(input => { + input.setCustomValidity("") + input.classList.remove("is-invalid") + }) + keyInputs.sort((input1, input2) => { + if(input1.value == input2.value) { + input1.setCustomValidity("Touche déjà utilisée") + input1.classList.add("is-invalid") + input2.setCustomValidity("Touche déjà utilisée") + input2.classList.add("is-invalid") + } + return input1.value > input2.value + }) + if (input.checkValidity()) { + input.blur() + } } input.onblur = function (event) { - if (input.value == "") input.value = prevValue input.onkeydown = null input.onblur = null }