feat(01-04): add TanStack Virtual list virtualization and keyboard navigation hook

- Install @tanstack/react-virtual for virtualized list rendering
- Create useRovingTabIndex hook in src/renderer/lib/keyboard.ts for arrow-key navigation
- Add virtualization to 6 lists: TaskQueue, ApprovalList, ActivityList, CostList, AgentRoster, MessageList
- MessageList uses measureElement for variable-height message items with auto-scroll
- All 6 lists have role="listbox" with role="option" on rows for accessibility
- All 6 lists support ArrowDown/ArrowUp/j/k/Home/End keyboard navigation
- Add 8 unit tests for useRovingTabIndex covering all key bindings and edge cases
This commit is contained in:
ZacharyZhang-NY committed 2026-03-22 02:08:43 -04:00
1 parent 7ff8dc70a2
commit d77486504d
10 files changed
+761 -175

No files matched your search

+1
View File
@@ -32,6 +32,7 @@
"@agentcompany/adapter-utils": "workspace:*",
"@fontsource-variable/jetbrains-mono": "5.2.8",
"@phosphor-icons/react": "2.1.10",
"@tanstack/react-virtual": "^3.13.23",
"clsx": "2.1.1",
"electron-log": "5.4.3",
"electron-updater": "6.8.3",