From 52a61158666f55541f65a5c144cdb88a31e8bd2b Mon Sep 17 00:00:00 2001 From: Massedil Date: Tue, 10 Jun 2025 16:05:10 +0200 Subject: [PATCH] fix: Update Apollo cache after updating admin settings Fixes #1770 --- src/types/admin.model.ts | 1 + src/views/Admin/SettingsView.vue | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/types/admin.model.ts b/src/types/admin.model.ts index e85e3e822..4147ac79b 100644 --- a/src/types/admin.model.ts +++ b/src/types/admin.model.ts @@ -27,6 +27,7 @@ export interface IAdminSettings { instanceLongDescription: string; contact: string; instanceLogo: IMedia | null; + instanceFavicon: IMedia | null; defaultPicture: IMedia | null; primaryColor: string; secondaryColor: string; diff --git a/src/views/Admin/SettingsView.vue b/src/views/Admin/SettingsView.vue index 9045cae02..fdacc648c 100644 --- a/src/views/Admin/SettingsView.vue +++ b/src/views/Admin/SettingsView.vue @@ -556,7 +556,21 @@ const { mutate: saveAdminSettings, onDone: saveAdminSettingsDone, onError: saveAdminSettingsError, -} = useMutation(SAVE_ADMIN_SETTINGS); +} = useMutation(SAVE_ADMIN_SETTINGS, () => ({ + // We need to update the cache because we just changed admin settings + // We want to update the related query ADMIN_SETTINGS + update(cache, { data }) { + if (!data?.saveAdminSettings) { + console.error("can't acces new admin settings"); + return; + } + + cache.writeQuery({ + query: ADMIN_SETTINGS, + data: { adminSettings: data?.saveAdminSettings }, + }); + }, +})); saveAdminSettingsDone(() => { instanceLogo.firstHash = instanceLogo.hash;