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,
h('button',
{
on: { click: this.undoInGame },
- attrs: { "aria-label": trnaslations['Undo'] },
+ attrs: { "aria-label": translations['Undo'] },
"class": {
"play": true,
"spaceleft": true,
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,
{
attrs: { "id": "titleFenedit" },
"class": { "section": true },
- domProps: { innerHTML: translations["Position + flags (FEN):"] },
+ domProps: { innerHTML: translations["Game state (FEN):"] },
}
),
h('input',
// 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
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);
{
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}));
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;
}
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");
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];