Avoid direct references to (Dark) variant name in BaseGame, Analyse and Board
[vchess.git] / client / src / views / Rules.vue
index 4daebf9..8ac03a9 100644 (file)
@@ -4,18 +4,36 @@ main
     .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
       .button-group
         button(@click="clickReadRules()") {{ st.tr["Rules"] }}
-        button(v-show="!gameInProgress" @click="startGame('auto')")
+        button(
+          v-show="!gameInProgress"
+          @click="startGame('auto')"
+        )
           | {{ st.tr["Example game"] }}
-        button(v-show="!gameInProgress" @click="startGame('versus')")
+        button(
+          v-show="!gameInProgress"
+          @click="startGame('versus')"
+        )
           | {{ st.tr["Practice"] }}
-        button(v-show="gameInProgress" @click="stopGame()")
+        button(
+          v-show="gameInProgress"
+          @click="stopGame()"
+        )
           | {{ st.tr["Stop game"] }}
-        button(v-if="display=='rules' && gameInfo.vname!='Dark'"
-            @click="gotoAnalyze()")
+        button(
+          v-if="showAnalyzeBtn"
+          @click="gotoAnalyze()"
+        )
           | {{ st.tr["Analyse"] }}
-      div(v-show="display=='rules'" v-html="content")
-  ComputerGame(v-show="display=='computer'" :game-info="gameInfo"
-    @game-over="stopGame" @game-stopped="gameStopped")
+      div(
+        v-show="display=='rules'"
+        v-html="content"
+      )
+  ComputerGame(
+    v-show="display=='computer'"
+    :game-info="gameInfo"
+    @game-over="stopGame"
+    @game-stopped="gameStopped"
+  )
 </template>
 
 <script>
@@ -51,6 +69,9 @@ export default {
     this.re_setVariant(this.$route.params["vname"]);
   },
   computed: {
+    showAnalyzeBtn: function() {
+      return (this.display=='rules' && (!window.V || V.CanAnalyse));
+    },
     content: function() {
       if (!this.gameInfo.vname) return ""; //variant not set yet
       // (AJAX) Request to get rules content (plain text, HTML)