<template lang="pug">
#app
- Language
Settings
ContactForm
UpsertUser
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
// Menu (top of page):
// Left: hall, variants, problems, mygames
- // Right: usermenu, settings, flag
+ // Right: usermenu, settings
nav
label.drawer-toggle(for="drawerControl")
input#drawerControl.drawer(type="checkbox")
#leftMenu
router-link(to="/")
| {{ st.tr["Hall"] }}
+ router-link(to="/mygames")
+ | {{ st.tr["My games"] }}
router-link(to="/variants")
| {{ st.tr["Variants"] }}
router-link(to="/problems")
| {{ st.tr["Problems"] }}
- router-link(to="/mygames")
- | {{ st.tr["My games"] }}
#rightMenu
- .clickable(onClick="doClick('modalUser')")
+ .clickable(onClick="window.doClick('modalUser')")
| {{ st.user.id > 0 ? (st.user.name || "@nonymous") : "Login" }}
- .clickable(onClick="doClick('modalSettings')")
- | {{ st.tr["Settings"] }}
- .clickable#flagContainer(onClick="doClick('modalLang')")
- img(v-if="!!st.lang" :src="flagImage")
+ #divSettings.clickable(onClick="window.doClick('modalSettings')")
+ span {{ st.tr["Settings"] }}
+ img(src="/images/icons/settings.svg")
router-view
.row
.col-sm-12.col-md-10.col-md-offset-1.col-lg-8.col-lg-offset-2
footer
router-link.menuitem(to="/about") {{ st.tr["About"] }}
router-link.menuitem(to="/news") {{ st.tr["News"] }}
- p.clickable(onClick="doClick('modalContact')")
+ p.clickable(onClick="window.doClick('modalContact')")
| {{ st.tr["Contact"] }}
</template>
<script>
import ContactForm from "@/components/ContactForm.vue";
-import Language from "@/components/Language.vue";
import Settings from "@/components/Settings.vue";
import UpsertUser from "@/components/UpsertUser.vue";
import { store } from "./store.js";
export default {
components: {
ContactForm,
- Language,
Settings,
- UpsertUser,
+ UpsertUser
},
data: function() {
return {
- st: store.state,
+ st: store.state
};
},
- computed: {
- flagImage: function() {
- return `/images/flags/${this.st.lang}.svg`;
- },
- },
mounted: function() {
let dialogs = document.querySelectorAll("div[role='dialog']");
dialogs.forEach(d => {
},
methods: {
hideDrawer: function(e) {
- if (e.target.innerText == "Forum")
- return; //external link
+ if (e.target.innerText == "Forum") return; //external link
e.preventDefault(); //TODO: why is this needed?
document.getElementsByClassName("drawer")[0].checked = false;
- },
- },
+ }
+ }
};
</script>
th, td
padding: 5px
+#divSettings
+ padding: 0 10px 0 0
+ height: 100%
+ & > span
+ vertical-align: middle
+ & > img
+ padding: 0
+ height: 24px
+ vertical-align: middle
+
@media screen and (max-width: 767px)
table
tr > th, td
justify-content: flex-end
& > div
display: inline-block
- &#flagContainer
- display: inline-flex
- & > img
- padding: 0
- width: 36px
- height: 27px
@media screen and (max-width: 767px)
& > #leftMenu
margin-top: 42px
& > #rightMenu
padding-top: 5px
border-top: 1px solid darkgrey
- & > div
- &#flagContainer
- display: inline-flex
- & > img
- padding: 0
- width: 36px
- height: 27px
@media screen and (max-width: 767px)
nav
- z-index: 5000 //to hide currently selected piece if any
height: 42px
border: none
& > label.drawer-toggle
cursor: pointer
font-size: 32px
position: absolute
- top: -22px
- //padding: -5px 0 0 10px
+ top: 5px
+ line-height: 1em
+ padding: 0
+ & > #menuBar
+ z-index: 5000 //to hide currently selected piece if any
[type="checkbox"].drawer+*
right: -767px
[type=checkbox].drawer+* .drawer-close
- top: -10px
- left: var(--universal-margin)
- right: 0
+ top: 0
+ left: 10px
+ padding: 0
+ width: 42px
+ height: 42px
[type=checkbox].drawer+* .drawer-close:before
font-size: 50px
+ line-height: 1em
@media screen and (max-width: 767px)
.button-group