X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=5e7a10d47388c6df1c7f2365427fc88a8d73a5e9;hb=e57c4de4148d43e7635e09adcde4e56585aea303;hp=6ecc55270faa85982bab4f771506b087b49abf92;hpb=f9c36b2da005b596ad656f4b6cc4e09ef3c656f1;p=vchess.git diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue index 6ecc5527..5e7a10d4 100644 --- a/client/src/views/Hall.vue +++ b/client/src/views/Hall.vue @@ -10,15 +10,17 @@ main p(v-html="infoMessage") input#modalAccept.modal(type="checkbox") div#acceptDiv(role="dialog") - .card.text-center - p + .card + p.text-center span.variantName {{ curChallToAccept.vname }} span {{ curChallToAccept.cadence }} span {{ st.tr["with"] + " " + curChallToAccept.from.name }} .diagram(v-html="tchallDiag") .button-group#buttonsTchall - button.acceptBtn(@click="decisionChallenge(true)") {{ st.tr["Accept challenge?"] }} - button.refuseBtn(@click="decisionChallenge(false)") {{ st.tr["Refuse"] }} + button.acceptBtn(@click="decisionChallenge(true)") + span {{ st.tr["Accept challenge?"] }} + button.refuseBtn(@click="decisionChallenge(false)") + span {{ st.tr["Refuse"] }} input#modalNewgame.modal( type="checkbox" @change="cadenceFocusIfOpened($event)" @@ -236,61 +238,72 @@ export default { ajax( "/games", "GET", - { uid: this.st.user.id, excluded: true }, - response => { - this.games = this.games.concat( - response.games.map(g => { - const type = this.classifyObject(g); - const vname = this.getVname(g.vid); - return Object.assign({}, g, { type: type, vname: vname }); - }) - ); + { + data: { uid: this.st.user.id, excluded: true }, + success: (response) => { + this.games = this.games.concat( + response.games.map(g => { + const type = this.classifyObject(g); + const vname = this.getVname(g.vid); + return Object.assign({}, g, { type: type, vname: vname }); + }) + ); + } } ); // Also ask for corr challenges (open + sent by/to me) - ajax("/challenges", "GET", { uid: this.st.user.id }, response => { - // Gather all senders names, and then retrieve full identity: - // (TODO [perf]: some might be online...) - let names = {}; - response.challenges.forEach(c => { - if (c.uid != this.st.user.id) names[c.uid] = ""; - else if (!!c.target && c.target != this.st.user.id) - names[c.target] = ""; - }); - const addChallenges = () => { - names[this.st.user.id] = this.st.user.name; //in case of - this.challenges = this.challenges.concat( - response.challenges.map(c => { - const from = { name: names[c.uid], id: c.uid }; //or just name - const type = this.classifyObject(c); - const vname = this.getVname(c.vid); - return Object.assign( - {}, + ajax( + "/challenges", + "GET", + { + data: { uid: this.st.user.id }, + success: (response) => { + // Gather all senders names, and then retrieve full identity: + // (TODO [perf]: some might be online...) + let names = {}; + response.challenges.forEach(c => { + if (c.uid != this.st.user.id) names[c.uid] = ""; + else if (!!c.target && c.target != this.st.user.id) + names[c.target] = ""; + }); + const addChallenges = () => { + names[this.st.user.id] = this.st.user.name; //in case of + this.challenges = this.challenges.concat( + response.challenges.map(c => { + const from = { name: names[c.uid], id: c.uid }; //or just name + const type = this.classifyObject(c); + const vname = this.getVname(c.vid); + return Object.assign( + {}, + { + type: type, + vname: vname, + from: from, + to: c.target ? names[c.target] : "" + }, + c + ); + }) + ); + }; + if (Object.keys(names).length > 0) { + ajax( + "/users", + "GET", { - type: type, - vname: vname, - from: from, - to: c.target ? names[c.target] : "" - }, - c + data: { ids: Object.keys(names).join(",") }, + success: (response2) => { + response2.users.forEach(u => { + names[u.id] = u.name; + }); + addChallenges(); + } + } ); - }) - ); - }; - if (Object.keys(names).length > 0) { - ajax( - "/users", - "GET", - { ids: Object.keys(names).join(",") }, - response2 => { - response2.users.forEach(u => { - names[u.id] = u.name; - }); - addChallenges(); - } - ); - } else addChallenges(); - }); + } else addChallenges(); + } + } + ); const connectAndPoll = () => { this.send("connect"); this.send("pollclientsandgamers"); @@ -303,6 +316,7 @@ export default { "&tmpId=" + getRandString() + "&page=" + + // Hall: path is "/" (could be hard-coded as well) encodeURIComponent(this.$route.path); this.conn = new WebSocket(this.connexionString); this.conn.onopen = connectAndPoll; @@ -699,7 +713,7 @@ export default { const parsedFen = V.ParseFen(this.newchallenge.fen); this.newchallenge.diag = getDiagram({ position: parsedFen.position, - orientation: V.GetOppCol(parsedFen.turn) + orientation: parsedFen.turn }); } }, @@ -748,7 +762,11 @@ export default { // Delete current challenge (will be replaced now) this.send("deletechallenge", { data: this.challenges[cIdx].id }); if (ctype == "corr") { - ajax("/challenges", "DELETE", { id: this.challenges[cIdx].id }); + ajax( + "/challenges", + "DELETE", + { data: { id: this.challenges[cIdx].id } } + ); } this.challenges.splice(cIdx, 1); } @@ -785,9 +803,16 @@ export default { finishAddChallenge(null); } else { // Correspondance game: send challenge to server - ajax("/challenges", "POST", { chall: chall }, response => { - finishAddChallenge(response.cid); - }); + ajax( + "/challenges", + "POST", + { + data: { chall: chall }, + success: (response) => { + finishAddChallenge(response.cid); + } + } + ); } }, // Callback function after a diagram was showed to accept @@ -810,8 +835,13 @@ export default { const oppsid = this.getOppsid(c); if (!!oppsid) this.send("refusechallenge", { data: c.id, target: oppsid }); - if (c.type == "corr") - ajax("/challenges", "DELETE", { id: c.id }); + if (c.type == "corr") { + ajax( + "/challenges", + "DELETE", + { data: { id: c.id } } + ); + } } this.send("deletechallenge", { data: c.id }); }, @@ -850,8 +880,13 @@ export default { } else { // My challenge - if (c.type == "corr") - ajax("/challenges", "DELETE", { id: c.id }); + if (c.type == "corr") { + ajax( + "/challenges", + "DELETE", + { data: { id: c.id } } + ); + } this.send("deletechallenge", { data: c.id }); } // In all cases, the challenge is consumed: @@ -886,11 +921,14 @@ export default { ajax( "/games", "POST", - { gameInfo: gameInfo, cid: c.id }, //cid useful to delete challenge - response => { - gameInfo.id = response.gameId; - notifyNewgame(); - this.$router.push("/game/" + response.gameId); + { + // cid is useful to delete the challenge: + data: { gameInfo: gameInfo, cid: c.id }, + success: (response) => { + gameInfo.id = response.gameId; + notifyNewgame(); + this.$router.push("/game/" + response.gameId); + } } ); } @@ -989,6 +1027,9 @@ button.refuseBtn #buttonsTchall margin-top: 10px + & > button > span + width: 100% + text-align: center .variantName font-weight: bold @@ -996,6 +1037,8 @@ button.refuseBtn .diagram margin: 0 auto max-width: 400px + // width: 100% required for Firefox + width: 100% #inputFen width: 100%