Smaller margin for endGame message
[vchess.git] / client / src / components / BaseGame.vue
index 2c133fb..fdbd2c3 100644 (file)
@@ -274,6 +274,9 @@ export default {
           fen = mv[mv.length-1].fen;
         }
         this.vr = new V(fen);
+        this.incheck = this.vr.getCheckSquares();
+        if (this.cursor >= 0) this.lastMove = this.moves[this.cursor];
+        else this.lastMove = null;
         document.getElementById("analyzeBtn").classList.remove("active");
       }
     },
@@ -417,8 +420,23 @@ export default {
     play: function(move, received, light, noemit) {
       // Freeze while choices are shown:
       if (this.$refs["board"].choices.length > 0) return;
-      // The board may show some the possible moves: (TODO: bad solution)
-      this.$refs["board"].resetCurrentAttempt();
+      const navigate = !move;
+      // Forbid playing outside analyze mode, except if move is received.
+      // Sufficient condition because Board already knows which turn it is.
+      if (
+        this.mode != "analyze" &&
+        !navigate &&
+        !received &&
+        (this.game.score != "*" || this.cursor < this.moves.length - 1)
+      ) {
+        return;
+      }
+      if (!!received) {
+        if (this.mode == "analyze") this.toggleAnalyze();
+        if (this.cursor < this.moves.length - 1)
+          // To play a received move, cursor must be at the end of the game:
+          this.gotoEnd();
+      }
       if (!!noemit) {
         if (this.inPlay) {
           // Received moves in observed games can arrive too fast:
@@ -427,7 +445,8 @@ export default {
         }
         this.inPlay = true;
       }
-      const navigate = !move;
+      // The board may show some the possible moves: (TODO: bad solution)
+      this.$refs["board"].resetCurrentAttempt();
       const playSubmove = (smove) => {
         smove.notation = this.vr.getNotation(smove);
         smove.unambiguous = V.GetUnambiguousNotation(smove);
@@ -548,22 +567,6 @@ export default {
           return;
         }
       }
-      // Forbid playing outside analyze mode, except if move is received.
-      // Sufficient condition because Board already knows which turn it is.
-      if (
-        this.mode != "analyze" &&
-        !navigate &&
-        !received &&
-        (this.game.score != "*" || this.cursor < this.moves.length - 1)
-      ) {
-        return;
-      }
-      if (!!received) {
-        if (this.mode == "analyze") this.toggleAnalyze();
-        if (this.cursor < this.moves.length - 1)
-          // To play a received move, cursor must be at the end of the game:
-          this.gotoEnd();
-      }
       playMove();
     },
     cancelCurrentMultimove: function() {
@@ -657,6 +660,7 @@ export default {
 <style lang="sass" scoped>
 [type="checkbox"]#modalEog+div .card
   min-height: 45px
+  max-width: 350px
 
 #baseGame
   width: 100%