Draft code reorganisation (+ fix Alice rules + stateless VariantRules object)
[vchess.git] / views / index.pug
index 4be9cf9..5d27eb8 100644 (file)
@@ -5,89 +5,34 @@ block css
 
 block content
        .container#indexPage
+               case lang
+                       when "en"
+                               include welcome/en
+                       when "es"
+                               include welcome/es
+                       when "fr"
+                               include welcome/fr
                .row
-                       .col-sm-12
-                               h1.text-center(style="font-style:italic") Welcome to v[ariant] chess club !
-                               h2.text-center
-                                       span.help(onClick="document.getElementById('modal-help').checked=true") Help ? 
-                                       a(href="/demo.webm") Demo !
-                               input#modal-help.modal(type="checkbox")
-                               div(role="dialog")
-                                       .card
-                                               label.modal-close(for="modal-help")
-                                               h3.blue.section Modes
-                                               p.section.
-                                                       Each variant page offers two modes: against a human or computer opponent,
-                                                       which is here to help learning the rules.
-                                               h3.blue.section Comments
-                                               p.section.
-                                                       All games start with a random assymetric position. #[br]
-                                                       Games are untimed, and played anonymously. #[br]
-                                                       No chat, to rather focus on the moves :)
-                                               h3.red.section Bug report
-                                               p.section.
-                                                       If you find a bug in a game, please follow this procedure: #[br]
-                                                       1. stop playing: click on the resign button; #[br]
-                                                       2. click on the PGN to download it; #[br]
-                                                       3. send an email to
-                                                       #[a(href="mailto:contact@vchess.club?subject=[vchess.club] bug report") contact@vchess.club]
-                                                       with relevant comments and the PGN attached. Thank you!
-                               input#modal-welcome.modal(type="checkbox")
-                               div(role="dialog")
-                                       #welcome.card.text-center
-                                               label.modal-close(for="modal-welcome")
-                                               h3.blue.section Welcome to vchess.club!
-                                               .section
-                                                       p A fun place to play chess variants in real time!
-                                                       p But wait... what is a chess variant?
-                                                       img(src="/images/Hexagonal_chess.svg")
-                                                       p.
-                                                               As suggested by the picture, a variant setup generally
-                                                               looks more or less like a chessboard with regular pieces
-                                                               (otherwise it's no longer a variant but a whole new game!).
-                                                       p(style="font-style:italic;color:purple") However...
-                                                       p Each variant has its own new rules, which can involve
-                                                       table.list-table
-                                                               tbody
-                                                                       tr
-                                                                               td * different pieces movements
-                                                                       tr
-                                                                               td * different chessboard(s)
-                                                                       tr
-                                                                               td * new pieces
-                                                                       tr
-                                                                               td * moves side effects
-                                                                       tr
-                                                                               td ...and so on
-                                               .section
-                                                       p.
-                                                               Example: imagine that a capture is an atomic explosion, wiping all adjacent squares
-                                                               – except the pawns, which as cockroaches can resist this kind of event.
-                                                       p Also state a goal: make the opponent's king explode.
-                                                       p → Congrats, you defined Atomic chess! (Playable here)
-                                               .section
-                                                       p(style="font-style:italic;color:purple") OK, this all sounds interesting, but why would that be fun?
-                                                       p.
-                                                               Because all games here start with a random setup: no more boring
-                                                               openings memorization, you have to rely on your chess skills only :)
-                                                       p Moreover, I claim that the chosen variants here are fun to play :P
-                                                       p.
-                                                               For informations about hundreds (if not thousands!) of variants, you
-                                                               can visit the excellent #[a(href="https://www.chessvariants.com/") chessvariants] website.
-                                               p(style="cursor:pointer;color:darkgrey" onClick="setCookie('visited','1');document.getElementById('modal-welcome').checked=false") Do not annoy me again!
-                                               p(style="font-size:0.8em") Image credit: #[a(href="https://en.wikipedia.org/wiki/List_of_chess_variants#/media/File:Hexagonal_chess.svg") Wikpedia]
+                       #header.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
+                               #mainTitle.clickable(
+                                               onClick="document.getElementById('modalWelcome').checked=true")
+                                       img(src="/images/index/unicorn.svg")
+                                       .info-container
+                                               p vchess.club
+                                       img(src="/images/index/wildebeest.svg")
+                               #settings.clickable(
+                                               onClick="document.getElementById('modalSettings').checked=true")
+                                       i.material-icons settings
                .row
-                       my-variant-summary(
-                               v-for="(v,idx) in sortedCounts",
-                               v-show="v.name.startsWith(curPrefix)",
-                               v-bind:vobj="v",
-                               v-bind:key="v.name")
+                       my-variant-summary(v-for="(v,idx) in sortedCounts"
+                               v-bind:vobj="v" v-bind:index="idx" v-bind:key="v.name")
+
+                                       redesign index page :: lien github, lien contact mail, settings
 
 block javascripts
        script.
                const variantArray = !{JSON.stringify(variantArray)};
-               //JSON.parse("!{variantArray}".replace(/\"/g,'"'));
        script(src="/javascripts/utils/misc.js")
-       script(src="/javascripts/utils/socket_url.js")
+       script(src="/javascripts/socket_url.js")
        script(src="/javascripts/components/variantSummary.js")
        script(src="/javascripts/index.js")