From bb5683d9d45877a0a745dc66111523a95bcffe48 Mon Sep 17 00:00:00 2001 From: brennanb2025 Date: Sun, 17 May 2026 22:43:26 -0700 Subject: [PATCH] Share worktree status indicator UI --- .../src/components/sidebar/WorkspaceKanbanCard.tsx | 8 ++------ ...t.tsx => WorktreeActivityStatusIndicator.test.tsx} | 10 +++++----- ...icator.tsx => WorktreeActivityStatusIndicator.tsx} | 2 +- src/renderer/src/components/sidebar/WorktreeCard.tsx | 11 ++--------- src/renderer/src/components/sidebar/WorktreeList.tsx | 4 ++-- 5 files changed, 12 insertions(+), 23 deletions(-) rename src/renderer/src/components/sidebar/{LineageChildStatusIndicator.test.tsx => WorktreeActivityStatusIndicator.test.tsx} (71%) rename src/renderer/src/components/sidebar/{LineageChildStatusIndicator.tsx => WorktreeActivityStatusIndicator.tsx} (91%) diff --git a/src/renderer/src/components/sidebar/WorkspaceKanbanCard.tsx b/src/renderer/src/components/sidebar/WorkspaceKanbanCard.tsx index 9d75b3df87f..63997f67d9f 100644 --- a/src/renderer/src/components/sidebar/WorkspaceKanbanCard.tsx +++ b/src/renderer/src/components/sidebar/WorkspaceKanbanCard.tsx @@ -5,13 +5,11 @@ import { Badge } from '@/components/ui/badge' import { HoverCard, HoverCardContent, HoverCardTrigger } from '@/components/ui/hover-card' import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip' import { activateAndRevealWorktree } from '@/lib/worktree-activation' -import { getWorktreeStatusLabel } from '@/lib/worktree-status' import { cn } from '@/lib/utils' import type { Repo, Worktree } from '../../../../shared/types' -import StatusIndicator from './StatusIndicator' import WorktreeCard from './WorktreeCard' +import { WorktreeActivityStatusIndicator } from './WorktreeActivityStatusIndicator' import WorktreeContextMenu from './WorktreeContextMenu' -import { useWorktreeActivityStatus } from './use-worktree-activity-status' import { writeWorkspaceDragData } from './workspace-status' type WorkspaceKanbanCardProps = { @@ -108,7 +106,6 @@ function WorkspaceKanbanCompactCard({ }: Omit): React.JSX.Element { const deleteState = useAppStore((s) => s.deleteStateByWorktreeId[worktree.id]) const isDeleting = deleteState?.isDeleting ?? false - const status = useWorktreeActivityStatus(worktree.id) const contextWorktrees = useMemo( () => isSelected && selectedWorktrees && selectedWorktrees.length > 0 @@ -187,8 +184,7 @@ function WorkspaceKanbanCompactCard({ aria-label={`Open ${worktree.displayName}`} aria-busy={isDeleting} > -