router-link(to="/problems")
| {{ st.tr["Problems"] }}
#rightMenu
- .clickable(onClick="window.doClick('modalUser')")
- | {{ st.user.id > 0 ? (st.user.name || "@nonymous") : "Login" }}
+ .clickable(onClick="window.doClick('modalUser')") {{ userName }}
#divSettings.clickable(onClick="window.doClick('modalSettings')")
span {{ st.tr["Settings"] }}
img(src="/images/icons/settings.svg")
.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"] }}
- a.menuitem(href="https://discord.gg/a9ZFKBe") Discord
- router-link.menuitem(to="/news") {{ st.tr["News"] }}
+ router-link.menuitem#newsMenu(to="/news") {{ st.tr["News"] }}
+ a.menuitem(href="https://discord.gg/a9ZFKBe")
+ span Discord
+ img(src="/images/icons/discord.svg")
+ a.menuitem(href="https://github.com/yagu0/vchess")
+ span {{ st.tr["Code"] }}
+ img(src="/images/icons/github.svg")
p.clickable(onClick="window.doClick('modalContact')")
| {{ st.tr["Contact"] }}
</template>
import Settings from "@/components/Settings.vue";
import UpsertUser from "@/components/UpsertUser.vue";
import { store } from "@/store.js";
+import { ajax } from "@/utils/ajax.js";
export default {
components: {
ContactForm,
UpsertUser
},
data: function() {
- return {
- st: store.state
- };
+ return { st: store.state };
+ },
+ mounted: function() {
+ ajax(
+ "/newsts",
+ "GET",
+ {
+ success: (res) => {
+ if (this.st.user.newsRead < res.timestamp)
+ document.getElementById("newsMenu").classList.add("somenews");
+ }
+ }
+ );
+ },
+ computed: {
+ userName: function() {
+ return (
+ this.st.user.id > 0
+ ? (this.st.user.name || "@nonymous")
+ : "Login"
+ );
+ }
},
methods: {
hideDrawer: function(e) {
<style lang="sass">
html, *
font-family: "Open Sans", Arial, sans-serif
- --a-link-color: black
- --a-visited-color: black
+ --a-link-color: darkred
+ --a-visited-color: darkred
+ --card-back-color: #efefef
+ --button-back-color: lightgrey
+ --table-body-back-color: #f8f8f8
body
padding: 0
.row > div
padding: 0
+a
+ text-decoration: underline
+
header
width: 100%
display: flex
padding: 0 10px 0 0
height: 100%
& > span
+ padding-right: 5px
vertical-align: middle
& > img
padding: 0
- height: 24px
+ height: 1.2em
vertical-align: middle
@media screen and (max-width: 767px)
justify-content: flex-start
& > a
display: inline-block
+ text-decoration: none
color: #2c3e50
&.router-link-exact-active
color: #42b983
margin-top: 42px
padding-bottom: 5px
& > a
+ text-decoration: none
color: #2c3e50
&.router-link-exact-active
color: #42b983
color: #42b983 !important
text-decoration: none
& > .menuitem
- display: inline-block
margin: 0 12px
+ display: inline-flex;
+ align-self: center;
&:link
color: #2c3e50
+ text-decoration: none
&:visited, &:hover
color: #2c3e50
text-decoration: none
+ & > img
+ height: 1.2em
+ display: inline-block
+ margin-left: 5px
& > p
display: inline-block
margin: 0 12px
footer
border: none
-// Styles for diagrams and board (partial).
-// TODO: where to put that ?
-
-.light-square-diag
- background-color: #e5e5ca
-
-.dark-square-diag
- background-color: #6f8f57
-
-div.board
- float: left
- height: 0
- display: inline-block
- position: relative
-
-div.board8
- width: 12.5%
- padding-bottom: 12.5%
-
-div.board10
- width: 10%
- padding-bottom: 10%
-
-div.board11
- width: 9.09%
- padding-bottom: 9.1%
-
-img.piece
- width: 100%
-
-img.piece, img.mark-square
- max-width: 100%
- height: auto
- display: block
-
-img.mark-square
- opacity: 0.6
- width: 76%
- position: absolute
- top: 12%
- left: 12%
- opacity: .7
-
-.in-shadow
- filter: brightness(50%)
+@media screen and (max-width: 420px)
+ .container
+ min-height: calc(100vh - 55px)
+ footer
+ height: 55px
+ display: block
+ padding: 5px 0
+
+.menuitem.somenews
+ color: red
+ &:link, &:visited, &:hover
+ color: red
</style>