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 @@