X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fcomponents%2FBaseGame.vue;h=3573643d22a694219dfb8d6f6b875017679419cd;hb=1c5bfdf23707e893735f185786e9774b2270ace1;hp=c52f94c8a1193c70c494f3cf1e19f520657165db;hpb=8477e53d8e78606e4c4e4bf91c77b1011aab583c;p=vchess.git diff --git a/client/src/components/BaseGame.vue b/client/src/components/BaseGame.vue index c52f94c8..3573643d 100644 --- a/client/src/components/BaseGame.vue +++ b/client/src/components/BaseGame.vue @@ -45,7 +45,7 @@ div#baseGame( #controls button(@click="gotoBegin()") << button(@click="undo()") < - button(@click="flip()") ⇅ + button(v-if="canFlip" @click="flip()") ⇅ button(@click="play()") > button(@click="gotoEnd()") >> #belowControls @@ -66,7 +66,8 @@ div#baseGame( | {{ st.tr["Rules"] }} #movesList MoveList( - v-if="showMoves" + v-if="showMoves != 'none'" + :show="showMoves" :score="game.score" :message="game.scoreMsg" :firstNum="firstMoveNumber" @@ -115,19 +116,35 @@ export default { }, computed: { showMoves: function() { - return this.game.score != "*" || (window.V && V.ShowMoves == "all"); + return this.game.score != "*" + ? "all" + : (this.vr ? this.vr.showMoves : "none"); }, showTurn: function() { - return this.game.score == '*' && window.V && V.ShowMoves != "all"; + return ( + this.game.score == '*' && + this.vr && + (this.vr.showMoves != "all" || !this.vr.canFlip) + ); }, turn: function() { - return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"]; + if (!this.vr) + return ""; + if (this.vr.showMoves != "all") + return this.st.tr[(this.vr.turn == 'w' ? "White" : "Black") + " to move"] + // Cannot flip: racing king or circular chess + return this.vr.movesCount == 0 && this.game.mycolor == "w" + ? this.st.tr["It's your turn!"] + : ""; }, canAnalyze: function() { - return this.game.mode != "analyze" && window.V && V.CanAnalyze; + return this.game.mode != "analyze" && this.vr && this.vr.canAnalyze; + }, + canFlip: function() { + return this.vr && this.vr.canFlip; }, allowDownloadPGN: function() { - return this.game.score != "*" || (window.V && V.ShowMoves == "all"); + return this.game.score != "*" || (this.vr && this.vr.showMoves == "all"); } }, created: function() { @@ -393,6 +410,7 @@ export default { this.vr.re_init(this.moves[index].fen); this.cursor = index; this.lastMove = this.moves[index]; + this.incheck = this.vr.getCheckSquares(this.vr.turn); }, gotoBegin: function() { if (this.cursor == -1) return; @@ -404,6 +422,7 @@ export default { this.cursor = -1; this.lastMove = null; } + this.incheck = this.vr.getCheckSquares(this.vr.turn); }, gotoEnd: function() { if (this.cursor == this.moves.length - 1) return; @@ -437,6 +456,7 @@ export default { #controls margin: 0 auto + text-align: center button display: inline-block width: 20%