src/browser/components/pr-review.tsx is 4,361 lines — well above the 500-line threshold. It mixes diff viewing, keyboard navigation, virtualizer logic, and data loading in one file.
Goal
Reduce pr-review.tsx to under 800 lines by extracting distinct concerns into separate files.
Planned sub-tasks
- Extract
DiffViewer as a separate component
- Extract keyboard navigation and virtualizer logic into a
useDiffNavigation hook
Tracking issue — do not implement directly. See sub-issues.
src/browser/components/pr-review.tsxis 4,361 lines — well above the 500-line threshold. It mixes diff viewing, keyboard navigation, virtualizer logic, and data loading in one file.Goal
Reduce
pr-review.tsxto under 800 lines by extracting distinct concerns into separate files.Planned sub-tasks
DiffVieweras a separate componentuseDiffNavigationhookTracking issue — do not implement directly. See sub-issues.