Final thoughts about presentation
authorBenjamin Auder <benjamin.auder@somewhere>
Wed, 16 Jan 2019 10:45:45 +0000 (11:45 +0100)
committerBenjamin Auder <benjamin.auder@somewhere>
Wed, 16 Jan 2019 10:45:45 +0000 (11:45 +0100)
public/javascripts/components/challengeList.js [new file with mode: 0644]
public/javascripts/components/chat.js
public/javascripts/components/game.js
public/javascripts/components/gameSummary.js [new file with mode: 0644]
public/javascripts/components/playerList.js [new file with mode: 0644]
public/javascripts/components/room.js

diff --git a/public/javascripts/components/challengeList.js b/public/javascripts/components/challengeList.js
new file mode 100644 (file)
index 0000000..bc2ebd0
--- /dev/null
@@ -0,0 +1,2 @@
+//TODO (avec newGame button ?!)
+// ou challengeSummary organisé dans room...
index a148990..5dce307 100644 (file)
@@ -1,4 +1,8 @@
-                       myname: localStorage["username"] || "anonymous",
+// TODO: myname, opppnents (optional, different style), people
+// --> also show messages like "X offers draw ?" (probably not)
+
+
+myname: localStorage["username"] || "anonymous",
                        oppName: "anonymous", //opponent name, revealed after a game (if provided)
                        chats: [], //chat messages after human game
                
index d0d8125..dd9cfe4 100644 (file)
@@ -1,6 +1,10 @@
 // Game logic on a variant page: 3 modes, analyze, computer or human
 // TODO: envoyer juste "light move", sans FEN ni notation ...etc
 // TODO: if I'm an observer and player(s) disconnect/reconnect, how to find me ?
+//                     onClick :: ask full game to remote player, and register as an observer in game
+//                     (use gameId to communicate)
+//                     on landing on game :: if gameId not found locally, check remotely
+//                     ==> il manque un param dans game : "remoteId"
 Vue.component('my-game', {
        // gameId: to find the game in storage (assumption: it exists)
        // fen: to start from a FEN without identifiers (analyze mode)
@@ -308,6 +312,9 @@ Vue.component('my-game', {
                        }
                },
                loadGame: function() {
+                       // TODO: ask game to remote peer if this.remoteId is set
+                       // (or just if game not found locally)
+                       // NOTE: if it's a corr game, ask it from server
                        const game = getGameFromStorage(this.gameId);
                        this.opponent.id = game.oppid; //opponent ID in case of running HH game
                        this.opponent.name = game.oppname; //maye be blank (if anonymous)
diff --git a/public/javascripts/components/gameSummary.js b/public/javascripts/components/gameSummary.js
new file mode 100644 (file)
index 0000000..8ad1dfb
--- /dev/null
@@ -0,0 +1 @@
+//TODO
diff --git a/public/javascripts/components/playerList.js b/public/javascripts/components/playerList.js
new file mode 100644 (file)
index 0000000..8ad1dfb
--- /dev/null
@@ -0,0 +1 @@
+//TODO
index 84c82f7..d3dda05 100644 (file)
@@ -23,7 +23,8 @@ fin de partie corr: garder maxi nbPlayers lastMove sur serveur, pendant 7 jours
 Vue.component('my-room', {
        props: ["conn","settings"],
        data: {
-               something: "", //TODO
+               remoteGames: [],
+               corrGames: [],
        },
        // Modal new game, and then sub-components
        template: `
@@ -42,21 +43,29 @@ Vue.component('my-room', {
                                        <button @click="newGame">Launch game</button>
                                </div>
                        </div>
-                       <my-chat :conn="conn" :myname="myname" :people="people"></my-chat>
-                       <my-challenge-list :conn="conn"></my-challenge-list>
-                       <my-player-list :conn="conn"></my-player-list>
-                       <my-game-list :conn="conn" ........... my-local-game-list opposed to my-remote-ame-list ?! ...bof></my-game-list>
-                       onClick :: ask full game to remote player, and register as an observer in game
-                       (use gameId to communicate)
-                       on landing on game :: if gameId not found locally, check remotely
-                       ==> il manque un param dans game : "remoteId"
+                       <div>
+                               <my-chat :conn="conn" :myname="myname" :people="people"></my-chat>
+                               <my-challenge-list :conn="conn"></my-challenge-list>
+                       </div>
+                       <div>
+                               <my-player-list :conn="conn"></my-player-list>
+                               // TODO: also corr games (of pther players)
+                               // presentation ? table ?!
+                               <my-game-summary v-for="g in remoteGames"
+                                       v-bind:vobj="g" v-bind:game="g" v-bind:key="g.id"
+                                       @click="() => showGame(g.id,g.uid)">
+                               </my-game-summary>
+                       </div>
                </div>
        `,
        created: function() {
+               // TODO: ask server for current corr games (all but mines)
                const socketMessageListener = msg => {
                        const data = JSON.parse(msg.data);
                        switch (data.code)
                        {
+                               // TODO: also receive remote games summaries (update)
+                               // (just players names, time control, and ID + player ID)
                                case "newgame": //challenge accepted
                                        // oppid: opponent socket ID (or DB id if registered)
                                        this.newGame("human", data.fen, data.color, data.oppid, data.gameid);