summaryrefslogtreecommitdiff
path: root/packages/web-util/src/index.browser.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/web-util/src/index.browser.ts')
-rw-r--r--packages/web-util/src/index.browser.ts38
1 files changed, 38 insertions, 0 deletions
diff --git a/packages/web-util/src/index.browser.ts b/packages/web-util/src/index.browser.ts
new file mode 100644
index 000000000..514a2ec42
--- /dev/null
+++ b/packages/web-util/src/index.browser.ts
@@ -0,0 +1,38 @@
+
+//`ws://localhost:8003/socket`
+export function setupLiveReload(wsURL: string | undefined) {
+ if (!wsURL) return;
+ const ws = new WebSocket(wsURL);
+ ws.addEventListener('message', (message) => {
+ const event = JSON.parse(message.data);
+ if (event.type === "LOG") {
+ console.log(event.message);
+ }
+ if (event.type === "RELOAD") {
+ window.location.reload();
+ }
+ if (event.type === "UPDATE") {
+ const c = document.getElementById("container")
+ if (c) {
+ document.body.removeChild(c);
+ }
+ const d = document.createElement("div");
+ d.setAttribute("id", "container");
+ d.setAttribute("class", "app-container");
+ document.body.appendChild(d);
+ const s = document.createElement("script");
+ s.setAttribute("id", "code");
+ s.setAttribute("type", "application/javascript");
+ s.textContent = atob(event.content);
+ document.body.appendChild(s);
+ }
+ });
+ ws.onerror = (error) => {
+ console.error(error);
+ };
+ ws.onclose = (e) => {
+ setTimeout(setupLiveReload, 500);
+ };
+}
+
+export { renderStories, parseGroupImport } from "./stories.js"