diff --git a/src/App.vue b/src/App.vue index 1771bc8..56d4c98 100644 --- a/src/App.vue +++ b/src/App.vue @@ -67,10 +67,13 @@ onMounted(() => { loadBgSettings(); - unwatchSettings = watchSettings(() => { - loadBgSettings(); - // Reapply theme on settings change too - theme.global.name.value = getSetting("theme.mode"); + unwatchSettings = watchSettings((_, event) => { + // If event detail is available (same-tab change), only reload on background keys + const changedKey = event?.detail?.key; + if (!changedKey || changedKey.startsWith("background.") || changedKey === "theme.mode") { + loadBgSettings(); + theme.global.name.value = getSetting("theme.mode"); + } }); window.addEventListener('beforeinstallprompt', (e) => { diff --git a/src/components/settings/cards/BackgroundSettingsCard.vue b/src/components/settings/cards/BackgroundSettingsCard.vue index d6d0ab7..d011b50 100644 --- a/src/components/settings/cards/BackgroundSettingsCard.vue +++ b/src/components/settings/cards/BackgroundSettingsCard.vue @@ -1,7 +1,7 @@