X-Git-Url: https://git.auder.net/img/rock_paper_scissors_lizard_spock.gif?a=blobdiff_plain;f=client%2Fsrc%2Fviews%2FHall.vue;h=451299b757340742dc0a0c8ebccd5ca8543d5daf;hb=e50a802531b99829c533f22ecd21e359e7e1e049;hp=01f588f23dacc8acbe6abe9318df2a431b810640;hpb=6c7cbfedc6ecf2b49f6b1e27a174039e92a36365;p=vchess.git
diff --git a/client/src/views/Hall.vue b/client/src/views/Hall.vue
index 01f588f2..451299b7 100644
--- a/client/src/views/Hall.vue
+++ b/client/src/views/Hall.vue
@@ -113,7 +113,7 @@ main
v-for="sid in Object.keys(people)"
v-if="!!people[sid].name"
)
- span {{ people[sid].name }}
+ UserBio.user-bio(:uid="people[sid].id" :uname="people[sid].name")
button.player-action(
v-if="isGamer(sid)"
@click="watchGame(sid)"
@@ -166,7 +166,7 @@ main
button.tabbtn#btnClive(@click="setDisplay('c','live',$event)")
| {{ st.tr["Live challenges"] }}
button.tabbtn#btnCcorr(@click="setDisplay('c','corr',$event)")
- | {{ st.tr["Correspondance challenges"] }}
+ | {{ st.tr["Correspondence challenges"] }}
ChallengeList(
v-show="cdisplay=='live'"
:challenges="filterChallenges('live')"
@@ -182,7 +182,7 @@ main
button.tabbtn#btnGlive(@click="setDisplay('g','live',$event)")
| {{ st.tr["Live games"] }}
button.tabbtn#btnGcorr(@click="setDisplay('g','corr',$event)")
- | {{ st.tr["Correspondance games"] }}
+ | {{ st.tr["Correspondence games"] }}
GameList(
v-show="gdisplay=='live'"
:games="filterGames('live')"
@@ -212,6 +212,7 @@ import params from "@/parameters";
import { getRandString, shuffle, randInt } from "@/utils/alea";
import { getDiagram } from "@/utils/printDiagram";
import Chat from "@/components/Chat.vue";
+import UserBio from "@/components/UserBio.vue";
import GameList from "@/components/GameList.vue";
import ChallengeList from "@/components/ChallengeList.vue";
import { GameStorage } from "@/utils/gameStorage";
@@ -220,6 +221,7 @@ export default {
name: "my-hall",
components: {
Chat,
+ UserBio,
GameList,
ChallengeList
},
@@ -238,12 +240,12 @@ export default {
infoMessage: "",
newchallenge: {
fen: "",
- vid: parseInt(localStorage.getItem("vid")) || 0,
+ vid: parseInt(localStorage.getItem("vid"), 10) || 0,
to: "", //name of challenged player (if any)
cadence: localStorage.getItem("cadence") || "",
randomness:
// Warning: randomness can be 0, then !!randomness is false
- (parseInt(localStorage.getItem("challRandomness"))+1 || 3) - 1,
+ (parseInt(localStorage.getItem("challRandomness"),10)+1 || 3) - 1,
// VariantRules object, stored to not interfere with
// diagrams of targetted challenges:
V: null,
@@ -572,14 +574,12 @@ export default {
}
});
const gid = gids[Math.floor(Math.random() * gids.length)];
- const game = this.games.find(g => g.id == gid);
- if (!!game) this.showGame(game);
- else this.$router.push("/game/" + gid); //game vs. me
+ window.open("/#/game/" + gid, "_blank");
},
showGame: function(g) {
// NOTE: we are an observer, since only games I don't play are shown here
// ==> Moves sent by connected remote player(s) if live game
- this.$router.push("/game/" + g.id);
+ window.open("/#/game/" + g.id, "_blank");
},
toggleSocialColor: function(action) {
if (!action && document.getElementById("modalPeople").checked)
@@ -861,7 +861,7 @@ export default {
this.startNewGame(gameInfo);
else {
this.infoMessage =
- this.st.tr["New correspondance game:"] + " " +
+ this.st.tr["New correspondence game:"] + " " +
"" +
"#/game/" + gameInfo.id + "";
document.getElementById("modalInfo").checked = true;
@@ -997,7 +997,7 @@ export default {
if (!this.newchallenge.vid)
error = this.st.tr["Please select a variant"];
else if (ctype == "corr" && this.st.user.id <= 0)
- error = this.st.tr["Please log in to play correspondance games"];
+ error = this.st.tr["Please log in to play correspondence games"];
else if (!!this.newchallenge.to) {
if (this.newchallenge.to == this.st.user.name)
error = this.st.tr["Self-challenge is forbidden"];
@@ -1105,7 +1105,7 @@ export default {
// Live challenges have a random ID
finishAddChallenge(null);
} else {
- // Correspondance game: send challenge to server
+ // Correspondence game: send challenge to server
ajax(
"/challenges",
"POST",
@@ -1290,13 +1290,13 @@ export default {
() => {
const myIdx = (game.players[0].sid == this.st.user.sid ? 0 : 1);
GameStorage.add(game, (err) => {
- // If an error occurred, game is not added: a tab already
- // added the game. Maybe a focused one, maybe not.
- // We know for sure that it emitted the gong start sound.
- // ==> Do not play it again.
- if (!err && this.st.settings.sound)
- new Audio("/sounds/newgame.flac").play().catch(() => {});
+ // If an error occurred, game is not added: the focused tab
+ // already added the game.
if (!this.focus) {
+ if (this.st.settings.sound)
+ // This will be played several times if several hidden tabs
+ // on Hall... TODO: fix that (how ?!)
+ new Audio("/sounds/newgame.flac").play().catch(() => {});
notify(
"New live game",
{ body: "vs " + game.players[1-myIdx].name || "@nonymous" }
@@ -1305,7 +1305,7 @@ export default {
this.$router.push("/game/" + gameInfo.id);
});
},
- this.focus ? 500 + 1000 * Math.random() : 0
+ this.focus ? 0 : 500 + 1000 * Math.random()
);
}
}
@@ -1314,7 +1314,7 @@ export default {