.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"] }}
</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");
+ }
+ }
+ );
},
methods: {
hideDrawer: function(e) {
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)
color: #2c3e50
text-decoration: none
& > img
- height: 1.3em
+ height: 1.2em
display: inline-block
margin-left: 5px
& > p
footer
border: none
+@media screen and (max-width: 420px)
+ footer
+ height: 55px
+ display: block
+ padding: 5px 0
+
+.menuitem.somenews
+ animation: blinkNews 1s infinite;
+ color: red
+ &:link, &:visited, &:hover
+ color: red
+
+@keyframes blinkNews
+ 0%, 49%
+ background-color: yellow
+ padding: 3px
+ 50%, 100%
+ background-color: grey
+ padding: 3px
+
// Styles for diagrams and board (partial).
// TODO: where to put that ?