X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=d36c6326a31bd9eb7f32a11962d7fb38fadb5b39;hb=f44fd3bf754c113aa6b9ab241cbf24933877ae31;hp=f64c68f47d1aef1a69e6f695d71d2e5f8cbc6032;hpb=77c5096644d83aaae8ab1dd42a5cde524507cf9d;p=vchess.git diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index f64c68f4..d36c6326 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -29,7 +29,7 @@ div#baseGame(tabindex=-1 @click="() => focusBg()" #pgnDiv #downloadDiv(v-if="game.vname!='Dark' || game.score!='*'") a#download(href="#") - button(@click="download") {{ st.tr["Download PGN"] }} + button(@click="download") {{ st.tr["Download"] }} PGN button(onClick="doClick('modalAdjust')") ⤢ button(v-if="game.vname!='Dark' && game.mode!='analyze'" @click="analyzePosition") @@ -222,6 +222,7 @@ export default { const L = this.moves.length; this.cursor = L-1; this.lastMove = (L > 0 ? this.moves[L-1] : null); + this.incheck = []; }, analyzePosition: function() { const newUrl = "/analyze/" + this.game.vname + @@ -272,12 +273,18 @@ export default { }, animateMove: function(move, callback) { let startSquare = document.getElementById(getSquareId(move.start)); + // TODO: error "flush nextTick callbacks" when observer reloads page: + // this late check is not a fix! + if (!startSquare) + return; let endSquare = document.getElementById(getSquareId(move.end)); let rectStart = startSquare.getBoundingClientRect(); let rectEnd = endSquare.getBoundingClientRect(); let translation = {x:rectEnd.x-rectStart.x, y:rectEnd.y-rectStart.y}; let movingPiece = document.querySelector("#" + getSquareId(move.start) + " > img.piece"); + if (!movingPiece) //TODO: shouldn't happen + return; // HACK for animation (with positive translate, image slides "under background") // Possible improvement: just alter squares on the piece's way... const squares = document.getElementsByClassName("board");