fix(tui): idle good-vibes heart no longer blanks the input's last cell

The heart was rendered as a literal space when inactive. Because it's
absolutely positioned at right:0 inside the composer row, that blank
still overpainted the rightmost input cell. On wrapped 2-line drafts,
editing near the boundary made the final visible character appear to
jump in/out as it crossed the overpainted column.

When inactive, render nothing; only mount the heart while it's actually
animating.
This commit is contained in:
Brooklyn Nicholson 2026-04-22 14:43:25 -05:00
parent 88993a468f
commit 1e8cfa9092

View file

@ -156,7 +156,11 @@ export function GoodVibesHeart({ tick, t }: { tick: number; t: Theme }) {
return () => clearTimeout(id)
}, [t.color.amber, tick])
return <Text color={color}>{active ? '♥' : ' '}</Text>
if (!active) {
return null
}
return <Text color={color}></Text>
}
export function StatusRule({