Skip to content

feat(ui): scroll lock fix + org-grouped accordion for 6+ orgs#54

Merged
wgordon17 merged 4 commits intogordon-code:mainfrom
wgordon17:worktree-ux-improvements
Apr 7, 2026
Merged

feat(ui): scroll lock fix + org-grouped accordion for 6+ orgs#54
wgordon17 merged 4 commits intogordon-code:mainfrom
wgordon17:worktree-ux-improvements

Conversation

@wgordon17
Copy link
Copy Markdown
Member

Summary

  • Preserves scroll position on repo lock/move/unlock via withScrollLock helper in RepoLockControls
  • Adds conditional org-grouped accordion to repo picker when 6+ orgs with exclusive open, CSS grid transition, a11y (aria-expanded, aria-controls, role=region, inert), and per-org Select All/Deselect All
  • Adds 14 new tests (1561 total, 70 files, typecheck clean)

- extracts withScrollLock to shared src/app/lib/scroll.ts with try/finally
- adds withFlipAnimation (200ms ease-in-out, reduced-motion fallback)
- replaces instant repo pin/move with FLIP animation via data-repo-group attrs
- preserves scroll position on timed poll refresh in DashboardPage
- refactors accordion: single bordered unit, inline Select/Deselect in header bar,
  loading spinner on collapsed headers, orgId sanitization for DOM IDs
- refactors orgContent closure (removes isAccordion check), Show+fallback pattern
- adds 12 new tests (1573 total, 71 files, typecheck clean)
- Replaces custom accordion with @kobalte/core Accordion (aria, keyboard
  nav, heading semantics via h3)
- Extracts OrgContent sub-component for SolidJS reactivity isolation
- Fixes FLIP animation scroll preservation (reads-before-writes pattern)
- Fixes accordion default expansion mid-load shift (stable initial value)
- Uses unfiltered selectedCount in accordion badge
- Adds fill-mode: forwards to accordion CSS animation
- Adds 8 new tests (1580 total): FLIP rAF callback with call-order
  assertion, accordion threshold transitions, loading/error states,
  selectedCount filter invariant
@wgordon17 wgordon17 merged commit 534a7b4 into gordon-code:main Apr 7, 2026
1 check passed
@wgordon17 wgordon17 deleted the worktree-ux-improvements branch April 8, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant