feat(user): set default settings when loading persisted

This commit is contained in:
kolaente 2023-06-11 17:43:55 +02:00
parent d8ad934643
commit 4b0022664a
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B

View File

@ -1,10 +1,10 @@
import {computed, readonly, ref} from 'vue' import {computed, readonly, ref} from 'vue'
import {defineStore, acceptHMRUpdate} from 'pinia' import {acceptHMRUpdate, defineStore} from 'pinia'
import {HTTPFactory, AuthenticatedHTTPFactory} from '@/helpers/fetcher' import {AuthenticatedHTTPFactory, HTTPFactory} from '@/helpers/fetcher'
import {i18n, getCurrentLanguage, saveLanguage, setLanguage} from '@/i18n' import {getCurrentLanguage, i18n, saveLanguage, setLanguage} from '@/i18n'
import {objectToSnakeCase} from '@/helpers/case' import {objectToSnakeCase} from '@/helpers/case'
import UserModel, { getAvatarUrl, getDisplayName } from '@/models/user' import UserModel, {getAvatarUrl, getDisplayName} from '@/models/user'
import UserSettingsService from '@/services/userSettings' import UserSettingsService from '@/services/userSettings'
import {getToken, refreshToken, removeToken, saveToken} from '@/helpers/auth' import {getToken, refreshToken, removeToken, saveToken} from '@/helpers/auth'
import {setModuleLoading} from '@/stores/helper' import {setModuleLoading} from '@/stores/helper'
@ -16,6 +16,7 @@ import router from '@/router'
import {useConfigStore} from '@/stores/config' import {useConfigStore} from '@/stores/config'
import UserSettingsModel from '@/models/userSettings' import UserSettingsModel from '@/models/userSettings'
import {MILLISECONDS_A_SECOND} from '@/constants/date' import {MILLISECONDS_A_SECOND} from '@/constants/date'
import {PrefixMode} from '@/modules/parseTaskText'
function redirectToProviderIfNothingElseIsEnabled() { function redirectToProviderIfNothingElseIsEnabled() {
const {auth} = useConfigStore() const {auth} = useConfigStore()
@ -74,7 +75,7 @@ export const useAuthStore = defineStore('auth', () => {
reloadAvatar() reloadAvatar()
if (newUser.settings) { if (newUser.settings) {
settings.value = new UserSettingsModel(newUser.settings) loadSettings(newUser.settings)
} }
isLinkShareAuth.value = newUser.id < 0 isLinkShareAuth.value = newUser.id < 0
@ -82,12 +83,24 @@ export const useAuthStore = defineStore('auth', () => {
} }
function setUserSettings(newSettings: IUserSettings) { function setUserSettings(newSettings: IUserSettings) {
settings.value = new UserSettingsModel(newSettings) loadSettings(newSettings)
info.value = new UserModel({ info.value = new UserModel({
...info.value !== null ? info.value : {}, ...info.value !== null ? info.value : {},
name: newSettings.name, name: newSettings.name,
}) })
} }
function loadSettings(newSettings: IUserSettings) {
settings.value = new UserSettingsModel({
...newSettings,
frontendSettings: {
...newSettings.frontendSettings,
// Need to set default settings here in case the user does not have any saved in the api already
quickAddMagicMode: PrefixMode.Default,
}
})
console.log(settings.value.frontendSettings)
}
function setAuthenticated(newAuthenticated: boolean) { function setAuthenticated(newAuthenticated: boolean) {
authenticated.value = newAuthenticated authenticated.value = newAuthenticated