From 198c9087f30dcba565c83275221e196c60fbabc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Sun, 25 Feb 2024 11:49:09 +0100 Subject: [PATCH 1/2] Add auto-submit logic --- src/lib/elements/forms/inputDigits.svelte | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/elements/forms/inputDigits.svelte b/src/lib/elements/forms/inputDigits.svelte index dee662d632..c3f3f7be27 100644 --- a/src/lib/elements/forms/inputDigits.svelte +++ b/src/lib/elements/forms/inputDigits.svelte @@ -20,6 +20,12 @@ defaultValue: value.split(''), onValueChange: ({ next }) => { value = next.join(''); + + if (value.length === 6) { + const firstInputElement = element.querySelector('input'); + firstInputElement?.form.requestSubmit(); + } + return next; } }); From ddeff66b7ead4450be3f4d28ab6247658fbb5731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Sun, 25 Feb 2024 17:54:02 +0100 Subject: [PATCH 2/2] Only submit 2FA automatically once --- src/lib/elements/forms/inputDigits.svelte | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/elements/forms/inputDigits.svelte b/src/lib/elements/forms/inputDigits.svelte index c3f3f7be27..bd54b57f8d 100644 --- a/src/lib/elements/forms/inputDigits.svelte +++ b/src/lib/elements/forms/inputDigits.svelte @@ -13,6 +13,8 @@ let element: HTMLOListElement; + let autoSubmitted = false; + const { elements: { root, input } } = createPinInput({ @@ -21,7 +23,8 @@ onValueChange: ({ next }) => { value = next.join(''); - if (value.length === 6) { + if (value.length === 6 && !autoSubmitted) { + autoSubmitted = true; const firstInputElement = element.querySelector('input'); firstInputElement?.form.requestSubmit(); }