From 866fc907592c9746b407484087d66c409e8034fa Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Tue, 22 Sep 2026 21:33:01 -0700 Subject: [PATCH] refactor(web): menu triggers and items stop restyling ui/menu (#13205) Co-authored-by: Claude Opus 5.5 (1M context) --- apps/web/src/components/BranchToolbar.tsx | 6 +-- apps/web/src/components/LegacySidebar.tsx | 4 +- .../src/components/ProjectScriptsControl.tsx | 35 +++++---------- .../src/components/chat/DraftHeroHeadline.tsx | 45 ++++++++++--------- .../src/components/files/FileBreadcrumbs.tsx | 13 ++++-- .../components/preview/PreviewMoreMenu.tsx | 9 ++-- .../pullRequest/PullRequestStackHeader.tsx | 22 ++++----- .../settings/EnvironmentIconPicker.tsx | 2 +- .../components/settings/SnapShotSettings.tsx | 19 ++------ apps/web/src/components/usage/UsagePage.tsx | 2 +- apps/web/src/routes/_chat.pull-requests.tsx | 15 +++---- scripts/lint-restyle-ceiling.ts | 2 +- 12 files changed, 78 insertions(+), 96 deletions(-) diff --git a/apps/web/src/components/BranchToolbar.tsx b/apps/web/src/components/BranchToolbar.tsx index 607236f2d63b4e231ba088e66d3301f46f869185..8e84ec5d1ed9e8c09106191d3e7f6f13f059ac5c 100644 --- a/apps/web/src/components/BranchToolbar.tsx +++ b/apps/web/src/components/BranchToolbar.tsx @@ -41,7 +41,7 @@ import { } from "./BranchToolbarBranchSelector"; import { BranchToolbarEnvironmentSelector } from "./BranchToolbarEnvironmentSelector"; import { BranchToolbarEnvModeSelector } from "./BranchToolbarEnvModeSelector"; -import { Button } from "./ui/button"; +import { ComposerControl } from "./chat/ComposerControl"; import { Menu, MenuGroup, @@ -206,8 +206,8 @@ const MobileRunContextSelector = memo(function MobileRunContextSelector({ return ( } - className="min-w-0 max-w-[48%] flex-initial justify-start font-normal text-muted-foreground/70 text-xs! hover:text-foreground/80" + render={} + className="min-w-0 max-w-[48%] flex-initial justify-start" data-composer-context-control data-composer-shortcut={[ showEnvironmentPicker && !envLocked ? "composer.host" : "", diff --git a/apps/web/src/components/LegacySidebar.tsx b/apps/web/src/components/LegacySidebar.tsx index c61c4caff93bd58917fec6de63b045b58326042f..fc8bf99a8098963dd70287953b299966ff188aec 100644 --- a/apps/web/src/components/LegacySidebar.tsx +++ b/apps/web/src/components/LegacySidebar.tsx @@ -2732,9 +2732,7 @@ function ProjectSortMenu({ - } + render={} />} > diff --git a/apps/web/src/components/ProjectScriptsControl.tsx b/apps/web/src/components/ProjectScriptsControl.tsx index eb186ea72f5d2f7e90b68033d6f01c540fe7de1c..97de05d1d896c2baa46bb264ed8d92fda7355321 100644 --- a/apps/web/src/components/ProjectScriptsControl.tsx +++ b/apps/web/src/components/ProjectScriptsControl.tsx @@ -101,8 +101,6 @@ export default function ProjectScriptsControl({ ), [fileScripts, scripts], ); - const dropdownItemClassName = - "data-highlighted:bg-transparent data-highlighted:text-foreground hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground data-highlighted:hover:bg-accent data-highlighted:hover:text-accent-foreground data-highlighted:focus-visible:bg-accent data-highlighted:focus-visible:text-accent-foreground"; const openAddDialog = () => { setEditorRequest({ scriptId: null, initial: EMPTY_PROJECT_SCRIPT_INPUT }); @@ -153,7 +151,6 @@ export default function ProjectScriptsControl({ void importFileScript(fileScript)} > @@ -178,7 +175,7 @@ export default function ProjectScriptsControl({ onRunScript(script)} > @@ -186,17 +183,15 @@ export default function ProjectScriptsControl({ {script.runOnWorktreeCreate ? `${script.name} (setup)` : script.name} - {shortcutLabel && ( - - {shortcutLabel} - - )} + {shortcutLabel && + (presentation === "menu" ? ( + {shortcutLabel} + ) : ( + // The shortcut yields its slot to the edit button on hover. + + {shortcutLabel} + + ))}