diff --git a/apps/web/src/components/Sidebar.tsx b/apps/web/src/components/Sidebar.tsx index ea25b5c2c5c49b7863e75a60d80a4f9eacfed943..65ac1cf7752cbd0a5cece5444e66f90545414952 100644 --- a/apps/web/src/components/Sidebar.tsx +++ b/apps/web/src/components/Sidebar.tsx @@ -1584,7 +1584,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { useRightPanelStore.getState().open(threadRef, "pull-requests"); if (!props.isActive) onThreadActivate(threadRef); }, [onThreadActivate, props.isActive, threadRef]); - const prBadge = + const renderPrBadge = (iconOnly: boolean) => prBadgeShape?.kind === "stack" || pr || currentLinkedPr ? ( ) : null; + const prBadge = renderPrBadge(false); const terminalStatusIcon = terminalStatus ? ( } > - {props.project ? ( - - ) : driverKind ? ( - - ) : ( - - )} + + {props.project ? ( + + ) : driverKind ? ( + + ) : ( + + )} + {isRemote ? ( + + + } + > + + + + {props.environmentLabel ?? "Remote environment"} + + + ) : null} + {topStatus ? ( {draftIndicator} {props.project ? ( - + + + {compactRows && isRemote ? ( + + + } + > + + + + {props.environmentLabel ?? "Remote environment"} + + + ) : null} + + ) : compactRows && isRemote ? ( + + + } + > + + + + {props.environmentLabel ?? "Remote environment"} + + ) : null} {compactRows ? ( title @@ -1962,18 +2024,6 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { {pinIndicator} {compactRows ? ( <> - {isRemote ? ( - - - - ) : null} {terminalStatusIcon} {topStatus && CompactStatusIcon ? ( isWokeStatus ? ( @@ -2001,7 +2051,7 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { ) ) : null} - {prBadge} + {renderPrBadge(true)} ) : null} {/* The visible state owns this slot's width: status at rest, @@ -2031,7 +2081,9 @@ const SidebarThreadRow = memo(function SidebarThreadRow(props: { > {compactRows ? ( status === "working" ? ( - + + + ) : compactCompletedAt ? ( ) : ( diff --git a/apps/web/src/components/ThreadStatusIndicators.tsx b/apps/web/src/components/ThreadStatusIndicators.tsx index 7201779f13f144b0a7c3429b1e02785e02c77bc1..bb99df0a3d323524aebc76790423396c3ad8731b 100644 --- a/apps/web/src/components/ThreadStatusIndicators.tsx +++ b/apps/web/src/components/ThreadStatusIndicators.tsx @@ -144,6 +144,7 @@ export function ThreadPullRequestBadgeControl({ number, url, status, + iconOnly = false, onOpenStack, onOpenPullRequest, }: { @@ -152,6 +153,8 @@ export function ThreadPullRequestBadgeControl({ number?: number | undefined; url?: string | undefined; status: PrStatusIndicator | null; + /** Dense rows drop the number/layer count and keep only the state glyph. */ + iconOnly?: boolean; onOpenStack: () => void; onOpenPullRequest: (event: MouseEvent) => void; }) { @@ -179,7 +182,7 @@ export function ThreadPullRequestBadgeControl({ const content = ( <> - {isStack ? badge.layers : linkedCount !== null ? `+${linkedCount}` : number} + {iconOnly ? null : isStack ? badge.layers : linkedCount !== null ? `+${linkedCount}` : number} ); return (