Prepare some more variants (unfinished)
[vchess.git] / public / javascripts / variant.js
index f9d23d8..819bf90 100644 (file)
@@ -1,7 +1,28 @@
 new Vue({
        el: "#variantPage",
-       data: { display: "" }, //do not show anything...
-       // TODO: listen event "show problem", avec le probleme stringifié en arg
-       // Alors: display=game, mode=friend, newGame(fen, turn, ...),
-       //   et set Instructions+Soluce
+       data: {
+               display: "play", //default: play!
+               problem: undefined, //current problem in view
+       },
+       created: function() {
+               const url = window.location.href;
+               const hashPos = url.indexOf("#");
+               if (hashPos >= 0)
+                       this.setDisplay(url.substr(hashPos+1));
+       },
+       methods: {
+               showProblem: function(problemTxt) {
+                       this.problem = JSON.parse(problemTxt);
+                       this.display = "play";
+               },
+               setDisplay: function(elt) {
+                       this.display = elt;
+                       let menuToggle = document.getElementById("drawer-control");
+                       if (!!menuToggle)
+                               menuToggle.checked = false;
+               },
+               notDark: function() {
+                       return variant != "Dark";
+               },
+       },
 });