diff --git a/src/cli/ui/cards/ReasoningCard.tsx b/src/cli/ui/cards/ReasoningCard.tsx index 56cf75f..43ca984 100644 --- a/src/cli/ui/cards/ReasoningCard.tsx +++ b/src/cli/ui/cards/ReasoningCard.tsx @@ -103,7 +103,15 @@ interface BodyProps { function StreamingPreview({ card, allLines, lineCells }: BodyProps): React.ReactElement { const visualLines = allLines.flatMap((l) => wrapToCells(l, lineCells)); const visible = visualLines.slice(-STREAMING_PREVIEW_LINES); - return ; + const padCount = Math.max(0, STREAMING_PREVIEW_LINES - visible.length); + return ( + <> + + {Array.from({ length: padCount }, (_, i) => ( + + ))} + + ); } function SettledPreview({ card, allLines, lineCells }: BodyProps): React.ReactElement { diff --git a/src/cli/ui/cards/StreamingCard.tsx b/src/cli/ui/cards/StreamingCard.tsx index 6778424..3ca14cb 100644 --- a/src/cli/ui/cards/StreamingCard.tsx +++ b/src/cli/ui/cards/StreamingCard.tsx @@ -37,6 +37,8 @@ export function StreamingCard({ card }: { card: StreamingCardData }): React.Reac const allLines = card.text.length > 0 ? card.text.split("\n") : [""]; const visualLines = allLines.flatMap((l) => wrapToCells(l, lineCells)); const visible = visualLines.slice(-STREAMING_PREVIEW_LINES); + const padCount = Math.max(0, STREAMING_PREVIEW_LINES - visible.length); + const startIndex = allLines.length - visible.length; return ( @@ -50,14 +52,13 @@ export function StreamingCard({ card }: { card: StreamingCardData }): React.Reac )} {visible.map((line, i) => ( - + {clipToCells(line, lineCells)} ))} + {Array.from({ length: padCount }, (_, i) => ( + + ))} {card.aborted && ( {"[truncated by esc]"}