Add debug traces
[vchess.git] / client / src / views / Hall.vue
index e499d7e..9b5265a 100644 (file)
@@ -122,29 +122,37 @@ export default {
       return playerList;
     },
   },
+  watch: {
+    // Watch event "user infos retrieved" (through /whoami)
+    "st.user.id": function(newId) {
+      if (newId > 0) //should always be the case
+      {
+      // Ask server for current corr games (all but mines)
+  //    ajax(
+  //      "/games",
+  //      "GET",
+  //      {excluded: this.st.user.id},
+  //      response => {
+  //        this.games = this.games.concat(response.games);
+  //      }
+  //    );
+      // Also ask for corr challenges (open + sent to me)
+        ajax(
+          "/challenges",
+          "GET",
+          {uid: this.st.user.id},
+          response => {
+            console.log(response.challenges);
+            // TODO: post-treatment on challenges ?
+            this.challenges = this.challenges.concat(response.challenges);
+          }
+        );
+      }
+    },
+  },
   created: function() {
     // Always add myself to players' list
     this.players.push(this.st.user);
-    // Ask server for current corr games (all but mines)
-//    ajax(
-//      "/games",
-//      "GET",
-//      {excluded: this.st.user.id},
-//      response => {
-//        this.games = this.games.concat(response.games);
-//      }
-//    );
-    // Also ask for corr challenges (open + personal to me)
-    ajax(
-      "/challenges",
-      "GET",
-      {uid: this.st.user.id},
-      response => {
-        console.log(response.challenges);
-        // TODO: post-treatment on challenges ?
-        this.challenges = this.challenges.concat(response.challenges);
-      }
-    );
     // 0.1] Ask server for room composition:
     const socketOpenListener = () => {
       this.st.conn.send(JSON.stringify({code:"pollclients"}));
@@ -387,6 +395,7 @@ export default {
         }
         case "deletechallenge":
         {
+          console.log("receive delete");
           ArrayFun.remove(this.challenges, c => c.id == data.cid);
           break;
         }
@@ -394,8 +403,8 @@ export default {
         {
           this.players.push({name:"", id:0, sid:data.sid});
           this.st.conn.send(JSON.stringify({code:"askidentity", target:data.sid}));
-          this.st.conn.send(JSON.stringify({code:"askchallenge", target:sid}));
-          this.st.conn.send(JSON.stringify({code:"askgame", target:sid}));
+          this.st.conn.send(JSON.stringify({code:"askchallenge", target:data.sid}));
+          this.st.conn.send(JSON.stringify({code:"askgame", target:data.sid}));
           break;
         }
         case "disconnect":
@@ -487,6 +496,9 @@ export default {
 // *  - prepare and start new game (if challenge is full after acceptation)
 // *    --> include challenge ID (so that opponents can delete the challenge too)
     clickChallenge: function(c) {
+      
+      console.log(c);
+      
       if (!!c.accepted)
       {
         this.st.conn.send(JSON.stringify({code: "withdrawchallenge",
@@ -504,6 +516,7 @@ export default {
       else if (c.from.sid == this.st.user.sid
         || (this.st.user.id > 0 && c.from.id == this.st.user.id))
       {
+        console.log("send delete");
         // It's my challenge: cancel it
         this.sendSomethingTo(c.to, "deletechallenge", {cid:c.id});
         ArrayFun.remove(this.challenges, ch => ch.id == c.id);
@@ -549,8 +562,7 @@ export default {
         }
       }
     },
-    // c.type == corr alors use id...sinon sid (figés)
-    // NOTE: only for live games ?
+    // NOTE: for live games only (corr games are launched on server)
     launchGame: async function(c) {
       // Just assign colors and pass the message
       const vname = this.getVname(c.vid);