Improve style, implement 'next' for corr games. TODO: rematch logic
[vchess.git] / client / src / views / Problems.vue
index 30d3356..a1c3e83 100644 (file)
@@ -2,7 +2,7 @@
 main
   input#modalNewprob.modal(
     type="checkbox"
-    @change="infoMsg=''"
+    @change="fenFocusIfOpened($event)"
   )
   div#newprobDiv(
     role="dialog"
@@ -56,7 +56,7 @@ main
         button.nomargin(@click="gotoPrevNext($event,curproblem,1)")
           | {{ st.tr["Previous"] }}
         button.nomargin(@click="gotoPrevNext($event,curproblem,-1)")
-          | {{ st.tr["Next"] }}
+          | {{ st.tr["Next_p"] }}
       p.oneInstructions.clickable(
         v-html="parseHtml(curproblem.instruction)"
         @click="curproblem.showSolution=!curproblem.showSolution"
@@ -99,7 +99,6 @@ main
   BaseGame(
     v-if="showOne"
     :game="game"
-    :vr="vr"
   )
 </template>
 
@@ -139,7 +138,6 @@ export default {
       onlyMines: false,
       showOne: false,
       infoMsg: "",
-      vr: null, //"variant rules" object initialized from FEN
       game: {
         players: [{ name: "Problem" }, { name: "Problem" }],
         mode: "analyze"
@@ -195,6 +193,12 @@ export default {
     }
   },
   methods: {
+    fenFocusIfOpened: function(event) {
+      if (event.target.checked) {
+        this.infoMsg = "";
+        document.getElementById("inputFen").focus();
+      }
+    },
     setVname: function(prob) {
       prob.vname = this.st.variants.find(v => v.id == prob.vid).name;
     },
@@ -280,9 +284,8 @@ export default {
     showProblem: function(p) {
       this.loadVariant(p.vid, () => {
         // The FEN is already checked at this stage:
-        this.vr = new V(p.fen);
         this.game.vname = p.vname;
-        this.game.mycolor = this.vr.turn; //diagram orientation
+        this.game.mycolor = V.ParseFen(p.fen).turn; //diagram orientation
         this.game.fen = p.fen;
         this.$set(this.game, "fenStart", p.fen);
         this.copyProblem(p, this.curproblem);