diff --git a/packages/app/src/components/sidebar/sidebar-workspace-row-content.tsx b/packages/app/src/components/sidebar/sidebar-workspace-row-content.tsx index 41454f973..10d844094 100644 --- a/packages/app/src/components/sidebar/sidebar-workspace-row-content.tsx +++ b/packages/app/src/components/sidebar/sidebar-workspace-row-content.tsx @@ -124,35 +124,39 @@ export const SidebarWorkspaceRowContent = memo(function SidebarWorkspaceRowConte return ( - - - - {workspace.name} - - {scriptIconKind ? : null} + + + + + + {workspace.name} + + {scriptIconKind ? : null} + + {children} + + {subtitle ? ( + + {subtitle} + + ) : null} + {workspace.prHint ? ( + + + + + ) : null} - {children} {showShortcutBadge && shortcutNumber !== null ? ( ) : null} - {subtitle ? ( - - {subtitle} - - ) : null} - {workspace.prHint ? ( - - - - - ) : null} ); }); @@ -208,6 +212,16 @@ function WorkspaceStatusIndicator({ ); } + if (bucket === "attention") { + return ( + + + + ); + } + + if (bucket === "done") return null; + let KindIcon: typeof ThemedMonitor; if (workspaceKind === "local_checkout") KindIcon = ThemedMonitor; else if (workspaceKind === "worktree") KindIcon = ThemedFolderGit2; @@ -461,11 +475,20 @@ const styles = StyleSheet.create((theme) => ({ workspaceRowMain: { flexDirection: "row", alignItems: "flex-start", - justifyContent: "space-between", gap: theme.spacing[2], width: "100%", }, - workspaceRowLeft: { + workspaceContentColumn: { + flex: 1, + minWidth: 0, + }, + workspaceTitleRow: { + flexDirection: "row", + alignItems: "flex-start", + justifyContent: "space-between", + gap: theme.spacing[2], + }, + workspaceTitleLeft: { flexDirection: "row", alignItems: "center", gap: theme.spacing[2], @@ -492,6 +515,12 @@ const styles = StyleSheet.create((theme) => ({ borderRadius: theme.borderRadius.full, borderWidth: 1, }, + standaloneStatusDot: { + width: 8, + height: 8, + borderRadius: theme.borderRadius.full, + backgroundColor: theme.colors.palette.green[500], + }, workspaceBranchText: { color: theme.colors.foreground, fontSize: theme.fontSize.sm, @@ -522,14 +551,12 @@ const styles = StyleSheet.create((theme) => ({ color: theme.colors.foregroundMuted, fontSize: theme.fontSize.xs, lineHeight: 14, - marginLeft: WORKSPACE_STATUS_DOT_WIDTH + theme.spacing[2], }, workspacePrBadgeRow: { flexDirection: "row", alignItems: "center", gap: theme.spacing[2], marginTop: theme.spacing[1], - paddingLeft: WORKSPACE_STATUS_DOT_WIDTH + theme.spacing[2], }, statusDotNeedsInput: { backgroundColor: theme.colors.palette.amber[500],