X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FGame.vue;h=e77492f0da0d212d04cd6bac2c4422341cdca0ed;hp=edaca5c1dffab1c60630481f18317263f72fd041;hb=ed06d9e92387e60fc15d7c9768dd5680605e35d1;hpb=a01ab95c262b2ab8fe96cd57d925cf878da85c45 diff --git a/client/src/views/Game.vue b/client/src/views/Game.vue index edaca5c1..e77492f0 100644 --- a/client/src/views/Game.vue +++ b/client/src/views/Game.vue @@ -5,6 +5,12 @@ main aria-labelledby="inputChat") #chat.card label.modal-close(for="modalChat") + #participants + span {{ Object.keys(people).length }} participant(s): + span(v-for="p in Object.values(people)" v-if="!!p.name") + | {{ p.name }} + span.anonymous(v-if="Object.values(people).some(p => !p.name)") + | + @nonymous Chat(:players="game.players" :pastChats="game.chats" @newchat-sent="finishSendChat" @newchat-received="processChat") .row @@ -159,8 +165,6 @@ export default { case "pollclients": { data.sockIds.forEach(sid => { - // TODO: understand clearly what happens here, problems when a - // game is quit, and then launch a new game from hall. if (!!this.people[sid]) return; this.$set(this.people, sid, {id:0, name:""}); @@ -552,7 +556,11 @@ export default { this.drawOffer = "threerep"; }, toggleChat: function() { - document.getElementById("chatBtn").style.backgroundColor = "#e2e2e2"; + let modalChat = document.getElementById("modalChat"); + modalChat.style.backgroundColor = + (modalChat.style.backgroundColor == "#e2e2e2" + ? "#c5fefe" + : "#e2e2e2"); }, finishSendChat: function(chat) { // NOTE: anonymous chats in corr games are not stored on server (TODO?) @@ -560,7 +568,7 @@ export default { GameStorage.update(this.gameRef.id, {chat: chat}); }, processChat: function() { - if (!document.getElementById("inputChat").checked) + if (!document.getElementById("modalChat").checked) document.getElementById("chatBtn").style.backgroundColor = "#c5fefe"; }, gameOver: function(score, scoreMsg) { @@ -583,6 +591,13 @@ export default { .connected background-color: lightgreen +#participants + margin-left: 5px + +.anonymous + color: grey + font-style: italic + @media screen and (min-width: 768px) #actions width: 300px