1
0

feat(user): persist frontend settings in the api (#3594)

Implements saving of frontend settings for 04e2c51fac.

Resolves https://github.com/go-vikunja/frontend/issues/105
Resolves https://kolaente.dev/vikunja/api/issues/1250
Resolves https://kolaente.dev/vikunja/api/issues/1452
Reviewed-on: https://kolaente.dev/vikunja/frontend/pulls/3594
This commit is contained in:
konrad
2023-06-12 16:22:51 +00:00
17 changed files with 117 additions and 157 deletions

View File

@ -32,7 +32,7 @@ export const i18n = createI18n({
} as Record<SupportedLocale, any>,
})
export async function setLanguage(lang: SupportedLocale = getCurrentLanguage()): Promise<SupportedLocale | undefined> {
export async function setLanguage(lang: SupportedLocale): Promise<SupportedLocale | undefined> {
if (!lang) {
throw new Error()
}
@ -53,12 +53,7 @@ export async function setLanguage(lang: SupportedLocale = getCurrentLanguage()):
return lang
}
export function getCurrentLanguage(): SupportedLocale {
const savedLanguage = localStorage.getItem('language') as SupportedLocale | null
if (savedLanguage !== null) {
return savedLanguage
}
export function getBrowserLanguage(): SupportedLocale {
const browserLanguage = navigator.language
const language = Object.keys(SUPPORTED_LOCALES).find(langKey => {
@ -67,8 +62,3 @@ export function getCurrentLanguage(): SupportedLocale {
return language || DEFAULT_LANGUAGE
}
export async function saveLanguage(lang: SupportedLocale) {
localStorage.setItem('language', lang)
await setLanguage()
}