diff --git a/src/ImageBuilder.jsx b/src/ImageBuilder.jsx index f98b3a1..b773cb1 100644 --- a/src/ImageBuilder.jsx +++ b/src/ImageBuilder.jsx @@ -54,7 +54,10 @@ async function buildImage(repo, ref, term, fitAddon) { function ImageLogs({ setTerm, setFitAddon, name }) { const terminalId = `${name}--terminal`; + const observedElementRef = useRef(null); + useEffect(() => { + let observer; async function setup() { const { Terminal } = await import("xterm"); const { FitAddon } = await import("xterm-addon-fit"); @@ -75,12 +78,24 @@ function ImageLogs({ setTerm, setFitAddon, name }) { setTerm(term); setFitAddon(fitAddon); term.write("Logs will appear here when image is being built"); + + if (observedElementRef.current) { + observer = new ResizeObserver(() => { + console.log("resize"); + fitAddon.fit(); + }); + observer.observe(observedElementRef.current); + } } setup(); + + return () => { + if (observer) observer.disconnect(); + } }, []); return ( -