X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2FApp.vue;h=eef7169f67697b6149d2f8c9d093e82f24a75a6d;hb=07052665845283c65b50a76537669d0602ba436b;hp=d2f4845f1cb7c00f0df4edb2f91cb06c517312b1;hpb=afd717788f50f92a5df6e5f1004354ff9ab0079d;p=vchess.git diff --git a/client/src/App.vue b/client/src/App.vue index d2f4845f..eef7169f 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -24,8 +24,7 @@ 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") @@ -34,10 +33,13 @@ .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#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") - router-link.menuitem(to="/news") {{ st.tr["News"] }} p.clickable(onClick="window.doClick('modalContact')") | {{ st.tr["Contact"] }} @@ -47,6 +49,7 @@ import ContactForm from "@/components/ContactForm.vue"; 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, @@ -54,9 +57,28 @@ export default { 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) { @@ -94,6 +116,9 @@ body .row > div padding: 0 +a + text-decoration: underline + header width: 100% display: flex @@ -135,10 +160,11 @@ table 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) @@ -162,6 +188,7 @@ nav justify-content: flex-start & > a display: inline-block + text-decoration: none color: #2c3e50 &.router-link-exact-active color: #42b983 @@ -177,10 +204,6 @@ nav & > #leftMenu margin-top: 42px padding-bottom: 5px - & > a - color: #2c3e50 - &.router-link-exact-active - color: #42b983 & > #rightMenu padding-top: 5px border-top: 1px solid darkgrey @@ -243,6 +266,7 @@ footer align-self: center; &:link color: #2c3e50 + text-decoration: none &:visited, &:hover color: #2c3e50 text-decoration: none @@ -258,6 +282,19 @@ footer footer border: none +@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 + // Styles for diagrams and board (partial). // TODO: where to put that ? @@ -268,38 +305,57 @@ footer background-color: #6f8f57 div.board + user-select: none float: left height: 0 display: inline-block position: relative +div.board5 + width: 20% + padding-bottom: 20% + div.board8 width: 12.5% padding-bottom: 12.5% +div.board9 + width: 11.1% + padding-bottom: 11.1% + div.board10 width: 10% padding-bottom: 10% div.board11 width: 9.09% - padding-bottom: 9.1% + padding-bottom: 9.09% + +div.board12 + width: 8.33% + padding-bottom: 8.33% img.piece width: 100% -img.piece, img.mark-square +img.piece, img.mark-square, img.circle-square max-width: 100% height: auto display: block img.mark-square - opacity: 0.6 + opacity: .7 width: 76% position: absolute top: 12% left: 12% - opacity: .7 + +img.circle-square + opacity: 0.7 + width: 100% + position: absolute + top: 0 + left: 0 .in-shadow filter: brightness(50%)