From 9ec2a88817819d433c5d68dbec0ca070ca989b91 Mon Sep 17 00:00:00 2001 From: Ivan Date: Wed, 22 Apr 2026 19:28:50 -0500 Subject: [PATCH] feat(ui): implement clampFloatingToViewport utility for dynamic dropdown positioning across multiple components --- .../src/frontend/components/DropDownMenu.vue | 58 +++++++----- .../frontend/components/LanguageSelector.vue | 25 +++++- .../frontend/components/NotificationBell.vue | 29 +++++- .../contextmenu/ContextMenuPanel.vue | 90 ++++++++++++++++++- .../messages/ConversationViewer.vue | 12 ++- .../frontend/js/clampFloatingToViewport.js | 38 ++++++++ .../frontend/clampFloatingToViewport.test.js | 90 +++++++++++++++++++ tests/frontend/contextMenuStyles.test.js | 8 ++ 8 files changed, 318 insertions(+), 32 deletions(-) create mode 100644 meshchatx/src/frontend/js/clampFloatingToViewport.js create mode 100644 tests/frontend/clampFloatingToViewport.test.js diff --git a/meshchatx/src/frontend/components/DropDownMenu.vue b/meshchatx/src/frontend/components/DropDownMenu.vue index 9671446..c930f62 100644 --- a/meshchatx/src/frontend/components/DropDownMenu.vue +++ b/meshchatx/src/frontend/components/DropDownMenu.vue @@ -21,11 +21,9 @@ >
@@ -36,6 +34,8 @@ diff --git a/meshchatx/src/frontend/components/messages/ConversationViewer.vue b/meshchatx/src/frontend/components/messages/ConversationViewer.vue index 8ef520a..77e80ff 100644 --- a/meshchatx/src/frontend/components/messages/ConversationViewer.vue +++ b/meshchatx/src/frontend/components/messages/ConversationViewer.vue @@ -1616,6 +1616,7 @@