mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 00:02:31 +00:00
fix(sidebar): show collapse chevron on pinned section headers (#12147)
This commit is contained in:
@@ -917,6 +917,30 @@ describe('WorktreeList lineage child card renderer', () => {
|
||||
expect(markup).toContain('aria-expanded="true"')
|
||||
})
|
||||
|
||||
it('renders a collapse chevron on the pinned section header with worktrees', async () => {
|
||||
setPinnedFixtureState()
|
||||
const markup = await renderWorktreeListMarkup()
|
||||
|
||||
expect(markup).toContain('Pinned')
|
||||
expect(markup).toContain('data-workspace-pin-drop-target=""')
|
||||
expect(markup).toContain('data-repo-header-collapse-affordance=""')
|
||||
expect(markup).toContain('aria-expanded="true"')
|
||||
})
|
||||
|
||||
it('renders collapsed pinned section header affordance state', async () => {
|
||||
setPinnedFixtureState()
|
||||
mockStore.state = {
|
||||
...mockStore.state,
|
||||
collapsedGroups: new Set(['pinned'])
|
||||
}
|
||||
const markup = await renderWorktreeListMarkup()
|
||||
|
||||
expect(markup).toContain('data-workspace-pin-drop-target=""')
|
||||
expect(markup).toContain('data-repo-header-collapse-affordance=""')
|
||||
expect(markup).toContain('aria-expanded="false"')
|
||||
expect(markup).toContain('-rotate-90')
|
||||
})
|
||||
|
||||
it('renders a collapse chevron on grouped repo headers with worktrees', async () => {
|
||||
setLineageFixtureState('repo')
|
||||
const markup = await renderWorktreeListMarkup()
|
||||
|
||||
@@ -4196,10 +4196,13 @@ const VirtualizedWorktreeViewport = React.memo(function VirtualizedWorktreeViewp
|
||||
projectGroupPathStatus.reason === 'ambiguous-connection')
|
||||
const projectGroupDepth = row.projectGroupDepth ?? 0
|
||||
const isHeaderCollapsed = collapsedGroups.has(row.key)
|
||||
// Why: repo/project and status headers share compact section chrome; flat "All" stays a simple label.
|
||||
// Why: repo/project/status/pinned share compact section chrome; flat "All" stays a simple label.
|
||||
const showHeaderCollapseAffordance =
|
||||
row.count > 0 &&
|
||||
(isRepoHeader || isProjectGroupHeader || headerWorkspaceStatus !== null)
|
||||
(isRepoHeader ||
|
||||
isProjectGroupHeader ||
|
||||
headerWorkspaceStatus !== null ||
|
||||
isPinnedHeader)
|
||||
// Why: non-project headers like "All" are flat-list labels; don't reserve project hierarchy indent.
|
||||
const headerPaddingLeft =
|
||||
isRepoHeader || isProjectGroupHeader
|
||||
|
||||
Reference in New Issue
Block a user