switch disposing logic (not working)

This commit is contained in:
Ishaan Dey
2024-05-08 01:04:03 -07:00
parent d0fd95bf13
commit 116cd20441
2 changed files with 35 additions and 19 deletions

View File

@ -23,6 +23,9 @@ export default function EditorTerminal({
useEffect(() => {
if (!terminalRef.current) return;
console.log("new terminal", id, term ? "reusing" : "creating");
if (term) return;
const terminal = new Terminal({
cursorBlink: true,
@ -31,32 +34,34 @@ export default function EditorTerminal({
},
fontFamily: "var(--font-geist-mono)",
fontSize: 14,
lineHeight: 1.5,
letterSpacing: 0,
});
setTerm(terminal);
return () => {
if (terminal) terminal.dispose();
};
}, []);
// return () => {
// if (terminal) terminal.dispose();
// };
}, [id]);
useEffect(() => {
if (!term) return;
console.log("A");
if (terminalRef.current) {
const fitAddon = new FitAddon();
term.loadAddon(fitAddon);
term.open(terminalRef.current);
console.log("B");
fitAddon.fit();
setTerm(term);
// setTerm(term);
}
const disposable = term.onData((data) => {
console.log("terminalData", id, data);
socket.emit("terminalData", id, data);
});
// socket.emit("terminalData", "\n");
return () => {
disposable.dispose();
};