feat: add remember me style login (#1339)

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/frontend#1339
Reviewed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
This commit is contained in:
konrad 2022-02-06 13:17:55 +00:00
parent ba20ac3b89
commit 3d3ccf629a
3 changed files with 12 additions and 11 deletions

View File

@ -56,7 +56,8 @@
"showPassword": "Show the password",
"hidePassword": "Hide the password",
"noAccountYet": "Don't have an account yet?",
"alreadyHaveAnAccount": "Already have an account?"
"alreadyHaveAnAccount": "Already have an account?",
"remember": "Stay logged in"
},
"settings": {
"title": "Settings",

View File

@ -1,5 +1,6 @@
import {HTTPFactory} from '@/http-common'
import {i18n, getCurrentLanguage, saveLanguage} from '@/i18n'
import {objectToSnakeCase} from '@/helpers/case'
import {LOADING} from '../mutation-types'
import UserModel from '@/models/user'
import UserSettingsService from '@/services/userSettings'
@ -90,17 +91,8 @@ export default {
// Delete an eventually preexisting old token
removeToken()
const data = {
username: credentials.username,
password: credentials.password,
}
if (credentials.totpPasscode) {
data.totp_passcode = credentials.totpPasscode
}
try {
const response = await HTTP.post('login', data)
const response = await HTTP.post('login', objectToSnakeCase(credentials))
// Save the token to local storage for later use
saveToken(response.data.token, true)

View File

@ -58,6 +58,12 @@
/>
</div>
</div>
<div class="field">
<label class="label">
<input type="checkbox" v-model="rememberMe" class="mr-1"/>
{{ $t('user.auth.remember') }}
</label>
</div>
<x-button
@click="submit"
@ -118,6 +124,7 @@ export default {
usernameValid: true,
password: '',
validatePasswordInitially: false,
rememberMe: false,
}
},
beforeMount() {
@ -197,6 +204,7 @@ export default {
const credentials = {
username: this.$refs.username.value,
password: this.password,
longToken: this.rememberMe,
}
if (credentials.username === '' || credentials.password === '') {