X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=a48997a9e72b3e4c7a6cc25929fd5cc49a4a0f02;hb=1051336271ad4d4128ef1f66953f54973601d774;hp=4fb8e558905184108edf4414e7042a4dbc28cf80;hpb=c9c0c57a91047a99d4b1ba3f2ee50350d73866bb;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 4fb8e558..a48997a9 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,13 +45,14 @@ 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") 3d + button(type="button") 7d input#cadence( type="text" v-model="newchallenge.cadence" - placeholder="5+0, 1h+30s, 7d+1d ..." + placeholder="5+0, 1h+30s, 5d ..." ) fieldset(v-if="st.user.id > 0") label(for="selectPlayers") {{ st.tr["Play with?"] }} @@ -315,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))); @@ -478,12 +486,8 @@ 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) @@ -750,6 +754,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 @@ -884,8 +895,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); } });