X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Fcomponents%2Fgame.js;h=88b193ffebd861893f521ab53e30df043e1b74fe;hb=e081ffe361b06ca74db0a36bf72dd73602abf57b;hp=e4b967484ebcc5ab8fac88031afc1a607b5afdcc;hpb=d289b0439d795580a6fcdc4b73521f246cd81450;p=vchess.git diff --git a/public/javascripts/components/game.js b/public/javascripts/components/game.js index e4b96748..88b193ff 100644 --- a/public/javascripts/components/game.js +++ b/public/javascripts/components/game.js @@ -52,7 +52,7 @@ Vue.component('my-game', { h('button', { on: { click: this.clickGameSeek }, - attrs: { "aria-label": translations['New online game'] }, + attrs: { "aria-label": translations['New live game'] }, 'class': { "tooltip": true, "play": true, @@ -415,7 +415,7 @@ Vue.component('my-game', { h('button', { on: { click: () => { this.mycolor = this.vr.getOppCol(this.mycolor) } }, - attrs: { "aria-label": translations['Flip'] }, + attrs: { "aria-label": translations['Flip board'] }, "class": { "play": true, "spaceleft": true, @@ -568,7 +568,7 @@ Vue.component('my-game', { { attrs: { "id": "titleFenedit" }, "class": { "section": true }, - domProps: { innerHTML: translations["Position + flags (FEN):"] }, + domProps: { innerHTML: translations["Game state (FEN):"] }, } ), h('input', @@ -1008,7 +1008,8 @@ Vue.component('my-game', { // We opened another tab on the same game this.mode = "idle"; this.vr = null; - alert("Already playing a game in this variant on another tab!"); + alert(translations[ + "Already playing a game in this variant on another tab!"]); break; case "newgame": //opponent found // oppid: opponent socket ID @@ -1210,6 +1211,7 @@ Vue.component('my-game', { delete localStorage[prefix+"score"]; }, // HACK because mini-css tooltips are persistent after click... + // NOTE: seems to work only in chrome/chromium. TODO... getRidOfTooltip: function(elt) { elt.style.visibility = "hidden"; setTimeout(() => { elt.style.visibility="visible"; }, 100); @@ -1278,7 +1280,10 @@ Vue.component('my-game', { { const storageVariant = localStorage.getItem("variant"); if (!!storageVariant && storageVariant !== variant) - return alert("Finish your " + storageVariant + " game first!"); + { + return alert(translations["Finish your "] + + storageVariant + translations[" game first!"]); + } // Send game request and wait.. try { this.conn.send(JSON.stringify({code:"newgame", fen:fen})); @@ -1304,8 +1309,8 @@ Vue.component('my-game', { const score = localStorage.getItem("comp-score"); if (storageVariant !== variant && score == "*") { - if (!confirm("Unfinished " + storageVariant + - " computer game will be erased")) + if (!confirm(storageVariant + + translations[": unfinished computer game will be erased"])) { return; } @@ -1352,6 +1357,7 @@ Vue.component('my-game', { const fen = localStorage.getItem(prefix+"fen"); const score = localStorage.getItem(prefix+"score"); //set in "endGame()" this.fenStart = localStorage.getItem(prefix+"fenStart"); + this.vr = new VariantRules(fen, moves); if (mode == "human") { this.gameId = localStorage.getItem("gameId"); @@ -1360,8 +1366,11 @@ Vue.component('my-game', { code:"ping",oppid:this.oppid,gameId:this.gameId})); } else + { this.compWorker.postMessage(["init",fen]); - this.vr = new VariantRules(fen, moves); + if (this.mycolor != this.vr.turn) + this.playComputerMove(); + } if (moves.length > 0) { const lastMove = moves[moves.length-1];