From: Benjamin Auder Date: Wed, 16 Jan 2019 10:45:45 +0000 (+0100) Subject: Final thoughts about presentation X-Git-Url: https://git.auder.net/%7B%7B%20asset%28%27mixstore/images/assets/current/doc/config.php?a=commitdiff_plain;h=3ca7a846ae7bc5d8f7c628417418534f3c92593a;p=vchess.git Final thoughts about presentation --- diff --git a/public/javascripts/components/challengeList.js b/public/javascripts/components/challengeList.js new file mode 100644 index 00000000..bc2ebd03 --- /dev/null +++ b/public/javascripts/components/challengeList.js @@ -0,0 +1,2 @@ +//TODO (avec newGame button ?!) +// ou challengeSummary organisé dans room... diff --git a/public/javascripts/components/chat.js b/public/javascripts/components/chat.js index a1489909..5dce3077 100644 --- a/public/javascripts/components/chat.js +++ b/public/javascripts/components/chat.js @@ -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 diff --git a/public/javascripts/components/game.js b/public/javascripts/components/game.js index d0d81258..dd9cfe4b 100644 --- a/public/javascripts/components/game.js +++ b/public/javascripts/components/game.js @@ -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 index 00000000..8ad1dfb5 --- /dev/null +++ b/public/javascripts/components/gameSummary.js @@ -0,0 +1 @@ +//TODO diff --git a/public/javascripts/components/playerList.js b/public/javascripts/components/playerList.js new file mode 100644 index 00000000..8ad1dfb5 --- /dev/null +++ b/public/javascripts/components/playerList.js @@ -0,0 +1 @@ +//TODO diff --git a/public/javascripts/components/room.js b/public/javascripts/components/room.js index 84c82f7c..d3dda053 100644 --- a/public/javascripts/components/room.js +++ b/public/javascripts/components/room.js @@ -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', { - - - - - 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" +
+ + +
+
+ + // TODO: also corr games (of pther players) + // presentation ? table ?! + + +
`, 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);