From 8fdce1b98765e23b8953ba9e0f173c544bf04278 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Tue, 15 Apr 2025 22:10:10 -0400 Subject: works! --- src/UI.js | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'src/UI.js') diff --git a/src/UI.js b/src/UI.js index 044eba9..59ab106 100644 --- a/src/UI.js +++ b/src/UI.js @@ -50,15 +50,30 @@ export const _onInput = (el) => (f) => () => { }); }; +let SOCKET = null; +function connectRefreshSocket(url, iframe) { + if (!SOCKET) { + SOCKET = new WebSocket(url); + SOCKET.addEventListener("open", (ev) => { + console.log("connected"); + }); + SOCKET.addEventListener("close", (ev) => { + console.log("closed"); + SOCKET = null; + }); + SOCKET.addEventListener("error", (ev) => { + console.log("error"); + SOCKET = null; + }); + const select = document.getElementById("lcolonq-gizmo-select"); + SOCKET.addEventListener("message", async (ev) => { + console.log(`incoming: ${ev.data}`) + if (select.value == ev.data) { + iframe.src = iframe.src; + } + }); + } +}; export const _startBufferRefresh = (url) => (iframe) => () => { - const socket = new WebSocket(url); - socket.addEventListener("open", (ev) => { - console.log("connected"); - }); - const select = document.getElementById("lcolonq-gizmo-select"); - socket.addEventListener("message", async (ev) => { - if (select.value == ev.data) { - iframe.src = iframe.src; - } - }); + window.setInterval(() => connectRefreshSocket(url, iframe), 1000); }; -- cgit v1.2.3