From cc5ecf3091f15605d473e2a1d481a44c2afa0a75 Mon Sep 17 00:00:00 2001 From: Dorian Date: Tue, 3 Mar 2026 23:15:26 +0000 Subject: [PATCH] feat(chat): add right-click context menus on messages (M8.9) Reusable ContextMenu.vue glass-card component positioned at cursor. Messages get Copy, Reply, Edit (user), Regenerate (assistant), and Branch from here options. Closes on Escape or outside click. Co-Authored-By: Claude Opus 4.6 --- .../app/src/components/chat/ChatMessage.vue | 44 ++++++++++ .../app/src/components/ui/ContextMenu.vue | 82 +++++++++++++++++++ .../app/src/components/ui/ContextMenuItem.vue | 25 ++++++ 3 files changed, 151 insertions(+) create mode 100644 packages/app/src/components/ui/ContextMenu.vue create mode 100644 packages/app/src/components/ui/ContextMenuItem.vue diff --git a/packages/app/src/components/chat/ChatMessage.vue b/packages/app/src/components/chat/ChatMessage.vue index f8a8c431..7fde5ed7 100644 --- a/packages/app/src/components/chat/ChatMessage.vue +++ b/packages/app/src/components/chat/ChatMessage.vue @@ -3,6 +3,7 @@ class="group/msg flex animate-fade-up-fast" :class="isUser ? 'justify-end' : 'justify-start'" :style="{ animationDelay: `${index * 30}ms` }" + @contextmenu.prevent="openContextMenu" >
@@ -248,12 +249,23 @@
+ + + + Edit + Regenerate + Reply + Branch from here + Copy + diff --git a/packages/app/src/components/ui/ContextMenu.vue b/packages/app/src/components/ui/ContextMenu.vue new file mode 100644 index 00000000..36ae4935 --- /dev/null +++ b/packages/app/src/components/ui/ContextMenu.vue @@ -0,0 +1,82 @@ + + + + + diff --git a/packages/app/src/components/ui/ContextMenuItem.vue b/packages/app/src/components/ui/ContextMenuItem.vue new file mode 100644 index 00000000..920d1032 --- /dev/null +++ b/packages/app/src/components/ui/ContextMenuItem.vue @@ -0,0 +1,25 @@ + + +