From 10f284a96ebb35790737459a7509b44c1a8a918c Mon Sep 17 00:00:00 2001 From: Jafet Lopez Date: Tue, 23 Jun 2026 01:11:35 -0600 Subject: [PATCH] feat(TopBar): add a search messages button Add a magnify icon button to the TopBar that opens the message search directly from the chat view. The button is only shown when the user is authenticated, not in a call, and not in sidebar mode. The message search (SearchMessagesTab) already exists but is only reachable through the RightSidebar, which makes it hard to discover. The button reuses the existing sidebarStore.showSidebar({ activeTab }) flow; RightSidebar.handleUpdateActive now routes the 'search' value to handleUpdateState('search') so the sidebar opens straight on the search view instead of falling back to the participants tab. Assisted-by: ClaudeCode:claude-opus-4-8 Signed-off-by: Jafet Lopez --- src/components/RightSidebar/RightSidebar.vue | 5 +++++ src/components/TopBar/TopBar.vue | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/components/RightSidebar/RightSidebar.vue b/src/components/RightSidebar/RightSidebar.vue index 33a96fb1ac0..e608572deb5 100644 --- a/src/components/RightSidebar/RightSidebar.vue +++ b/src/components/RightSidebar/RightSidebar.vue @@ -538,6 +538,11 @@ export default { }, handleUpdateActive(active) { + if (active === 'search') { + // 'search' is not a real tab: route it to the search content state + this.handleUpdateState('search') + return + } this.activeTab = active }, diff --git a/src/components/TopBar/TopBar.vue b/src/components/TopBar/TopBar.vue index a6f8540728a..f08a1010412 100644 --- a/src/components/TopBar/TopBar.vue +++ b/src/components/TopBar/TopBar.vue @@ -127,6 +127,18 @@ + + + + + @@ -156,6 +168,7 @@ import IconAccountMultiplePlusOutline from 'vue-material-design-icons/AccountMul import IconArrowLeft from 'vue-material-design-icons/ArrowLeft.vue' import IconChevronRight from 'vue-material-design-icons/ChevronRight.vue' import IconClockOutline from 'vue-material-design-icons/ClockOutline.vue' +import IconMagnify from 'vue-material-design-icons/Magnify.vue' import BreakoutRoomsEditor from '../BreakoutRoomsEditor/BreakoutRoomsEditor.vue' import CalendarEventsDialog from '../CalendarEventsDialog.vue' import ConversationIcon from '../ConversationIcon.vue' @@ -201,6 +214,7 @@ export default { IconArrowLeft, IconChevronRight, IconClockOutline, + IconMagnify, }, props: {