From c781db3313d5357b04789a0dcddf0c2b12c9ed56 Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Thu, 2 Apr 2026 16:27:58 -0500 Subject: [PATCH] Show sidebar trigger when sidebar is collapsed - Keep the trigger visible on desktop only when the sidebar is closed - Remove page-level mobile-only trigger hiding for chat, settings, and review shells --- apps/web/src/components/ChatHomeEmptyState.tsx | 7 ++++--- apps/web/src/components/Sidebar.tsx | 2 +- apps/web/src/components/chat/ChatHeader.tsx | 2 +- apps/web/src/components/review/ProjectSubpageShell.tsx | 2 +- apps/web/src/components/ui/sidebar.tsx | 10 ++++++++-- apps/web/src/routes/_chat.settings.tsx | 2 +- 6 files changed, 16 insertions(+), 9 deletions(-) diff --git a/apps/web/src/components/ChatHomeEmptyState.tsx b/apps/web/src/components/ChatHomeEmptyState.tsx index 54ca6b8bb..5a38a583c 100644 --- a/apps/web/src/components/ChatHomeEmptyState.tsx +++ b/apps/web/src/components/ChatHomeEmptyState.tsx @@ -23,7 +23,7 @@ import { EmptyTitle, } from "./ui/empty"; import { Button } from "./ui/button"; -import { SidebarTrigger } from "./ui/sidebar"; +import { SidebarTrigger, useSidebar } from "./ui/sidebar"; import { toastManager } from "./ui/toast"; export function ChatHomeEmptyState() { @@ -36,6 +36,7 @@ export function ChatHomeEmptyState() { const threads = useStore((store) => store.threads); const { handleNewThread } = useHandleNewThread(); const [isOpeningProject, setIsOpeningProject] = useState(false); + const { open: sidebarOpen, isMobile: sidebarIsMobile } = useSidebar(); const latestProject = useMemo( () => sortProjectsForSidebar(projects, threads, appSettings.sidebarProjectSortOrder)[0] ?? null, @@ -118,8 +119,8 @@ export function ChatHomeEmptyState() { return (
- {!isElectron && ( -
+ {!isElectron && (sidebarIsMobile || !sidebarOpen) && ( +
Home diff --git a/apps/web/src/components/Sidebar.tsx b/apps/web/src/components/Sidebar.tsx index 759e4e812..dcb4c4d99 100644 --- a/apps/web/src/components/Sidebar.tsx +++ b/apps/web/src/components/Sidebar.tsx @@ -1729,7 +1729,7 @@ export default function Sidebar() { const wordmark = (
- + {/* Left: Identity — thread title + project context */}
- +
- + {title}
diff --git a/apps/web/src/components/ui/sidebar.tsx b/apps/web/src/components/ui/sidebar.tsx index 34a281b78..1c4fa8e06 100644 --- a/apps/web/src/components/ui/sidebar.tsx +++ b/apps/web/src/components/ui/sidebar.tsx @@ -352,11 +352,17 @@ function Sidebar({ } function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps) { - const { toggleSidebar, openMobile } = useSidebar(); + const { toggleSidebar, open, openMobile, isMobile } = useSidebar(); return (