Play computer move in webworker to not freeze interface
[vchess.git] / views / variant.pug
index a44a374..d3581ae 100644 (file)
@@ -8,27 +8,35 @@ block content
        .container#variantPage
                .row
                        .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
-                               h4.rulesTitle.text-center(v-on:click="displayRules=!displayRules")
+                               h4.variantpage-title.text-center(v-on:click="toggleDisplay('rules')")
                                        | #{variant} Rules
-                               my-rules(v-show="displayRules")
+                               my-rules(v-show="display=='rules'")
                        .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
-                               my-game
+                               h4.variantpage-title.text-center(v-on:click="toggleDisplay('game')")
+                                       | #{variant} Game
+                               my-game(v-show="display=='game'" v-bind:problem="problem")
+                       .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
+                               h4.variantpage-title.text-center(v-on:click="toggleDisplay('problems')")
+                                       | #{variant} Problems
+                               my-problems(v-show="display=='problems'"
+                                       v-on:show-problem="showProblem($event)")
 
 block javascripts
        script(src="/javascripts/utils/misc.js")
        script(src="/javascripts/utils/socket_url.js")
        script(src="/javascripts/utils/array.js")
        script(src="/javascripts/utils/md5.js")
+       script(src="/javascripts/utils/printDiagram.js")
+       script(src="/javascripts/utils/ajax.js")
+       script(src="/javascripts/utils/datetime.js")
        script(src="/javascripts/base_rules.js")
        script(src="/javascripts/variants/" + variant + ".js")
        script.
-               const VariantRules = #{variant}Rules;
                const V = VariantRules; //because this variable is often used
                const variant = "#{variant}";
+               const problemArray = !{JSON.stringify(problemArray)};
        script(src="/javascripts/components/rules.js")
        script(src="/javascripts/components/game.js")
-       script.
-               new Vue({
-                       el: "#variantPage",
-                       data: { displayRules: false },
-               });
+       script(src="/javascripts/components/problemSummary.js")
+       script(src="/javascripts/components/problems.js")
+       script(src="/javascripts/variant.js")