import { useEffect, useRef } from "react";
import { useV5Console, useV5Snapshot } from "@v5x/web/react";
export function ProgramConsole() {
const { connected } = useV5Snapshot();
const console = useV5Console();
const output = useRef<HTMLPreElement>(null);
useEffect(() => {
const element = output.current;
if (element) element.scrollTop = element.scrollHeight;
}, [console.chunks]);
return (
<section>
<button
disabled={!connected || console.streaming}
onClick={console.start}
>
Start
</button>
<button disabled={!console.streaming} onClick={console.stop}>
Stop
</button>
<button onClick={console.clear}>Clear</button>
<pre ref={output}>{console.text}</pre>
</section>
);
}