From 4da744ef9b6182982684c6b46bd5f41569e907ee Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Mon, 29 Jun 2026 14:26:02 -0500 Subject: [PATCH] feat(desktop): let the pet perch on the status bar and profile rail Tag both bars with data-slots; the roam loop stands on the status bar's top edge (not over it) and treats the profile rail as a climbable ledge. --- apps/desktop/src/app/chat/sidebar/profile-switcher.tsx | 2 +- apps/desktop/src/app/shell/statusbar-controls.tsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx b/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx index 612305b1479..100ad8001e4 100644 --- a/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx +++ b/apps/desktop/src/app/chat/sidebar/profile-switcher.tsx @@ -200,7 +200,7 @@ export function ProfileRail() { }, [createRequest]) return ( -
+
{/* One button toggles default ↔ all: home face when scoped to a profile, layers face when showing everything. Pinned left like Manage is right. Hidden until a second profile exists. */} diff --git a/apps/desktop/src/app/shell/statusbar-controls.tsx b/apps/desktop/src/app/shell/statusbar-controls.tsx index ca0fbb5b645..9a9f0980884 100644 --- a/apps/desktop/src/app/shell/statusbar-controls.tsx +++ b/apps/desktop/src/app/shell/statusbar-controls.tsx @@ -64,6 +64,7 @@ export function StatusbarControls({ className, leftItems = [], items = [], ...pr 'flex h-5 shrink-0 items-stretch justify-between gap-2 border-t border-(--ui-stroke-tertiary) bg-(--ui-sidebar-surface-background) px-1 py-0 text-(--ui-text-tertiary) [-webkit-app-region:no-drag]', className )} + data-slot="statusbar" {...props} > {/* `overflow-x-clip` (not `overflow-x-auto`) so a wide status item — for