From dcc2acfe5d0709a50622575b228bd8db5ef40c2e Mon Sep 17 00:00:00 2001 From: Phantasm Date: Tue, 25 Mar 2025 23:01:50 +0100 Subject: [PATCH] Use correct CSS class in MFA forms, focus code input on error --- src/components/mfa_form/recovery_form.js | 8 ++++++++ src/components/mfa_form/recovery_form.vue | 4 +++- src/components/mfa_form/totp_form.js | 8 ++++++++ src/components/mfa_form/totp_form.vue | 4 +++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/components/mfa_form/recovery_form.js b/src/components/mfa_form/recovery_form.js index 66778b4f6..2d0f4fdff 100644 --- a/src/components/mfa_form/recovery_form.js +++ b/src/components/mfa_form/recovery_form.js @@ -29,6 +29,13 @@ export default { ...mapMutations('authFlow', ['requireTOTP', 'abortMFA']), ...mapActions({ login: 'authFlow/login' }), clearError () { this.error = false }, + + focusOnCodeInput () { + const codeInput = this.$refs.codeInput + codeInput.focus() + codeInput.setSelectionRange(0, codeInput.value.length) + }, + submit () { const { clientId, clientSecret } = this.oauthStore @@ -44,6 +51,7 @@ export default { if (result.error) { this.error = result.error this.code = null + this.focusOnCodeInput() return } diff --git a/src/components/mfa_form/recovery_form.vue b/src/components/mfa_form/recovery_form.vue index f8c3e6a04..02f27ddaf 100644 --- a/src/components/mfa_form/recovery_form.vue +++ b/src/components/mfa_form/recovery_form.vue @@ -1,5 +1,5 @@ + diff --git a/src/components/mfa_form/totp_form.js b/src/components/mfa_form/totp_form.js index e347e017a..857d055ff 100644 --- a/src/components/mfa_form/totp_form.js +++ b/src/components/mfa_form/totp_form.js @@ -29,6 +29,13 @@ export default { ...mapMutations('authFlow', ['requireRecovery', 'abortMFA']), ...mapActions({ login: 'authFlow/login' }), clearError () { this.error = false }, + + focusOnCodeInput () { + const codeInput = this.$refs.codeInput + codeInput.focus() + codeInput.setSelectionRange(0, codeInput.value.length) + }, + submit () { const { clientId, clientSecret } = this.oauthStore @@ -44,6 +51,7 @@ export default { if (result.error) { this.error = result.error this.code = null + this.focusOnCodeInput() return } diff --git a/src/components/mfa_form/totp_form.vue b/src/components/mfa_form/totp_form.vue index 26fc1e804..b057f0413 100644 --- a/src/components/mfa_form/totp_form.vue +++ b/src/components/mfa_form/totp_form.vue @@ -1,5 +1,5 @@ +