From 644d66eae1ca1161ff7c96c65b00545d21b37c5c Mon Sep 17 00:00:00 2001 From: Paul Holstein <44263169+holstein13@users.noreply.github.com> Date: Sat, 21 Feb 2026 16:55:04 -0500 Subject: [PATCH] feat(report): wire up toolbar button and report tab routing Co-Authored-By: Claude Opus 4.6 --- .../components/layout/PaneContent.tsx | 2 ++ src/renderer/components/layout/TabBar.tsx | 22 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/layout/PaneContent.tsx b/src/renderer/components/layout/PaneContent.tsx index 8abf16d5..667f7a46 100644 --- a/src/renderer/components/layout/PaneContent.tsx +++ b/src/renderer/components/layout/PaneContent.tsx @@ -7,6 +7,7 @@ import { TabUIProvider } from '@renderer/contexts/TabUIContext'; import { DashboardView } from '../dashboard/DashboardView'; import { NotificationsView } from '../notifications/NotificationsView'; +import { SessionReportTab } from '../report/SessionReportTab'; import { SettingsView } from '../settings/SettingsView'; import { SessionTabContent } from './SessionTabContent'; @@ -47,6 +48,7 @@ export const PaneContent = ({ pane }: PaneContentProps): React.JSX.Element => { )} + {tab.type === 'report' && } ); })} diff --git a/src/renderer/components/layout/TabBar.tsx b/src/renderer/components/layout/TabBar.tsx index 61915d35..9f6dad31 100644 --- a/src/renderer/components/layout/TabBar.tsx +++ b/src/renderer/components/layout/TabBar.tsx @@ -14,7 +14,7 @@ import { horizontalListSortingStrategy, SortableContext } from '@dnd-kit/sortabl import { isElectronMode } from '@renderer/api'; import { HEADER_ROW1_HEIGHT } from '@renderer/constants/layout'; import { useStore } from '@renderer/store'; -import { Bell, PanelLeft, Plus, RefreshCw, Search, Settings } from 'lucide-react'; +import { Activity, Bell, PanelLeft, Plus, RefreshCw, Search, Settings } from 'lucide-react'; import { useShallow } from 'zustand/react/shallow'; import { ExportDropdown } from '../common/ExportDropdown'; @@ -45,6 +45,7 @@ export const TabBar = ({ paneId }: TabBarProps): React.JSX.Element => { unreadCount, openNotificationsTab, openSettingsTab, + openSessionReport, sidebarCollapsed, toggleSidebar, splitPane, @@ -72,6 +73,7 @@ export const TabBar = ({ paneId }: TabBarProps): React.JSX.Element => { unreadCount: s.unreadCount, openNotificationsTab: s.openNotificationsTab, openSettingsTab: s.openSettingsTab, + openSessionReport: s.openSessionReport, sidebarCollapsed: s.sidebarCollapsed, toggleSidebar: s.toggleSidebar, splitPane: s.splitPane, @@ -105,6 +107,7 @@ export const TabBar = ({ paneId }: TabBarProps): React.JSX.Element => { const [searchHover, setSearchHover] = useState(false); const [notificationsHover, setNotificationsHover] = useState(false); const [settingsHover, setSettingsHover] = useState(false); + const [analyzeHover, setAnalyzeHover] = useState(false); // Context menu state const [contextMenu, setContextMenu] = useState<{ x: number; y: number; tabId: string } | null>( @@ -386,6 +389,23 @@ export const TabBar = ({ paneId }: TabBarProps): React.JSX.Element => { )} + {/* Analyze button - show only for session tabs with loaded data */} + {activeTab?.type === 'session' && activeTabSessionDetail && activeTabId && ( + + )} + {/* Notifications bell icon */}