extends layout
block css
- link(rel="stylesheet", href="//fonts.googleapis.com/icon?family=Material+Icons")
- link(rel="stylesheet", href="/stylesheets/variant.css")
+ link(rel="stylesheet" href="/stylesheets/variant.css")
block content
- .container#variantPage
+ include modalSettings
+ .container
.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") #{variant} Rules
- my-rules(v-show="displayRules")
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- my-game
+ label.drawer-toggle(for="drawer-control")
+ input#drawer-control.drawer(type="checkbox")
+ #menuBar
+ label.drawer-close(for="drawer-control")
+ a.icon-link(href="/")
+ i.material-icons home
+ a(href="#room")
+ =translations["Hall"]
+ a(href="#tabGames")
+ =translations["My games"]
+ a(href="#rules")
+ =translations["Rules"]
+ a(href="#problems")
+ =translations["Problems"]
+ #flagMenu.clickable(onClick="doClick('modalLang')")
+ img(src="/images/flags/" + lang + ".svg")
+ #settings.clickable(onClick="doClick('modalSettings')")
+ i.material-icons settings
+ include userMenu
+ .row
+ my-room(v-show="display=='room'" :conn="conn" :settings="settings")
+ my-tab-games(v-show="display=='tabGames'")
+ my-rules(v-show="display=='rules'" :settings="settings")
+ my-problems(v-show="display=='problems'" :prob-id="probId" :settings="settings")
+ my-game(v-show="display=='game'" :game-ref="gameRef" :conn="conn"
+ :allow-chat="allowChat" :allow-movelist="allowMovelist"
+ :mode="mode" :settings="settings" @game-over="archiveGame")
block javascripts
- script(src="/javascripts/utils/misc.js")
- script(src="/javascripts/utils/socket_url.js")
- script(src="/javascripts/utils/array.js")
- script(src="/javascripts/base_rules.js")
- script(src="/javascripts/variants/" + variant + ".js")
+ script(src="/javascripts/utils/printDiagram.js")
+ script(src="/javascripts/utils/datetime.js")
+ script(src="/javascripts/utils/squareId.js")
+ script(src="/javascripts/socket_url.js")
+ script(src="/javascripts/variants/" + variant.name + ".js")
script.
- const VariantRules = #{variant}Rules;
- const variant = "#{variant}";
- script(src="/javascripts/components/rules.js")
+ const variant = !{JSON.stringify(variant)};
+ // Just 'V' because this variable is often used:
+ const V = eval(variant.name + "Rules");
+ script(src="/javascripts/components/board.js")
+ script(src="/javascripts/components/chat.js")
+ script(src="/javascripts/components/gameList.js")
+ script(src="/javascripts/components/challengeList.js")
+ script(src="/javascripts/components/moveList.js")
script(src="/javascripts/components/game.js")
- script.
- new Vue({
- el: "#variantPage",
- data: { displayRules: false },
- });
+ script(src="/javascripts/components/rules.js")
+ script(src="/javascripts/components/room.js")
+ script(src="/javascripts/components/tabGames.js")
+ script(src="/javascripts/components/problemSummary.js")
+ script(src="/javascripts/components/problems.js")
+ script(src="/javascripts/variant.js")