Some code cleaning + clarifying (TODO: work on variables names)
[vchess.git] / public / javascripts / index.js
index e24995b..29e48f7 100644 (file)
@@ -1,3 +1,4 @@
+// Javascript for index page: mostly counters updating
 new Vue({
        el: "#indexPage",
        data: {
@@ -24,8 +25,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 +37,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 +70,19 @@ new Vue({
                        }
                        // ...ignore everything else
                };
+               // Show welcome dialog box if "first visit"
+               const visited = getCookie("visited");
+               if (!visited || visited !== "1")
+                       document.getElementById("modal-b4welcome").checked = true;
+       },
+       methods: {
+               showWelcomeMsg: function() {
+                       document.getElementById("modal-b4welcome").checked = false;
+                       document.getElementById("modal-welcome").checked = true;
+               },
+               markAsVisited: function() {
+                       setCookie('visited', '1');
+                       document.getElementById('modal-welcome').checked = false;
+               },
        },
 });