diff --git a/src/components/dialog/AddDownloadDialog.vue b/src/components/dialog/AddDownloadDialog.vue index f9453c72..8c56250c 100644 --- a/src/components/dialog/AddDownloadDialog.vue +++ b/src/components/dialog/AddDownloadDialog.vue @@ -299,7 +299,6 @@ onMounted(() => { { { { { + it('keeps functional trailing controls without restoring decorative icons', () => { + const commonStyles = readFileSync(resolve(cwd(), 'src/styles/common.scss'), 'utf8') + + expect(commonStyles).toMatch( + /\.app-responsive-input__native \.v-field__clearable,\s*\.app-responsive-input__native\s+\.v-field__append-inner:has\([\s\S]*?\)\s*\{\s*display: inline-flex;/, + ) + expect(commonStyles).toContain("[role='button']:not(") + expect(commonStyles).toContain('.v-select__menu-icon') + expect(commonStyles).toContain('.v-autocomplete__menu-icon') + expect(commonStyles).toContain('.v-combobox__menu-icon') + expect(commonStyles).not.toContain('app-responsive-input--keep-append-action') + }) +}) diff --git a/src/styles/common.scss b/src/styles/common.scss index 83eb0b27..db191ee3 100644 --- a/src/styles/common.scss +++ b/src/styles/common.scss @@ -543,16 +543,20 @@ html[data-theme-radius='extra'] { min-inline-size: 0; } -// 移动录入行只保留值本身,统一移除字段内部的装饰与操作图标。 +// 移动录入行隐藏字段内部的装饰图标,避免挤压右栏中的实际内容。 .app-responsive-input__native .v-field__prepend-inner, .app-responsive-input__native .v-field__append-inner, .app-responsive-input__native .v-field__clearable { display: none; } -// 少数字段的内嵌图标承担了唯一的交互入口(如按名称搜索媒体编号), -// 不是纯装饰,移动端也需要保留可点击。 -.app-responsive-input--keep-append-action .app-responsive-input__native .v-field__append-inner { +// 清除控件与具备按钮语义的末端操作仍需可用;下拉箭头仅重复整字段操作,不单独展示。 +.app-responsive-input__native .v-field__clearable, +.app-responsive-input__native + .v-field__append-inner:has( + button, + [role='button']:not(.v-select__menu-icon, .v-autocomplete__menu-icon, .v-combobox__menu-icon) + ) { display: inline-flex; }