created: function() {
// Always add myself to players' list
this.people.push(this.st.user);
+ // Retrieve live challenge (not older than 30 minute) if any:
+ const chall = JSON.parse(localStorage.getItem("challenge") || "false");
+ if (!!chall)
+ {
+ if ((Date.now() - chall.added)/1000 <= 30*60)
+ this.challenges.push(chall);
+ else
+ localStorage.removeItem("challenge");
+ }
if (this.st.user.id > 0)
{
// Ask server for current corr games (all but mines)
{target: sid}
)));
};
- if (!!to[0])
+ if (!!to)
{
- to.forEach(pname => {
- // Challenge with targeted players
- const targetSid = this.getSid(pname);
- if (!targetSid)
- {
- if (!!warnDisconnected)
- alert("Warning: " + pname + " is not connected");
- }
- else
- doSend(code, obj, targetSid);
- });
+ // Challenge with targeted players
+ const targetSid = this.getSid(to);
+ if (!targetSid)
+ {
+ if (!!warnDisconnected)
+ alert("Warning: " + pname + " is not connected");
+ }
+ else
+ doSend(code, obj, targetSid);
}
else
{
const finishAddChallenge = (cid,warnDisconnected) => {
chall.id = cid || "c" + getRandString();
// Send challenge to peers (if connected)
- this.sendSomethingTo(cto, "challenge", {chall:chall}, !!warnDisconnected);
+ this.sendSomethingTo(chall.to, "challenge", {chall:chall}, !!warnDisconnected);
chall.added = Date.now();
chall.type = ctype;
chall.vname = vname;
chall.from = this.st.user;
this.challenges.push(chall);
+ localStorage.setItem("challenge", JSON.stringify(chall));
document.getElementById("modalNewgame").checked = false;
};
const cIdx = this.challenges.findIndex(