fix notif

This commit is contained in:
2026-07-24 17:01:40 +03:30
parent ab83ba7e6a
commit 3c41a3d23f
11 changed files with 147 additions and 24 deletions
+1 -1
View File
@@ -322,7 +322,7 @@ const defaultOpenGroupId = computed(() => {
const visibleIds = visibleSettingGroups.value.map((g) => g.id)
const preferred = isSystemMode.value
? ['chart', 'pricing', 'payping', 'accounting', 'store', 'general']
: ['general', 'content', 'pricing', 'price_source', 'referral']
: ['general', 'content', 'fees', 'limits', 'price_source', 'referral']
const fromPreferred = preferred.find((id) => visibleIds.includes(id))
return fromPreferred ?? visibleIds[0]
})
@@ -27,16 +27,24 @@ export const EDITABLE_SETTING_GROUPS: SettingGroupDef[] = [
id: 'trading_hours',
title: 'ساعت کاری و نمایش قیمت',
icon: 'vuesax-linear:clock',
match: (k) => /^(close_price|startDay|endDay|show_last_price|show_gold_ounce_price)$/.test(k)
match: (k) =>
/^(close_price|startDay|endDay|show_last_price|show_home_price_when_closed|show_gold_ounce_price)$/.test(
k
)
},
{
id: 'pricing',
title: 'کارمزد و محدودیت‌ها',
id: 'fees',
title: 'کارمزدها',
icon: 'vuesax-linear:dollar-circle',
match: (k) =>
/^(fee_|buy_fee|sell_fee|min_|minimum_|up_price|down_price|price_extreme_date|balance_report_exclude)/.test(
k
) || k.includes('charge_percentage')
/^(fee_|buy_fee|sell_fee|up_price|down_price|price_extreme_date)/.test(k) ||
k.includes('charge_percentage')
},
{
id: 'limits',
title: 'محدودیت‌ها',
icon: 'vuesax-linear:lock',
match: (k) => /^(min_|minimum_|balance_report_exclude)/.test(k)
},
{
id: 'price_source',
@@ -266,6 +266,7 @@ const KEY_TYPE_FALLBACK: Record<string, SettingFieldType> = {
startDay: 'time',
endDay: 'time',
show_last_price: 'switch',
show_home_price_when_closed: 'switch',
show_gold_ounce_price: 'switch',
send_to_tahesab: 'switch',
accounting_provider: 'select',
@@ -549,13 +550,15 @@ const KEY_HELP_FALLBACK: Record<string, string> = {
auto_active_customer:
'روشن: بعد از ثبت‌نام، کاربر می‌تواند وارد اپ شود (بدون تأیید دستی ادمین). خاموش: ورود فقط بعد از فعال‌سازی دستی شما در پنل. این سوییچ اجازهٔ خرید/فروش نمی‌دهد — معامله فقط بعد از احراز هویت (is_legal) ممکن است.',
close_price:
'فیلتر اصلی ساعت کاری فروشگاه. روشن: خرید، فروش و نمایش قیمت فقط بین «ساعت شروع» و «ساعت پایان» انجام می‌شود و خارج از این بازه به مشتری «فروشگاه بسته است» نشان داده می‌شود. خاموش: محدودیت ساعتی سراسری اعمال نمی‌شود (مگر برای محصولی ساعت اختصاصی تعریف کرده باشید).',
'فیلتر اصلی ساعت کاری فروشگاه. روشن: خرید و فروش فقط بین «ساعت شروع» و «ساعت پایان» انجام می‌شود. نمایش قیمت صفحه اصلی در خارج از این بازه با سوییچ «نمایش قیمت صفحه اصلی خارج از ساعت کاری» کنترل می‌شود. خاموش: محدودیت ساعتی سراسری اعمال نمی‌شود (مگر برای محصولی ساعت اختصاصی تعریف کرده باشید).',
startDay:
'ساعت شروع فعالیت روزانه فروشگاه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود. از ساعت‌شمار انتخاب کنید (مثلاً ۰۹:۰۰).',
endDay:
'ساعت پایان فعالیت روزانه فروشگاه. فقط وقتی «بستن خودکار خارج از ساعت کاری» روشن باشد اعمال می‌شود. بعد از این ساعت فروشگاه بسته می‌شود (مثلاً ۱۷:۰۰ یا ۲۲:۰۰).',
show_last_price:
'رفتار هنگام در دسترس نبودن قیمت زنده. روشن: آخرین قیمت ذخیره‌شده نشان داده می‌شود. خاموش: به‌جای صفر پیام «مظنه در دسترس نیست» نمایش داده می‌شود.',
show_home_price_when_closed:
'روشن: وقتی فروشگاه خارج از ساعت کاری است، قیمت صفحه اصلی اپ همچنان نمایش داده می‌شود و پیام «فروشگاه بسته است» نشان داده نمی‌شود. خرید/فروش همچنان بسته می‌ماند. خاموش (پیش‌فرض): خارج از ساعت پیام بسته بودن نشان داده می‌شود.',
show_gold_ounce_price:
'روشن: اگر آدرس API تابلو (zaarbox_api_url) تنظیم شده باشد، قیمت انس طلا در اپ مشتری نمایش داده می‌شود. خاموش: نمایش داده نمی‌شود.',
fee_single:
@@ -785,7 +788,7 @@ const KEY_HELP_FALLBACK: Record<string, string> = {
price_channel_messengers:
'کدام پیام‌رسان‌ها قیمت را دریافت کنند؟ می‌توانید چند مورد را انتخاب کنید (بله، تلگرام، روبیکا). برای هر پیام‌رسان باید توکن بات و «مقصد ارسال» هم پر شده باشد.',
price_channel_diff:
'اسپرد اضافه فقط برای کانال (ریال): به قیمت خرید کانال اضافه و از قیمت فروش کم می‌شود. صفر یعنی همان قیمت اپ.',
'اسپرد اضافه فقط برای کانال (ریال): به قیمت خرید کانال اضافه و از قیمت فروش کم می‌شود. صفر یعنی همان قیمت صفحه اصلی اپلیکیشن.',
price_channel_min_seconds:
'حداقل فاصله (ثانیه) بین دو ارسال متوالی به کانال. جلوی سیل پیام هنگام نوسان قیمت را می‌گیرد. صفر = هر تغییر قیمت ارسال شود.',
price_channel_footer_id:
@@ -814,6 +817,7 @@ export const KEY_LABEL_FALLBACK: Record<string, string> = {
startDay: 'ساعت شروع',
endDay: 'ساعت پایان',
show_last_price: 'نمایش آخرین قیمت ذخیره‌شده',
show_home_price_when_closed: 'نمایش قیمت صفحه اصلی خارج از ساعت کاری',
show_gold_ounce_price: 'نمایش قیمت انس طلا',
fee_single: 'اختلاف پایه خرید/فروش',
buy_fee: 'اضافه قیمت خرید',
@@ -974,7 +978,7 @@ export const SETTING_EDITABLE_KEYS = new Set([
'open_register',
'referral_id', 'referral_limit', 'referral_gift_on_first_order',
'register_jibit_verify', 'register_referral_bonus_message', 'register_referral_sms_to_referrer',
'sell_fee', 'show_last_price', 'show_gold_ounce_price', 'startDay',
'sell_fee', 'show_last_price', 'show_home_price_when_closed', 'show_gold_ounce_price', 'startDay',
'support_messengers', 'support_messenger_text',
'deposit_support_message_text', 'deposit_account_holder', 'deposit_card_number', 'deposit_sheba',
'text_about', 'text_rule',