From c9724179fb020e7da6783964afacc976d3ea3759 Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Sun, 25 Jan 2026 09:46:21 +0100 Subject: [PATCH] fix(ui): improve edit rule dialog layout and button consistency - Increase dialog width from 380px to 460px to fit all content - Unify button heights across ab-button and ab-button-multi components - small: 32px, normal: 36px, big: 44px - Restructure ab-rule form layout with consistent gap spacing - Fix Episode Offset row to keep input and button on same line (mobile) - Add proper z-index layering for ab-bottom-sheet (backdrop: 100, container: 101, panel: 102) - Add scoped styles for ab-setting dynamic-tags wrapper - Add action button separator line in edit dialog Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 1 + webui/src/components/ab-edit-rule.vue | 25 +++++++-- webui/src/components/ab-rule.vue | 53 ++++++++++--------- webui/src/components/ab-setting.vue | 30 +++++++++-- .../src/components/basic/ab-bottom-sheet.vue | 11 ++-- .../src/components/basic/ab-button-multi.vue | 12 ++--- webui/src/components/basic/ab-button.vue | 16 +++--- 7 files changed, 96 insertions(+), 52 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8af1899e..3a4b1ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ - 规则编辑弹窗新增归档/取消归档按钮 - 规则编辑器新增剧集偏移字段和「自动检测」按钮 - 新增 i18n 翻译(中文/英文) +- 优化规则编辑弹窗布局:统一表单字段对齐、统一按钮高度、修复移动端底部弹窗 z-index 层级问题 --- diff --git a/webui/src/components/ab-edit-rule.vue b/webui/src/components/ab-edit-rule.vue index c236b8fd..957dfcdc 100644 --- a/webui/src/components/ab-edit-rule.vue +++ b/webui/src/components/ab-edit-rule.vue @@ -79,7 +79,7 @@ const boxSize = computed(() => { if (rule.value.deleted) { return 'w-300'; } else { - return 'w-380'; + return 'w-460'; } }); @@ -105,10 +105,10 @@ const boxSize = computed(() => { -
+
-
+
{ + + diff --git a/webui/src/components/ab-rule.vue b/webui/src/components/ab-rule.vue index 0f3f3645..76ef3c45 100644 --- a/webui/src/components/ab-rule.vue +++ b/webui/src/components/ab-rule.vue @@ -52,19 +52,17 @@ const items: SettingItem[] = [ prop: { type: 'number', }, - bottomLine: true, }, { configKey: 'filter', label: () => t('homepage.rule.exclude'), type: 'dynamic-tags', - bottomLine: true, }, ]; diff --git a/webui/src/components/ab-setting.vue b/webui/src/components/ab-setting.vue index a68c0deb..02cf23c8 100644 --- a/webui/src/components/ab-setting.vue +++ b/webui/src/components/ab-setting.vue @@ -7,12 +7,12 @@ withDefaults(defineProps(), { bottomLine: false, }); -// eslint-disable-next-line @typescript-eslint/no-explicit-any + const data = defineModel('data'); + + diff --git a/webui/src/components/basic/ab-bottom-sheet.vue b/webui/src/components/basic/ab-bottom-sheet.vue index e34317b2..ec3b8754 100644 --- a/webui/src/components/basic/ab-bottom-sheet.vue +++ b/webui/src/components/basic/ab-bottom-sheet.vue @@ -1,11 +1,11 @@