From 976c5e40628f2efcd5aba4677f2b6d25ad80d5bc Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Wed, 18 Sep 2024 14:56:41 +0200 Subject: [PATCH] fix: use global store --- src/app/pages/setup.vue | 7 ++++--- src/app/stores/general.ts | 11 ----------- src/app/stores/global.ts | 9 +++++++++ src/app/utils/api.ts | 2 +- src/server/api/lang.post.ts | 4 ++-- src/services/database/lowdb.ts | 4 ++-- src/services/database/repositories/system.ts | 2 +- 7 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 src/app/stores/general.ts diff --git a/src/app/pages/setup.vue b/src/app/pages/setup.vue index 4d1bf599..78c31b8f 100644 --- a/src/app/pages/setup.vue +++ b/src/app/pages/setup.vue @@ -104,14 +104,14 @@ import { FetchError } from 'ofetch'; const { t, setLocale } = useI18n(); const authStore = useAuthStore(); -const generalStore = useGeneralStore(); +const globalStore = useGlobalStore(); type SetupError = { title: string; message: string; }; -const lang = ref(''); +const lang = ref('en'); // default const username = ref(null); const password = ref(null); @@ -132,6 +132,7 @@ watch(setupError, (value) => { function updateLang(value: string) { lang.value = value; + // TODO: if the translation does not exist, it shows the key setLocale(lang.value); } @@ -139,7 +140,7 @@ async function increaseStep() { try { if (step.value === 1) { // TODO: handle error - await generalStore.updateLanguage(lang.value); + await globalStore.updateLang(lang.value); stepInvalide.value.push(1); } diff --git a/src/app/stores/general.ts b/src/app/stores/general.ts deleted file mode 100644 index 8ee4e786..00000000 --- a/src/app/stores/general.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const useGeneralStore = defineStore('General', () => { - /** - * @throws if unsuccessful - */ - async function updateLanguage(language: string) { - const response = await api.updateLanguage({ lang: language }); - return response.success; - } - - return { updateLanguage }; -}); diff --git a/src/app/stores/global.ts b/src/app/stores/global.ts index 9339e119..156cb6cd 100644 --- a/src/app/stores/global.ts +++ b/src/app/stores/global.ts @@ -75,6 +75,14 @@ export const useGlobalStore = defineStore('Global', () => { return statistics.value.chartType > 0 && uiShowCharts.value; }); + /** + * @throws if unsuccessful + */ + async function updateLang(language: string) { + const response = await api.updateLang({ lang: language }); + return response.success; + } + return { uiShowCharts, updateCharts, @@ -88,5 +96,6 @@ export const useGlobalStore = defineStore('Global', () => { fetchFeatures, setLanguage, fetchStatistics, + updateLang, }; }); diff --git a/src/app/utils/api.ts b/src/app/utils/api.ts index 5d55cbe0..304d3542 100644 --- a/src/app/utils/api.ts +++ b/src/app/utils/api.ts @@ -130,7 +130,7 @@ class API { }); } - async updateLanguage({ lang }: { lang: string }) { + async updateLang({ lang }: { lang: string }) { return $fetch('/api/lang', { method: 'post', body: { lang }, diff --git a/src/server/api/lang.post.ts b/src/server/api/lang.post.ts index 6bef31df..06647210 100644 --- a/src/server/api/lang.post.ts +++ b/src/server/api/lang.post.ts @@ -1,7 +1,7 @@ export default defineEventHandler(async (event) => { const { lang } = await readValidatedBody(event, validateZod(langType)); setHeader(event, 'Content-Type', 'application/json'); - await Database.system.updateLanguage(lang); - SERVER_DEBUG(`Update Language: ${lang}`); + await Database.system.updateLang(lang); + SERVER_DEBUG(`Update Lang: ${lang}`); return { success: true }; }); diff --git a/src/services/database/lowdb.ts b/src/services/database/lowdb.ts index d045ddf3..1c906b82 100644 --- a/src/services/database/lowdb.ts +++ b/src/services/database/lowdb.ts @@ -71,10 +71,10 @@ export class LowDBSystem extends SystemRepository { }); } - async updateLanguage(language: Lang): Promise { + async updateLang(lang: Lang): Promise { DEBUG('Update Language'); this.#db.update((v) => { - v.system.general.lang = language; + v.system.general.lang = lang; }); } } diff --git a/src/services/database/repositories/system.ts b/src/services/database/repositories/system.ts index 2ba99187..c008be0c 100644 --- a/src/services/database/repositories/system.ts +++ b/src/services/database/repositories/system.ts @@ -107,5 +107,5 @@ export abstract class SystemRepository { abstract updateFeatures(features: Record): Promise; abstract updateStatistics(statistics: Statistics): Promise; - abstract updateLanguage(language: Lang): Promise; + abstract updateLang(lang: Lang): Promise; }