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 (