From c9ea716d0a57f138103765ad0bfea9271b4dba66 Mon Sep 17 00:00:00 2001 From: Ammar Date: Thu, 5 Mar 2026 14:08:50 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20fix:=20center=20workspace=20side?= =?UTF-8?q?bar=20trailing=20metadata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Center WorkspaceListItem's trailing controls on the full row height so multi-line workspace rows align consistently with the left status dot. --- _Generated with `mux` • Model: `openai:gpt-5.4` • Thinking: `xhigh` • Cost: `$unknown`_ --- .../WorkspaceListItem/WorkspaceListItem.tsx | 73 +++++++++---------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/src/browser/components/WorkspaceListItem/WorkspaceListItem.tsx b/src/browser/components/WorkspaceListItem/WorkspaceListItem.tsx index 091a30b132..212e968abb 100644 --- a/src/browser/components/WorkspaceListItem/WorkspaceListItem.tsx +++ b/src/browser/components/WorkspaceListItem/WorkspaceListItem.tsx @@ -168,10 +168,10 @@ function ActionButtonWrapper(props: { children: React.ReactNode }) { return (
- {/* Keep the kebab trigger aligned with the title row. */} + {/* Keep trailing controls centered against the full row so they align with the status dot. */} {props.children}
); @@ -600,7 +600,7 @@ function RegularWorkspaceListItemInner(props: WorkspaceListItemProps) { ) : isDisabled ? ( // Invisible spacer preserves title alignment during archive/remove transitions -
+
) : ( !isEditing && ( @@ -694,18 +694,13 @@ function RegularWorkspaceListItemInner(props: WorkspaceListItemProps) { ) )} - {/* Keep title row anchored so status dot/title align across single+double-line states. */} + {/* Keep the title column shrinkable on narrow/mobile viewports so trailing + metadata never forces horizontal sidebar scrolling. */}
-
+
{isEditing ? ( setEditingTitle(e.target.value)} onKeyDown={handleEditKeyDown} @@ -732,32 +727,6 @@ function RegularWorkspaceListItemInner(props: WorkspaceListItemProps) { {displayTitle} )} - - {!isInitializing && !isEditing && ( -
- {terminalActiveCount > 0 && ( - - -
- - {terminalActiveCount} -
-
- - {terminalActiveCount} terminal{terminalActiveCount !== 1 ? "s" : ""} running - commands - -
- )} - -
- )}
{hasSecondaryRow && (
@@ -786,6 +755,34 @@ function RegularWorkspaceListItemInner(props: WorkspaceListItemProps) {
)}
+ + {!isInitializing && !isEditing && ( +
+ {/* Keep right-side metadata centered against the full row height so it matches + the status dot when a secondary status line is present. */} + {terminalActiveCount > 0 && ( + + +
+ + {terminalActiveCount} +
+
+ + {terminalActiveCount} terminal{terminalActiveCount !== 1 ? "s" : ""} running + commands + +
+ )} + +
+ )}
{titleError && isEditing && (