summaryrefslogtreecommitdiff
path: root/server/web/game/game.js
diff options
context:
space:
mode:
Diffstat (limited to 'server/web/game/game.js')
-rw-r--r--server/web/game/game.js39
1 files changed, 39 insertions, 0 deletions
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()