From 5e5468779a74d9b5dd0843421ec1ecacf65228c1 Mon Sep 17 00:00:00 2001 From: mohammad sedighi Date: Wed, 4 Nov 2026 19:33:27 +0330 Subject: [PATCH] feat(ui-config): add button golden gradient and shadow toggle switch --- src/config/defaultKhanegiUiConfig.ts | 1 + src/pages/UiConfigPage.vue | 33 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/config/defaultKhanegiUiConfig.ts b/src/config/defaultKhanegiUiConfig.ts index 1029512..91fd27e 100644 --- a/src/config/defaultKhanegiUiConfig.ts +++ b/src/config/defaultKhanegiUiConfig.ts @@ -80,6 +80,7 @@ export function createDefaultKhanegiUiConfig() { light: { ...navyGoldLight }, }, borderRadius: { sm: 8, md: 12, lg: 16 }, + buttonGradient: true, }, navigation: { type: 'both', diff --git a/src/pages/UiConfigPage.vue b/src/pages/UiConfigPage.vue index bbce5fe..3596adc 100644 --- a/src/pages/UiConfigPage.vue +++ b/src/pages/UiConfigPage.vue @@ -179,6 +179,21 @@ function onSidebarDragEnd() { const hasDefaultSnapshot = computed(() => Boolean(config.defaultSnapshot)) const isCustom = computed(() => selectedPreset.value === 'custom') +const buttonGradientEnabled = computed({ + get: () => (config.app?.theme as any)?.buttonGradient !== false, + set: (val: boolean) => { + if (!config.app.theme) return + ;(config.app.theme as any).buttonGradient = val + }, +}) + +function onButtonGradientChange(val: boolean) { + selectedPreset.value = 'custom' + config.app.theme.presetId = 'custom' + ;(config.app.theme as any).buttonGradient = val + syncAdvancedJson() +} + /** رنگ‌های همان حالتی که در پیش‌نمایش دیده می‌شود (dark/light) */ const activePreviewColors = computed(() => { const schemes = config.app.theme.schemes @@ -576,6 +591,24 @@ onMounted(load) +
+
+
+

سایه و گرادیانت طلایی دکمه‌ها

+

+ نمایش هاله و گرادیانت طلایی زیر دکمه‌های اصلی و فرم‌ها در اپلیکیشن +

+
+ +
+
+

رنگ‌ها {{ isCustom ? '(سفارشی)' : '(فقط‌خواندنی تا انتخاب سفارشی)' }}