X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=app.js;h=676b8955e9f1bbbb4117c55f18e24e500eace5f3;hb=3c61449b830db29c95d82cdacc4dae710cc705a8;hp=a6ee234aed96c204a2d7dd1ba63a46b5a1fdaa5b;hpb=e5f9342704d2a453c3cd2f84e31b1ea384b2d03d;p=xogo.git diff --git a/app.js b/app.js index a6ee234..676b895 100644 --- a/app.js +++ b/app.js @@ -86,8 +86,9 @@ function cancelSeek() { if (send("cancelseek", {vname: seek_vname})) toggleVisible("newGame"); } -function sendRematch() { - if (send("rematch", {gid: gid})) toggleVisible("pendingRematch"); +function sendRematch(random) { + if (send("rematch", {gid: gid, random: !!random})) + toggleVisible("pendingRematch"); } function cancelRematch() { if (send("norematch", {gid: gid})) toggleVisible("newGame"); @@ -103,7 +104,7 @@ function showNewGameForm() { toggleVisible("newGameForm"); import(`/variants/${vname}/class.js`).then(module => { window.V = module.default; - V.Aliases.forEach(e => window[e.key] = e.val); + for (const [k, v] of Object.entries(V.Aliases)) window[k] = v; prepareOptions(); }); } @@ -397,7 +398,8 @@ connectToWSS(); // Playing function toggleTurnIndicator(myTurn) { - let indicator = $.getElementById("chessboard"); + let indicator = + $.getElementById("boardContainer").querySelector(".chessboard"); if (myTurn) indicator.style.outline = "thick solid green"; else indicator.style.outline = "thick solid lightgrey"; } @@ -448,7 +450,7 @@ function initializeGame(obj) { const options = obj.options || {}; import(`/variants/${obj.vname}/class.js`).then(module => { window.V = module.default; - V.Aliases.forEach(e => window[e.key] = e.val); + for (const [k, v] of Object.entries(V.Aliases)) window[k] = v; // Load CSS. Avoid loading twice the same stylesheet: const allIds = [].slice.call($.styleSheets).map(s => s.id); const newId = obj.vname + "_css"; @@ -479,11 +481,11 @@ function initializeGame(obj) { -
`; +
`; vr = new V({ seed: obj.seed, //may be null if FEN already exists (running game) fen: obj.fen, - element: "chessboard", + element: "boardContainer", color: playerColor, afterPlay: afterPlay, options: options