X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=5ceb7e329b0b3bf8c43d843b9e6385cf1ba5cc50;hb=09d375717c256a2cbd71a5d3b3a4e21aee17c0ec;hp=033659bc8237b5686127ce97a3590bb5929ccbc9;hpb=0cd026057235122150be0f1eb4c72e5f5902a447;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 033659bc..5ceb7e32 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -19,7 +19,10 @@ main .button-group#buttonsTchall button.acceptBtn(@click="decisionChallenge(true)") {{ st.tr["Accept challenge?"] }} button.refuseBtn(@click="decisionChallenge(false)") {{ st.tr["Refuse"] }} - input#modalNewgame.modal(type="checkbox") + input#modalNewgame.modal( + type="checkbox" + @change="cadenceFocusIfOpened($event)" + ) div#newgameDiv( role="dialog" data-checkbox="modalNewgame" @@ -42,9 +45,10 @@ main fieldset label(for="cadence") {{ st.tr["Cadence"] }} * div#predefinedCadences - button(type="button") 3+2 button(type="button") 5+3 button(type="button") 15+5 + button(type="button") 45+30 + button(type="button") 7d+2d input#cadence( type="text" v-model="newchallenge.cadence" @@ -237,7 +241,6 @@ export default { let names = {}; response.challenges.forEach(c => { if (c.uid != this.st.user.id) names[c.uid] = ""; - //unknwon for now else if (!!c.target && c.target != this.st.user.id) names[c.target] = ""; }); @@ -316,6 +319,10 @@ export default { }, methods: { // Helpers: + cadenceFocusIfOpened: function() { + if (event.target.checked) + document.getElementById("cadence").focus(); + }, send: function(code, obj) { if (this.conn) { this.conn.send(JSON.stringify(Object.assign({ code: code }, obj))); @@ -479,12 +486,12 @@ export default { } case "killed": // I logged in elsewhere: - alert(this.st.tr["New connexion detected: tab now offline"]); // TODO: this fails. See https://github.com/websockets/ws/issues/489 //this.conn.removeEventListener("message", this.socketMessageListener); //this.conn.removeEventListener("close", this.socketCloseListener); //this.conn.close(); this.conn = null; + alert(this.st.tr["New connexion detected: tab now offline"]); break; case "askidentity": { // Request for identification (TODO: anonymous shouldn't need to reply) @@ -751,6 +758,13 @@ export default { localStorage.setItem("cadence", chall.cadence); localStorage.setItem("vid", chall.vid); document.getElementById("modalNewgame").checked = false; + // Show the challenge if not on current display + if ( + (ctype == "live" && this.cdisplay == "corr") || + (ctype == "corr" && this.cdisplay == "live") + ) { + this.setDisplay('c', ctype); + } }; if (ctype == "live") { // Live challenges have a random ID @@ -885,8 +899,8 @@ export default { GameStorage.add(game, (err) => { // If an error occurred, game is not added: abort if (!err) { - if (this.st.settings.sound >= 1) - new Audio("/sounds/newgame.mp3").play().catch(() => {}); + if (this.st.settings.sound) + new Audio("/sounds/newgame.wav").play().catch(() => {}); this.$router.push("/game/" + gameInfo.id); } });