]> code.octet-stream.net Git - broadcaster/blobdiff - server/templates/index.html
Simplify package names
[broadcaster] / server / templates / index.html
diff --git a/server/templates/index.html b/server/templates/index.html
new file mode 100644 (file)
index 0000000..b688947
--- /dev/null
@@ -0,0 +1,39 @@
+    <script type="text/javascript">
+      function connectWebsocket() {
+        console.log("Attempting to create websocket connection for radio status sync")
+        const cookieValue = document.cookie
+          .split("; ")
+          .find((row) => row.startsWith("broadcast_session="))
+          ?.split("=")[1];
+        const socket = new WebSocket("/web-ws");
+        socket.addEventListener("open", (event) => {
+          socket.send(cookieValue);
+        });
+        socket.addEventListener("message", (event) => {
+          console.log("Received a status update from server")
+          const connected = document.getElementById('connected-radios');
+          connected.innerHTML = event.data;
+        });
+        socket.addEventListener("close", (event) => {
+          console.log("Websocket closed. Will retry in 10 seconds.")
+          setTimeout(connectWebsocket, 10000);
+        });
+      }
+      // initial connection on page load
+      connectWebsocket();
+    </script>
+
+      <h1>Welcome!</h1>
+      {{if .LoggedIn}}
+      <p>Your username is: {{.Username}}.</p>
+      <p><a href="/logout">Log Out</a></p>
+      {{else}}
+      <p><a href="/login">Log In</a></p>
+      {{end}}
+      <p><a href="/files/">File Management</a></p>
+      <p><a href="/playlists/">Playlist Management</a></p>
+      <p><a href="/radios/">Radio Management</a></p>
+      <h2>Connected Radios</h2>
+      <div id="connected-radios">
+        <i>Loading...</i>
+      </div>