X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=public%2Fjavascripts%2Findex.js;h=e460f868786c94fd2e0c4a7a16fa2cd5233d93aa;hb=3acb852d971bc17d31ccc05756524f40038adf95;hp=e24995bea71671d7575f7076a4aac35236241d91;hpb=772d7245d92f65c0b27c6c4aaaf64dc2fe9a9057;p=vchess.git diff --git a/public/javascripts/index.js b/public/javascripts/index.js index e24995be..e460f868 100644 --- a/public/javascripts/index.js +++ b/public/javascripts/index.js @@ -1,3 +1,4 @@ +// Javascript for index page: mostly counters updating new Vue({ el: "#indexPage", data: { @@ -7,7 +8,11 @@ new Vue({ }, computed: { sortedCounts: function () { - const variantsCounts = variantArray.map( v => { + const variantsCounts = variantArray + .filter( v => { + return v.name.startsWith(this.curPrefix); + }) + .map( v => { return { name: v.name, desc: v.description, @@ -24,8 +29,7 @@ new Vue({ }, created: function() { const url = socketUrl; - // random enough (TODO: function) - const sid = (Date.now().toString(36) + Math.random().toString(36).substr(2, 7)).toUpperCase(); + const sid = getRandString(); this.conn = new WebSocket(url + "/?sid=" + sid + "&page=index"); const socketMessageListener = msg => { const data = JSON.parse(msg.data); @@ -37,7 +41,6 @@ new Vue({ this.counts[data.vname]--; }; const socketCloseListener = () => { - console.log("Lost connection -- reconnect"); this.conn = new WebSocket(url + "/?sid=" + sid + "&page=index"); this.conn.addEventListener('message', socketMessageListener); this.conn.addEventListener('close', socketCloseListener); @@ -71,5 +74,19 @@ new Vue({ } // ...ignore everything else }; + // Show welcome dialog box if "first visit" + const visited = getCookie("visited"); + if (!visited || visited !== "1") + document.getElementById("modalB4welcome").checked = true; + }, + methods: { + showWelcomeMsg: function() { + document.getElementById("modalB4welcome").checked = false; + document.getElementById("modalWelcome").checked = true; + }, + markAsVisited: function() { + setCookie('visited', '1'); + document.getElementById('modalWelcome').checked = false; + }, }, });