+ if (!!this.$route.query["challenge"]) {
+ // Automatic challenge sending, for tournaments
+ this.loadNewchallVariant(
+ () => {
+ Object.assign(
+ this.newchallenge,
+ {
+ fen: "",
+ vid:
+ this.st.variants
+ .find(v => v.name == this.$route.query["variant"])
+ .id,
+ to: this.$route.query["challenge"],
+ color: this.$route.query["color"] || '',
+ cadence: this.$route.query["cadence"],
+ options: {},
+ memorize: false
+ }
+ );
+ window.doClick("modalNewgame");
+ },
+ this.$route.query["variant"]
+ );
+ }
+ // Connexion string won't change if disconnect/reconnect
+ this.connexionString =
+ params.socketUrl +
+ "/?sid=" + this.st.user.sid +
+ "&id=" + this.st.user.id +
+ "&tmpId=" + tmpId +
+ "&page=" +
+ // Hall: path is "/" (TODO: could be hard-coded as well)
+ encodeURIComponent(this.$route.path);
+ this.openConnection();
+ },
+ mounted: function() {
+ document.getElementById("peopleWrap")
+ .addEventListener("click", (e) => {
+ processModalClick(e, () => {
+ this.toggleSocialColor("close")
+ });
+ });
+ ["infoDiv", "newgameDiv"].forEach(eltName => {
+ document.getElementById(eltName)
+ .addEventListener("click", processModalClick);
+ });
+ document.querySelectorAll("#predefinedCadences > button").forEach(b => {
+ b.addEventListener("click", () => {
+ this.newchallenge.cadence = b.innerHTML;
+ });
+ });
+ const dispCorr = this.$route.query["disp"];
+ const showCtype =
+ dispCorr || localStorage.getItem("type-challenges") || "live";
+ const showGtype =
+ dispCorr || localStorage.getItem("type-games") || "live";
+ this.setDisplay('c', showCtype);
+ this.setDisplay('g', showGtype);
+ // Ask server for current corr games (all but mines)
+ this.loadMoreCorr();