Use correct CSS class in MFA forms, focus code input on error

This commit is contained in:
Phantasm 2025-03-25 23:01:50 +01:00
parent d49a4196c7
commit dcc2acfe5d
No known key found for this signature in database
GPG key ID: 2669E588BCC634C8
4 changed files with 22 additions and 2 deletions

View file

@ -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
}

View file

@ -1,5 +1,5 @@
<template>
<div class="login panel panel-default">
<div class="login-panel panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">
@ -17,6 +17,7 @@
<label for="code">{{ $t('login.recovery_code') }}</label>
<input
id="code"
ref="codeInput"
v-model="code"
class="input form-control"
>
@ -71,4 +72,5 @@
</div>
</div>
</template>
<script src="./recovery_form.js"></script>

View file

@ -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
}

View file

@ -1,5 +1,5 @@
<template>
<div class="login panel panel-default">
<div class="login-panel panel panel-default">
<!-- Default panel contents -->
<div class="panel-heading">
@ -19,6 +19,7 @@
</label>
<input
id="code"
ref="codeInput"
v-model="code"
class="input form-control"
>
@ -74,4 +75,5 @@
</div>
</div>
</template>
<script src="./totp_form.js"></script>