From f9b52ef8cf1d8dee745f32bad4a666b4a659cd03 Mon Sep 17 00:00:00 2001 From: Jinjing <6427696+AmethystLiang@users.noreply.github.com> Date: Sun, 31 May 2026 01:22:31 -0700 Subject: [PATCH] feat: add worktree card layout controls (#4016) --- .../settings/ExperimentalPane.test.tsx | 4 +- .../components/settings/ExperimentalPane.tsx | 7 +- .../settings/experimental-search.ts | 2 +- .../sidebar/SidebarWorkspaceOptionsMenu.tsx | 60 +++++++++- .../sidebar/WorktreeCard.pr-display.test.tsx | 47 ++++++-- .../WorktreeCard.quick-actions.test.tsx | 24 ++-- .../src/components/sidebar/WorktreeCard.tsx | 112 +++++++++++++----- .../sidebar/WorktreeCardAgents.test.tsx | 11 +- .../components/sidebar/WorktreeCardAgents.tsx | 6 +- 9 files changed, 202 insertions(+), 71 deletions(-) diff --git a/src/renderer/src/components/settings/ExperimentalPane.test.tsx b/src/renderer/src/components/settings/ExperimentalPane.test.tsx index 72fc7899b..4dcb55d6b 100644 --- a/src/renderer/src/components/settings/ExperimentalPane.test.tsx +++ b/src/renderer/src/components/settings/ExperimentalPane.test.tsx @@ -17,8 +17,8 @@ describe('ExperimentalPane', () => { expect(markup).toContain('Compact worktree cards') expect(markup).toContain('aria-checked="false"') - expect(markup).toContain('Collapses a card only when its second line would be empty or repeat') - expect(markup).toContain('different branch') + expect(markup).toContain('single title row') + expect(markup).toContain('selected properties on a second row') expect(EXPERIMENTAL_SEARCH_ENTRY.compactWorktreeCards.keywords).toContain('metadata') }) }) diff --git a/src/renderer/src/components/settings/ExperimentalPane.tsx b/src/renderer/src/components/settings/ExperimentalPane.tsx index d43903e3e..ac0035727 100644 --- a/src/renderer/src/components/settings/ExperimentalPane.tsx +++ b/src/renderer/src/components/settings/ExperimentalPane.tsx @@ -158,7 +158,7 @@ export function ExperimentalPane({ {showCompactWorktreeCards ? ( @@ -166,9 +166,8 @@ export function ExperimentalPane({

- Collapses a card only when its second line would be empty or repeat the title. Cards - with a different branch, repo badge, folder badge, cache timer, or conflict state - keep the second line. + Keeps workspace cards to a single title row. The detailed layout restores the + branch, project, cache timer, and selected properties on a second row.