From 6c6425d033d81ac210f0062cc82e802db1b6882f Mon Sep 17 00:00:00 2001 From: Estrella Pan Date: Mon, 6 Jul 2026 12:38:23 +0200 Subject: [PATCH] fix(webui): address code-review findings before beta MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nest ab-edit-rule's delete confirmation inside the main ab-modal so headlessui suspends the outer dialog's Escape/outside-click while the inner one is open (clicking the delete-files checkbox no longer closes both layers); regression-tested with a nested-modal vitest. - Restore autocomplete passthrough (ab-input prop + ab-setting wiring) so downloader/proxy password fields keep autocomplete=off. - Guarantee 44px touch targets for ab-button sm on touch; repoint or remove the dead .n-button deep selectors in wizard/config/downloader/ log left over from the sweep. - a11y labels: modal X and search closes announce 'Close', tag remove announces 'Remove' (new common.close/common.remove i18n pairs); ab-field renders label[for] only when the control adopts the id, span + aria-labelledby otherwise. - Convert the last NPopconfirms (passkey/search-provider/update-card) to useConfirm with danger icon buttons; drop legacy .notification-action CSS that fought ab-button variants. - Fix missing homepage.rule.offset key (→ episode_offset), normalize test names to the should-convention, run prettier over the branch. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FAxVyRwrY7z5NotTtgnwVs --- webui/src/components/ab-add-rss.vue | 145 ++++---- webui/src/components/ab-change-account.vue | 6 +- webui/src/components/ab-container.vue | 4 +- webui/src/components/ab-edit-rule.vue | 310 +++++++++--------- webui/src/components/ab-setting.vue | 1 + webui/src/components/bangumi-offset-field.vue | 6 +- .../basic/__tests__/ab-button.test.ts | 12 +- .../basic/__tests__/ab-confirm.test.ts | 14 +- .../basic/__tests__/ab-field.test.ts | 30 +- .../basic/__tests__/ab-icon-button.test.ts | 6 +- .../basic/__tests__/ab-input.test.ts | 10 +- .../basic/__tests__/ab-list.test.ts | 12 +- .../basic/__tests__/ab-menu.test.ts | 6 +- .../basic/__tests__/ab-modal.test.ts | 46 ++- .../basic/__tests__/ab-segmented.test.ts | 6 +- .../basic/__tests__/ab-split-button.test.ts | 8 +- .../components/basic/__tests__/ab-tag.test.ts | 8 +- .../src/components/basic/ab-bottom-sheet.vue | 26 +- webui/src/components/basic/ab-button.vue | 9 +- webui/src/components/basic/ab-field.vue | 32 +- webui/src/components/basic/ab-input.vue | 12 +- webui/src/components/basic/ab-modal.vue | 2 +- .../basic/ab-offset-mismatch-dialog.vue | 6 +- .../src/components/basic/ab-pull-refresh.vue | 14 +- webui/src/components/basic/ab-segmented.vue | 3 +- .../basic/ab-split-button.stories.ts | 3 +- webui/src/components/basic/ab-tag.vue | 9 +- .../calendar/calendar-rule-list-popup.vue | 6 +- .../layout/ab-notification-center.vue | 24 -- .../components/search/ab-search-confirm.vue | 2 +- .../src/components/search/ab-search-modal.vue | 2 +- webui/src/components/setting/config-llm.vue | 56 +++- .../setting/config-notification.vue | 14 +- .../src/components/setting/config-passkey.vue | 37 ++- .../setting/config-search-provider.vue | 46 +-- .../components/setting/llm-auth-dialog.vue | 8 +- webui/src/components/setting/update-card.vue | 74 ++--- .../src/components/setup/wizard-container.vue | 5 +- .../components/setup/wizard-step-account.vue | 6 +- .../setup/wizard-step-downloader.vue | 6 +- .../setup/wizard-step-notification.vue | 6 +- .../components/setup/wizard-step-review.vue | 6 +- .../src/components/setup/wizard-step-rss.vue | 6 +- webui/src/i18n/en.json | 4 +- webui/src/i18n/zh-CN.json | 4 +- webui/src/pages/index/bangumi.vue | 6 +- webui/src/pages/index/config.vue | 16 +- webui/src/pages/index/downloader.vue | 4 +- webui/src/pages/index/log.vue | 27 +- webui/src/pages/index/rss.vue | 4 +- webui/src/pages/login.vue | 1 - webui/unocss.config.ts | 9 +- 52 files changed, 589 insertions(+), 536 deletions(-) diff --git a/webui/src/components/ab-add-rss.vue b/webui/src/components/ab-add-rss.vue index 3e4ce241..8d6e4301 100644 --- a/webui/src/components/ab-add-rss.vue +++ b/webui/src/components/ab-add-rss.vue @@ -156,92 +156,86 @@ function subscribe() {
- -
- -
- - -
-
+ +
+ +
+ + +
+
- -
- - -
+ +
+ + +
- -
- -
- - -
+ +
+ +
+ + +
- -
- - -
-
+ +
+ + +
+
- + - + - + - - - + + + - - - -
- {{ offsetReason }} -
-
+ + + +
+ {{ offsetReason }} +
+