// hooks/useTerminalSize.js import { useState, useEffect } from 'react'; import { useStdout } from 'ink'; export function useTerminalSize() { const { stdout } = useStdout(); const [size, setSize] = useState({ width: stdout.columns, height: stdout.rows }); useEffect(() => { if (!stdout) return; function onResize() { setSize({ width: stdout.columns, height: stdout.rows }); } stdout.on('resize', onResize); return () => { stdout.off('resize', onResize); }; }, [stdout]); return size; }