From 092546495d73d305e4d0226ee14bf0d5de4d2f53 Mon Sep 17 00:00:00 2001 From: klopez4212 Date: Wed, 24 Jun 2026 20:54:05 +0100 Subject: [PATCH] Polish desktop navigation chrome (#1238) --- desktop/src-tauri/tauri.conf.json | 4 +- desktop/src/app/AppShell.tsx | 98 ++++++++++--------- desktop/src/app/AppTopChrome.tsx | 58 ++++------- desktop/src/features/agents/ui/AgentsView.tsx | 9 +- .../channels/ui/AgentSessionThreadPanel.tsx | 8 +- desktop/src/features/chat/ui/ChatHeader.tsx | 85 ++++++++-------- .../src/features/home/ui/HomeLoadingState.tsx | 4 +- desktop/src/features/home/ui/HomeView.tsx | 7 +- .../src/features/home/ui/InboxDetailPane.tsx | 2 +- .../src/features/home/ui/InboxListPane.tsx | 13 +-- .../messages/ui/MessageThreadPanel.tsx | 12 +-- .../features/profile/ui/UserProfilePanel.tsx | 10 +- .../projects/ui/ProjectDetailScreen.tsx | 9 +- .../src/features/projects/ui/ProjectsView.tsx | 9 +- desktop/src/features/pulse/ui/PulseTabBar.tsx | 2 +- .../src/features/search/ui/TopbarSearch.tsx | 2 +- .../src/features/settings/ui/SettingsView.tsx | 6 +- .../src/features/sidebar/ui/AppSidebar.tsx | 4 +- .../workflows/ui/WorkflowDetailPanel.tsx | 2 +- .../features/workflows/ui/WorkflowsView.tsx | 7 +- .../shared/layout/AuxiliaryPanelHeader.tsx | 6 +- .../shared/layout/TopChromeInsetHeader.tsx | 7 +- desktop/src/shared/layout/chromeLayout.ts | 22 ++--- desktop/src/shared/ui/ViewLoadingFallback.tsx | 43 +++----- desktop/src/shared/ui/sidebar.tsx | 2 +- .../e2e/sidebar-more-unread-overlap.spec.ts | 55 ++++------- 26 files changed, 198 insertions(+), 288 deletions(-) diff --git a/desktop/src-tauri/tauri.conf.json b/desktop/src-tauri/tauri.conf.json index 1043c8240d..2d8b54a7a1 100644 --- a/desktop/src-tauri/tauri.conf.json +++ b/desktop/src-tauri/tauri.conf.json @@ -25,8 +25,8 @@ "hiddenTitle": true, "dragDropEnabled": false, "trafficLightPosition": { - "x": 12, - "y": 22 + "x": 16, + "y": 24 }, "backgroundThrottling": "disabled", "minWidth": 800, diff --git a/desktop/src/app/AppShell.tsx b/desktop/src/app/AppShell.tsx index afa5f3ea89..05babfa6c1 100644 --- a/desktop/src/app/AppShell.tsx +++ b/desktop/src/app/AppShell.tsx @@ -768,7 +768,7 @@ export function AppShell() { isHuddleDrawerOpen && "buzz-huddle-app-surface-open", )} > - + {!settingsOpen ? ( ) : null} {settingsOpen ? ( - - - +
+ + + +
) : ( - <> +
- - - +
+ + +
- +
)} - { - const handleWheel = (event: WheelEvent) => { - if (event.clientY <= TOP_CHROME_WHEEL_GUARD_HEIGHT) { - event.preventDefault(); - } - }; - - document.addEventListener("wheel", handleWheel, { - capture: true, - passive: false, - }); - return () => { - document.removeEventListener("wheel", handleWheel, { capture: true }); - }; - }, []); + // On macOS the traffic-light buttons overlay the chrome (see + // `trafficLightPosition` in `tauri.conf.json`), so the nav row clears their + // x-position and shifts to align the nav icon centers with the native dot + // centers. In fullscreen those buttons hide, so use the standard alignment. + const navRowPaddingClass = + isMacPlatform() && !isFullscreen ? "pl-20" : "pl-3"; + const navRowAlignmentClass = + isMacPlatform() && !isFullscreen ? "translate-y-[3px]" : null; return ( - <> -