diff --git a/apps/agent/components/sidebar/AppSidebar.tsx b/apps/agent/components/sidebar/AppSidebar.tsx index 19aa522a..8fb07f1b 100644 --- a/apps/agent/components/sidebar/AppSidebar.tsx +++ b/apps/agent/components/sidebar/AppSidebar.tsx @@ -1,4 +1,5 @@ import type { FC } from 'react' +import { useCallback } from 'react' import { cn } from '@/lib/utils' import { SidebarBranding } from './SidebarBranding' import { SidebarNavigation } from './SidebarNavigation' @@ -6,26 +7,43 @@ import { SidebarUserFooter } from './SidebarUserFooter' interface AppSidebarProps { expanded?: boolean + onToggle?: () => void onOpenShortcuts?: () => void } export const AppSidebar: FC = ({ expanded = false, + onToggle, onOpenShortcuts, }) => { + const handleSidebarClick = useCallback( + (event: React.MouseEvent) => { + const target = event.target as HTMLElement + if (target.closest('[data-sidebar-interactive]')) { + return + } + onToggle?.() + }, + [onToggle], + ) + return ( -
- - - -
+ <> + {/* biome-ignore lint/a11y/useKeyWithClickEvents: sidebar toggles via empty-space click */} + + ) } diff --git a/apps/agent/components/sidebar/SidebarBranding.tsx b/apps/agent/components/sidebar/SidebarBranding.tsx index 0d0c4e63..8aeeb467 100644 --- a/apps/agent/components/sidebar/SidebarBranding.tsx +++ b/apps/agent/components/sidebar/SidebarBranding.tsx @@ -6,18 +6,29 @@ import { useWorkspace } from '@/lib/workspace/use-workspace' interface SidebarBrandingProps { expanded?: boolean + onToggle?: () => void } export const SidebarBranding: FC = ({ expanded = true, + onToggle, }) => { const { selectedFolder } = useWorkspace() return (
-
- BrowserOS -
+
= ({ Personal
- +
+ +
) diff --git a/apps/agent/components/sidebar/SidebarNavigation.tsx b/apps/agent/components/sidebar/SidebarNavigation.tsx index cce470b0..ae2bd1b7 100644 --- a/apps/agent/components/sidebar/SidebarNavigation.tsx +++ b/apps/agent/components/sidebar/SidebarNavigation.tsx @@ -64,13 +64,14 @@ export const SidebarNavigation: FC = ({ const navItem = ( - + = ({ href="https://docs.browseros.com/" target="_blank" rel="noopener noreferrer" + data-sidebar-interactive className="flex h-9 items-center gap-2 overflow-hidden whitespace-nowrap rounded-md px-3 font-medium text-sm transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground" > - + = ({