From 408fcd488a1086e8de536d5737e04476dec2878c Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Mon, 8 Jun 2026 08:59:55 -0400 Subject: [PATCH] refactor(ui): unify confirm-dropdown Enter behavior via useAcceptOnEnter Operator-flagged (again) on the tag-merge picker: Enter on the dropdown re-opens it instead of accepting the selection. I'd already patched this twice (fandom picker + fandom set dialog) with copy-pasted capture-phase handlers, so DRY it. New composable useAcceptOnEnter(accept): tracks the menu state and, on a capture-phase Enter, lets Vuetify pick when the menu is open but calls accept() (and blocks the re-open) when it's closed. Applied to every confirm-style picker: - TagsView merge-into picker (the reported one) - AliasPickerDialog - PostSeriesMenu add-to-existing - FandomPicker + FandomSetDialog (refactored off their bespoke handlers) One behavior, one place to change it. --- .../components/modal/AliasPickerDialog.vue | 10 +++++- .../src/components/modal/FandomPicker.vue | 21 +++-------- .../src/components/modal/FandomSetDialog.vue | 22 ++++-------- .../src/components/posts/PostSeriesMenu.vue | 9 +++++ frontend/src/composables/useAcceptOnEnter.js | 35 +++++++++++++++++++ frontend/src/views/TagsView.vue | 7 ++++ 6 files changed, 71 insertions(+), 33 deletions(-) create mode 100644 frontend/src/composables/useAcceptOnEnter.js diff --git a/frontend/src/components/modal/AliasPickerDialog.vue b/frontend/src/components/modal/AliasPickerDialog.vue index 37fae6f..0890529 100644 --- a/frontend/src/components/modal/AliasPickerDialog.vue +++ b/frontend/src/components/modal/AliasPickerDialog.vue @@ -8,6 +8,7 @@

@@ -31,9 +33,10 @@