- {repoErrors.map((repo) => (
+
+ {repoErrors.slice(0, 1).map((repo) => (
-
+
{repo.displayName}: {repo.error}
+ {repoErrors.length > 1 ? (
+
+
+
+
+
+
+ {repoErrors.map((entry) => (
+
+ {entry.displayName}: {entry.error}
+
+ ))}
+
+
+
+ ) : null}
))}
) : null}
{hasRows || isInitialScan ? (
-
)
}
diff --git a/src/renderer/src/components/status-bar/workspace-space-manager-table.tsx b/src/renderer/src/components/status-bar/workspace-space-manager-table.tsx
index 920932d63d0..e69c0ae7fab 100644
--- a/src/renderer/src/components/status-bar/workspace-space-manager-table.tsx
+++ b/src/renderer/src/components/status-bar/workspace-space-manager-table.tsx
@@ -22,7 +22,6 @@ export function WorkspaceSpaceManagerTable({
hasRows,
inspectedWorktree,
isInitialScan,
- maxSize,
nextSelectedIds,
getDeleteStateForWorktree,
rows,
@@ -38,11 +37,11 @@ export function WorkspaceSpaceManagerTable({
allVisibleSelected
} = model
return (
- <>
+
{hasRows || isInitialScan ? (
-
-
-
+
+
+
+
-
+
{isInitialScan ? (
@@ -129,7 +136,6 @@ export function WorkspaceSpaceManagerTable({
)}
- >
+
)
}
diff --git a/src/renderer/src/components/status-bar/workspace-space-manager-toolbar.tsx b/src/renderer/src/components/status-bar/workspace-space-manager-toolbar.tsx
index 2bcc2888ea4..5c46c984b7a 100644
--- a/src/renderer/src/components/status-bar/workspace-space-manager-toolbar.tsx
+++ b/src/renderer/src/components/status-bar/workspace-space-manager-toolbar.tsx
@@ -1,4 +1,4 @@
-import { Check, Search, Trash2 } from 'lucide-react'
+import { Check, Trash2 } from 'lucide-react'
import { Button } from '../ui/button'
import { Input } from '../ui/input'
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select'
@@ -33,7 +33,7 @@ export function WorkspaceSpaceManagerToolbar({
return (
<>
{selectedDeletableIds.length > 0 ? (
-
+
{selectedDeletableIds.length}{' '}
@@ -82,9 +82,8 @@ export function WorkspaceSpaceManagerToolbar({
) : null}
{hasRows ? (
-
-
-
+
+
setQuery(event.target.value)}
@@ -92,7 +91,7 @@ export function WorkspaceSpaceManagerToolbar({
'auto.components.status.bar.WorkspaceSpaceManagerPanel.6f8f6a6b04',
'Filter workspaces'
)}
- className="pl-9"
+ className="h-8"
/>
@@ -100,7 +99,7 @@ export function WorkspaceSpaceManagerToolbar({
value={sortKey}
onValueChange={(value) => selectSortKey(value as WorkspaceSpaceSortKey)}
>
-
+
@@ -135,7 +134,7 @@ export function WorkspaceSpaceManagerToolbar({
variant={onlyDeletable ? 'secondary' : 'outline'}
size="sm"
onClick={() => setOnlyDeletable((current) => !current)}
- className="w-32"
+ className="w-24"
aria-label={translate(
'auto.components.status.bar.WorkspaceSpaceManagerPanel.81aaf1de65',
'Show only deletable workspaces'
@@ -157,7 +156,7 @@ export function WorkspaceSpaceManagerToolbar({
size="sm"
onClick={toggleVisibleSelection}
disabled={visibleDeletableIds.length === 0}
- className="w-32 gap-1.5"
+ className="w-24"
aria-label={
allVisibleSelected
? translate(
diff --git a/src/renderer/src/components/status-bar/workspace-space-manager-view.tsx b/src/renderer/src/components/status-bar/workspace-space-manager-view.tsx
index ee6221a3e4a..642882fa137 100644
--- a/src/renderer/src/components/status-bar/workspace-space-manager-view.tsx
+++ b/src/renderer/src/components/status-bar/workspace-space-manager-view.tsx
@@ -11,7 +11,7 @@ export function WorkspaceSpaceManagerView({
model: WorkspaceSpaceManagerModel
}): React.JSX.Element {
return (
-
+
diff --git a/src/renderer/src/components/status-bar/workspace-space-metrics.tsx b/src/renderer/src/components/status-bar/workspace-space-metrics.tsx
index e0bce006a62..ccd605f8e09 100644
--- a/src/renderer/src/components/status-bar/workspace-space-metrics.tsx
+++ b/src/renderer/src/components/status-bar/workspace-space-metrics.tsx
@@ -6,23 +6,42 @@ import {
getWorkspaceSpaceScanDateTimeLabel,
getWorkspaceSpaceScanTimeLabel
} from './workspace-space-format'
+import { formatShortTimeAgo } from '@/lib/short-time-ago'
export function Metric({
label,
value,
- title
+ title,
+ shortLabel,
+ shortValue
}: {
label: string
value: string
title?: string
+ shortLabel?: string
+ shortValue?: string
}): React.JSX.Element {
return (
-
-
- {label}
+
+
+ {shortLabel ? (
+ <>
+ {shortLabel}
+ {label}
+ >
+ ) : (
+ label
+ )}
-
- {value}
+
+ {shortValue ? (
+ <>
+ {shortValue}
+ {value}
+ >
+ ) : (
+ value
+ )}
)
@@ -55,6 +74,7 @@ export function UpdatedMetric({
'Updated'
)}
title={scannedAt === null ? undefined : getWorkspaceSpaceScanDateTimeLabel(scannedAt)}
+ shortValue={scannedAt === null ? undefined : formatShortTimeAgo(scannedAt, now)}
value={
scannedAt === null
? isScanning
diff --git a/src/renderer/src/components/status-bar/workspace-space-treemap.tsx b/src/renderer/src/components/status-bar/workspace-space-treemap.tsx
index 632ce80889a..be1f12a9300 100644
--- a/src/renderer/src/components/status-bar/workspace-space-treemap.tsx
+++ b/src/renderer/src/components/status-bar/workspace-space-treemap.tsx
@@ -73,7 +73,7 @@ export function WorkspaceSpaceTreemap({
if (rects.length === 0) {
return (
-
+
{zoomedWorktree ? (