X-Git-Url: https://git.auder.net/?a=blobdiff_plain;ds=sidebyside;f=app.js;h=676b8955e9f1bbbb4117c55f18e24e500eace5f3;hb=3c61449b830db29c95d82cdacc4dae710cc705a8;hp=d8719404449b07742cdd54656f354814782a6c0a;hpb=f8b43ef764be4e90761aa20d99af79a7e1c32bdd;p=xogo.git diff --git a/app.js b/app.js index d871940..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,6 +104,7 @@ function showNewGameForm() { toggleVisible("newGameForm"); import(`/variants/${vname}/class.js`).then(module => { window.V = module.default; + for (const [k, v] of Object.entries(V.Aliases)) window[k] = v; prepareOptions(); }); } @@ -396,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"; } @@ -447,6 +450,7 @@ function initializeGame(obj) { const options = obj.options || {}; import(`/variants/${obj.vname}/class.js`).then(module => { window.V = module.default; + 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"; @@ -477,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