From c7627f64ceb58c6e607095b36de0242b184ec282 Mon Sep 17 00:00:00 2001 From: Bill Leoutsakos Date: Tue, 22 Sep 2026 12:53:04 -0700 Subject: [PATCH 1/2] improvement(ui): share browser toolbar actions --- .../browser-session/browser-downloads.tsx | 11 +++--- .../browser-session/browser-session.tsx | 34 +++++-------------- .../browser-toolbar-button.tsx | 28 +++++++++++++++ 3 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button.tsx diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-downloads.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-downloads.tsx index ed3ae9e2eb1..a694dc21271 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-downloads.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-downloads.tsx @@ -3,7 +3,6 @@ import { useEffect, useMemo, useRef, useState } from 'react' import type { BrowserDownloadInfo } from '@sim/desktop-bridge' import { - Button, cn, DropdownMenu, DropdownMenuContent, @@ -18,6 +17,7 @@ import { showBrowserDownloadInFolder, showBrowserDownloadsMenu, } from '@/lib/browser-agent/transport' +import { BrowserToolbarButton } from '@/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button' /** Aggregate byte progress for the toolbar rail; unknown-size downloads are ignored. */ export function aggregateDownloadPercent(downloads: BrowserDownloadInfo[]): number | null { @@ -127,14 +127,11 @@ export function BrowserDownloads({ scopeId, open, requestOpen, onClose }: Browse }} > - + Downloads diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx index f3aa734a126..a7c82cf5069 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-session.tsx @@ -16,7 +16,6 @@ import type { DesktopAppearanceTheme, } from '@sim/desktop-bridge' import { - Button, ChipConfirmModal, ChipInput, chipVariants, @@ -82,6 +81,7 @@ import { useBrowserPanelOcclusion, } from '@/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-panel-occlusion' import { BrowserThemeNotice } from '@/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-theme-notice' +import { BrowserToolbarButton } from '@/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button' import { buildOmniboxSuggestions, googleSearchUrl, @@ -1034,38 +1034,26 @@ export function BrowserSession({
- - - + {/* URL bar: Enter navigates the agent browser. */} - + {fillOptions.map((credential) => ( diff --git a/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button.tsx b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button.tsx new file mode 100644 index 00000000000..1093f6ad5ac --- /dev/null +++ b/apps/sim/app/workspace/[workspaceId]/home/components/mothership-view/components/resource-content/components/browser-session/browser-toolbar-button.tsx @@ -0,0 +1,28 @@ +'use client' + +import { type ComponentProps, forwardRef } from 'react' +import { Button, cn } from '@sim/emcn' + +interface BrowserToolbarButtonProps + extends Omit< + ComponentProps, + 'variant' | 'size' | 'iconSize' | 'iconPadding' | 'type' + > { + 'aria-label': string +} + +/** Browser navigation and utility action; forwards menu-anchor refs and native events. */ +export const BrowserToolbarButton = forwardRef( + ({ className, ...props }, ref) => ( +