From 1f8364b145dbd0ff9ff7583f50aeb7498967b0f9 Mon Sep 17 00:00:00 2001 From: Ewy Date: Fri, 18 Sep 2026 15:06:59 +0200 Subject: add more stuff --- server/web/game/game.js | 39 +++++++++++++++++++++++++++++++++++++++ server/web/game/index.html | 40 ++++++++++++++++++++++++++++++++++++++++ server/web/game/style.css | 3 +++ 3 files changed, 82 insertions(+) create mode 100644 server/web/game/game.js create mode 100644 server/web/game/index.html create mode 100644 server/web/game/style.css (limited to 'server/web/game') diff --git a/server/web/game/game.js b/server/web/game/game.js new file mode 100644 index 0000000..5e71786 --- /dev/null +++ b/server/web/game/game.js @@ -0,0 +1,39 @@ +"use strict" +const showGame = (g) => { + const tmpl = document.querySelector("template#tmpl") + const disp = document.querySelector("#game") + const clone = document.importNode(tmpl.content, true) + doDistance(clone, g.Distance.Value) + disp.replaceChildren(clone) +}; + +const doDistance = (clone, value) => { + clone.querySelector(".distance").setAttribute("data-value", value); + [...clone.querySelectorAll(".distance .sakura")].map((n, i) => { + if (i < value) { + n.checked = true + } else { + n.checked = false + } + }) + +} + +const connect = (gameId) => { + const connection = new WebSocket(`/api/game/${gameId}/connect`); + window.socket = connection; + connection.addEventListener("message", (ev) => { + const game = JSON.parse(ev.data); + console.debug(game); + showGame(game); + document.querySelector("#game-json").innerText = + JSON.stringify(ev.data, null, 2); + }); +} + +const init = () => { + const id = window.location.hash.slice(1) + connect(id) +} + +init() diff --git a/server/web/game/index.html b/server/web/game/index.html new file mode 100644 index 0000000..414ff5c --- /dev/null +++ b/server/web/game/index.html @@ -0,0 +1,40 @@ + + + + + + + sakura | game + + + + +
+
+ Game state +

+            
+
+
+ + + + + + diff --git a/server/web/game/style.css b/server/web/game/style.css new file mode 100644 index 0000000..dd0e421 --- /dev/null +++ b/server/web/game/style.css @@ -0,0 +1,3 @@ +.hidden { + display: none; +} -- cgit v1.3.1