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]"}