fixed navbar
This commit is contained in:
@@ -460,15 +460,39 @@ function saveDebounceMs(row: Const): number {
|
||||
return 800
|
||||
}
|
||||
|
||||
function syncMenuFlagsFromSetting(key: string | undefined, value: string) {
|
||||
if (key === 'price_provider') {
|
||||
setPriceProviderFromSettings(value)
|
||||
return
|
||||
}
|
||||
if (key === 'banner_enabled') {
|
||||
setBannerEnabledFromSettings(isSwitchOn(value))
|
||||
return
|
||||
}
|
||||
if (key === 'tracking_systems_enabled') {
|
||||
setTrackingSystemsEnabledFromSettings(isSwitchOn(value))
|
||||
return
|
||||
}
|
||||
if (key === 'enable_conditional_order') {
|
||||
setConditionalOrderEnabledFromSettings(isSwitchOn(value))
|
||||
return
|
||||
}
|
||||
if (key === 'has_page_price_trigger') {
|
||||
setPriceTriggerEnabledFromSettings(isSwitchOn(value))
|
||||
return
|
||||
}
|
||||
if (key === 'has_page_notification') {
|
||||
setAppNotificationEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
}
|
||||
|
||||
function onValueChange(row: Const, value: string) {
|
||||
if (row.id == null || isReadonly(row)) return
|
||||
|
||||
drafts.value[row.id] = value
|
||||
|
||||
// بلافاصله گروه Montzar را با انتخاب منبع قیمت همگام کن
|
||||
if (row.key === 'price_provider') {
|
||||
setPriceProviderFromSettings(value)
|
||||
}
|
||||
// منو و UI وابسته را همان لحظه با سوئیچ همگام کن
|
||||
syncMenuFlagsFromSetting(row.key, value)
|
||||
|
||||
// longtext هم باید ذخیره شود، فقط با delay بیشتر
|
||||
scheduleSave(row)
|
||||
@@ -552,24 +576,7 @@ async function saveSettingRow(row: Const) {
|
||||
setStoreModeFromSettings(isSwitchOn(value))
|
||||
refreshMenuAfterStoreChange()
|
||||
}
|
||||
if (row.key === 'banner_enabled') {
|
||||
setBannerEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'tracking_systems_enabled') {
|
||||
setTrackingSystemsEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'enable_conditional_order') {
|
||||
setConditionalOrderEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'has_page_price_trigger') {
|
||||
setPriceTriggerEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'has_page_notification') {
|
||||
setAppNotificationEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'price_provider') {
|
||||
setPriceProviderFromSettings(value)
|
||||
}
|
||||
syncMenuFlagsFromSetting(row.key, value)
|
||||
savedFlashIds.value.add(id)
|
||||
if (saveTimers.has(id)) clearTimeout(saveTimers.get(id))
|
||||
saveTimers.set(
|
||||
@@ -584,6 +591,8 @@ async function saveSettingRow(row: Const) {
|
||||
if ((drafts.value[id] ?? '') === draftSnapshot) {
|
||||
drafts.value[id] = row.value ?? ''
|
||||
}
|
||||
// برگرداندن فلگ منو به مقدار ذخیرهشده قبلی
|
||||
syncMenuFlagsFromSetting(row.key, row.value ?? '')
|
||||
message.error(`ذخیره «${row.title_fa || row.key}» ناموفق بود`)
|
||||
} finally {
|
||||
savingIds.value.delete(id)
|
||||
|
||||
Reference in New Issue
Block a user