doctype html
html
-
- head
- meta(charset="UTF-8")
- title vchess - club
- meta(name="viewport" content="width=device-width, initial-scale=1")
- meta(name="msapplication-config"
- content="/images/favicon/browserconfig.xml")
- meta(name="theme-color" content="#ffffff")
- link(rel="stylesheet"
- href="//cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.0/mini-default.min.css")
- link(rel="stylesheet"
- href="//fonts.googleapis.com/css?family=Open+Sans:400,700")
- link(rel="apple-touch-icon" sizes="180x180"
- href="/images/favicon/apple-touch-icon.png")
- link(rel="icon" type="image/png" sizes="32x32"
- href="/images/favicon/favicon-32x32.png")
- link(rel="icon" type="image/png" sizes="16x16"
- href="/images/favicon/favicon-16x16.png")
- link(rel="manifest" href="/images/favicon/manifest.json")
- link(rel="mask-icon" href="/images/favicon/safari-pinned-tab.svg"
- color="#5bbad5")
- link(rel="shortcut icon" href="/images/favicon/favicon.ico")
- link(rel="stylesheet" href="/stylesheets/app.css")
-
- // TODO: on-demand components, do not load all at startup
- body
- -
- var langName = {
- "en": "English",
- "es": "Español",
- "fr": "Français",
- };
- case lang
- when "en"
- include translations/en
- include welcome/en
- when "es"
- include translations/es
- include welcome/es
- when "fr"
- include translations/fr
- include welcome/fr
- include modals
main#VueElement
my-upsert-user
.container
- // Header (on index only)
- .row(v-show="display=='index'")
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- header
- img(src="/images/index/unicorn.svg")
- .info-container
- p vchess.club
- img(src="/images/index/wildebeest.svg")
- // Menu (top of page)
- .row
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- label.drawer-toggle(for="drawerControl")
- input#drawerControl.drawer(type="checkbox")
- #menuBar
- label.drawer-close(for="drawerControl")
- a.icon-link(href="/")
- i(data-feather="home")
- a(href="#room")
- =translations["Hall"]
- a(href="#tabGames")
- =translations["My games"]
- a(href="#rules")
- =translations["Rules"]
- a(href="#problems")
- =translations["Problems"]
- #userMenu.clickable.right-menu(onClick="doClick('modalUser')")
- .info-container
- if !user.email
- p
- span Login
- span.icon-user
- else
- p
- span Update
- span.icon-user
- #flagMenu.clickable.right-menu(onClick="doClick('modalLang')")
- img(src="/images/flags/" + lang + ".svg")
- #settings.clickable(v-show="display!='index'" onClick="doClick('modalSettings')")
- i(data-feather="settings")
- #mainTitle.clickable(onClick="doClick('modalWelcome')")
- .info-container
- p Introduction
- .row
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- .row(v-show="display=='variants'")
- .col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
- label(for="prefixFilter") Type first letters...
- input#prefixFilter(v-model="curPrefix")
- my-variant-summary(v-for="(v,idx) in sortedCounts"
v-bind:vobj="v" v-bind:index="idx" v-bind:key="v.name")
.row(v-show="display=='correspondance'")
my-correspondance
:allow-chat="allowChat" :allow-movelist="allowMovelist"
:mode="mode" :settings="settings" @game-over="archiveGame")
- footer.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2.text-center
- div
- a(href="https://github.com/yagu0/vchess") Source code
- p.clickable(onClick="document.getElementById('modalContact').checked=true")
- =translations["Contact form"]
-
- script.
- const translations = !{JSON.stringify(translations)};
- const user = !{JSON.stringify(user)};
- const variantArray = !{JSON.stringify(variantArray)};
// TODO: get rid of underscore
// (used essentially for _.random(), _.sample() and _.range())
script(src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js")
// TODO: add only the necessary icons to mini-css custom build
script(src="//unpkg.com/feather-icons")
- if development
- script(src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js")
- else
- script(src="https://cdn.jsdelivr.net/npm/vue")
script(src="/javascripts/utils/printDiagram.js")
script(src="/javascripts/utils/datetime.js")
script(src="/javascripts/utils/squareId.js")