From 085c02465413e77a1ddf94c69e6b9f130e744899 Mon Sep 17 00:00:00 2001 From: adonis Date: Sat, 29 Aug 2026 22:39:08 +0330 Subject: [PATCH] =?UTF-8?q?fix(admin):=20refresh=20SuperAdmin=20flags=20wh?= =?UTF-8?q?en=20clicking=20=D8=A8=D8=B1=D9=88=D8=B2=D8=B1=D8=B3=D8=A7?= =?UTF-8?q?=D9=86=DB=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reload live program-settings overlay before reloading the settings list so menus like special pricing update without relying on cached flags. Co-authored-by: Cursor --- src/api/configuration.ts | 3 ++- src/pages/menuPages/configuration/index.vue | 21 +++++++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/api/configuration.ts b/src/api/configuration.ts index 7627aa5..5780060 100644 --- a/src/api/configuration.ts +++ b/src/api/configuration.ts @@ -18,7 +18,7 @@ export const getSystemConfiguration = async () => export const setSystemConfiguration = async (obj: Const & { system_deploy?: boolean }) => await useAxios.post(`/admin/get_settings`, { ...obj, system_deploy: true }) -/** همگام‌سازی overlay تنظیمات can_edit=0 از سوپرادمین (پاک کردن کش last-good) */ +/** همگام‌سازی زندهٔ overlay تنظیمات can_edit=0 از سوپرادمین (بدون کش) */ export const refreshSuperAdminSettings = async () => await useAxios.post<{ ok?: boolean @@ -26,4 +26,5 @@ export const refreshSuperAdminSettings = async () => count?: number items?: Record source?: string + meta?: { channel?: string; origin?: string; domain?: string } }>(`/admin/settings/refresh-superadmin`) diff --git a/src/pages/menuPages/configuration/index.vue b/src/pages/menuPages/configuration/index.vue index 684f410..8510547 100644 --- a/src/pages/menuPages/configuration/index.vue +++ b/src/pages/menuPages/configuration/index.vue @@ -42,7 +42,7 @@ > همگام‌سازی از سوپرادمین - + بروزرسانی @@ -489,7 +489,7 @@ watch( ) async function refreshFromSuperAdmin() { - if (!isSystemMode.value || refreshingSuperAdmin.value) return + if (refreshingSuperAdmin.value) return refreshingSuperAdmin.value = true try { const res = await refreshSuperAdminSettings() @@ -505,6 +505,23 @@ async function refreshFromSuperAdmin() { } } +/** بروزرسانی: اول از سوپرادمین زنده بخوان، بعد لیست تنظیمات را دوباره بگیر */ +async function onRefreshClick() { + if (refreshingSuperAdmin.value || loading.value) return + refreshingSuperAdmin.value = true + try { + await refreshSuperAdminSettings() + } catch (e: any) { + console.error(e) + const msg = e?.response?.data?.message || e?.message || 'همگام‌سازی از سوپرادمین ناموفق بود' + message.error(Array.isArray(msg) ? msg.join('، ') : msg) + } finally { + refreshingSuperAdmin.value = false + } + await initConfig() + refreshMenuAfterStoreChange() +} + async function initConfig() { try { loading.value = true