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:
@ -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()
|
||||
}
|
Reference in New Issue
Block a user