From f6efeeff3e2e399ce0800e041fefa6420ed1e6cf Mon Sep 17 00:00:00 2001 From: adonis Date: Wed, 19 Aug 2026 21:27:20 +0330 Subject: [PATCH] fix(settings): show Montzar keys when price_provider is empty Regular settings hid all montzar_* unless price_provider was already loaded as montzar, so search only found referral_gift_buy_from_montzar. Co-authored-by: Cursor --- src/pages/menuPages/configuration/index.vue | 3 ++- src/pages/menuPages/configuration/settingTypes.ts | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pages/menuPages/configuration/index.vue b/src/pages/menuPages/configuration/index.vue index 4b5e7d8..c9fd6e7 100644 --- a/src/pages/menuPages/configuration/index.vue +++ b/src/pages/menuPages/configuration/index.vue @@ -488,8 +488,9 @@ async function initConfig() { applySupportChatMenuEnabledFromRows(baseData.value) applyGroupSmsFromRows(baseData.value) applyCustomerSpecialPricingFromRows(baseData.value) - // در صفحهٔ عادی price_provider و show_to_users_chat و price_channel_access (can_edit=0) نیستند — از کل تنظیمات بخوان + // صفحهٔ عادی price_provider ندارد (can_edit=0) — همیشه از get_settings کامل بخوان if ( + !isSystemMode.value || !baseData.value.some((row) => row.key === 'price_provider') || !baseData.value.some((row) => row.key === 'show_to_users_chat') || !baseData.value.some((row) => row.key === 'price_channel_access') || diff --git a/src/pages/menuPages/configuration/settingTypes.ts b/src/pages/menuPages/configuration/settingTypes.ts index 50a2d1f..2ae9dc7 100644 --- a/src/pages/menuPages/configuration/settingTypes.ts +++ b/src/pages/menuPages/configuration/settingTypes.ts @@ -234,9 +234,10 @@ export function isSettingVisible(key: string | undefined | null): boolean { if (k === 'fee_conditional_order' && !conditionalOrderEnabledSetting.value) return false // سوییچ مشتری has_chat فقط وقتی قابلیت چت دیپلوی روشن است if (k === 'has_chat' && !showToUsersChatSetting.value) return false - // گروه همکار Montzar فقط وقتی منبع قیمت montzar است - if ((k.startsWith('montzar_') || k === 'display_montzar') && priceProviderSetting.value !== 'montzar') { - return false + // Montzar را فقط وقتی منبع قیمت صریحاً چیز دیگری است مخفی کن (خالی = نشان بده) + if (k.startsWith('montzar_') || k === 'display_montzar') { + const provider = (priceProviderSetting.value || '').trim().toLowerCase() + if (provider && provider !== 'montzar') return false } // تنظیمات قابل‌ویرایش کانال فقط وقتی دسترسی دیپلوی روشن است if (PRICE_CHANNEL_PANEL_KEYS.has(k) && !priceChannelAccessSetting.value) return false