1405/04/27

-
This commit is contained in:
2026-07-18 11:30:40 +03:30
parent bc80ddc1f1
commit c2a355f2de
22 changed files with 1185 additions and 229 deletions
+24 -1
View File
@@ -22,6 +22,28 @@ export const useSettingsStore = defineStore('settings', () => {
return item?.value ?? null
}
function mergeSettings(items?: AppSetting[] | null) {
if (!items?.length) {
return
}
const merged = [...settings.value]
items.forEach((item) => {
if (!item?.key) {
return
}
const index = merged.findIndex((setting) => setting.key === item.key)
if (index >= 0) {
merged[index] = { ...merged[index], ...item }
} else {
merged.push(item)
}
})
settings.value = merged
}
async function fetchSettings(force = false) {
if (!force && fetchPromise) {
return fetchPromise
@@ -31,7 +53,7 @@ export const useSettingsStore = defineStore('settings', () => {
try {
const data = await getSettings()
if (Array.isArray(data)) {
settings.value = data
mergeSettings(data)
}
} catch (error) {
console.log(error)
@@ -49,6 +71,7 @@ export const useSettingsStore = defineStore('settings', () => {
settings,
loaded,
fetchSettings,
mergeSettings,
getSettingByKey,
}
})