diff --git a/.changeset/neat-rows-dispatch.md b/.changeset/neat-rows-dispatch.md new file mode 100644 index 000000000..a845151cc --- /dev/null +++ b/.changeset/neat-rows-dispatch.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/packages/hunk/src/ui/diff/DiffRowView.tsx b/packages/hunk/src/ui/diff/DiffRowView.tsx index f4d0b722d..1da6c8f9b 100644 --- a/packages/hunk/src/ui/diff/DiffRowView.tsx +++ b/packages/hunk/src/ui/diff/DiffRowView.tsx @@ -10,71 +10,6 @@ import { DiffMetaRowView, type PlannedDiffMetaReviewRow } from "./DiffMetaRowVie import type { DiffRow } from "./diffRows"; import type { LineHighlightPaintIndex } from "./lineHighlightPaint"; -/** Dispatch one planned diff row to its focused metadata or code view. */ -function renderRow( - plannedRow: PlannedDiffReviewRow, - width: number, - lineNumberDigits: number, - showLineNumbers: boolean, - showHunkHeaders: boolean, - wrapLines: boolean, - codeHorizontalOffset: number, - theme: AppTheme, - selected: boolean, - copySelectedRowRange: CopySelectedRowRange | undefined, - copySelectedSide: "left" | "right" | undefined, - cursorHighlight: CursorHighlight | undefined, - lineHighlights: LineHighlightPaintIndex | undefined, - showAddNoteBadge = false, - onHoverRow?: (rowKey: string) => void, - onStartUserNoteAtHunk?: (hunkIndex: number, target?: UserNoteLineTarget) => void, - onToggleGap?: (gapKey: string) => void, -) { - if (plannedRow.row.type === "collapsed" || plannedRow.row.type === "hunk-header") { - return ( - - ); - } - - if (plannedRow.row.type === "split-line" || plannedRow.row.type === "stack-line") { - return ( - - ); - } - - return ( - - Unsupported row. - - ); -} - /** Inputs accepted by the memoized diff-row facade. */ export interface DiffRowViewProps { /** Complete review-stream row; preferred when the caller owns the shared render plan. */ @@ -137,23 +72,53 @@ export const DiffRowView = memo(function DiffRowViewComponent({ return null; } - return renderRow( - resolvedPlannedRow, - width, - lineNumberDigits, - showLineNumbers, - showHunkHeaders, - wrapLines, - codeHorizontalOffset, - theme, - selected, - copySelectedRowRange, - copySelectedSide, - cursorHighlight, - lineHighlights, - showAddNoteBadge, - onHoverRow, - onStartUserNoteAtHunk, - onToggleGap, + if ( + resolvedPlannedRow.row.type === "collapsed" || + resolvedPlannedRow.row.type === "hunk-header" + ) { + return ( + + ); + } + + if ( + resolvedPlannedRow.row.type === "split-line" || + resolvedPlannedRow.row.type === "stack-line" + ) { + return ( + + ); + } + + return ( + + Unsupported row. + ); });