X-Git-Url: https://git.auder.net/pieces/Cwda/n_white_knight.svg?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=e0910c0c836c633262b521155d888b99917c0d8f;hb=c97830ea3ee97c6c408c62dab6c59da46cfd03d5;hp=e11e8e1377a680f1212d1b9ae59a2a70d2dda06e;hpb=c6788ecf8a595409c7e31febf3d13c97bde2a725;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index e11e8e13..e0910c0c 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -8,7 +8,7 @@ main p(v-html="infoMessage") input#modalNewgame.modal(type="checkbox") div(role="dialog" aria-labelledby="titleFenedit") - .card.smallpad + .card.smallpad(@keyup.enter="newChallenge") label#closeNewgame.modal-close(for="modalNewgame") fieldset label(for="selectVariant") {{ st.tr["Variant"] }} @@ -117,17 +117,21 @@ export default { computed: { uniquePlayers: function() { // Show e.g. "@nonymous (5)", and do nothing on click on anonymous - let anonymous = {id:0, name:"@nonymous", count:0}; - let playerList = []; + let anonymous = {name:"@nonymous", count:0}; + let playerList = {}; this.people.forEach(p => { if (p.id > 0) - playerList.push(p); + { + // We don't count registered users connections: either they are here or not. + if (!playerList[p.id]) + playerList[p.id] = {name: p.name, count: 0}; + } else anonymous.count++; }); if (anonymous.count > 0) - playerList.push(anonymous); - return playerList; + playerList[0] = anonymous; + return Object.values(playerList); }, }, created: function() { @@ -280,8 +284,9 @@ export default { // Ask identity, challenges and game(s) this.st.conn.send(JSON.stringify({code:"askidentity", target:sid})); this.st.conn.send(JSON.stringify({code:"askchallenge", target:sid})); - this.st.conn.send(JSON.stringify({code:"askgame", target:sid})); }); + // Also ask current games to all playing peers (TODO: some design issue) + this.st.conn.send(JSON.stringify({code:"askgames"})); break; } case "askidentity":