view options.js @ 163:0f6da35b27a0

RLGWebD: overhaul the list of current games. The /status WebSocket now only sends a complete list when opened. At 40-second intervals, it sends a list of games that have been updated in the last minute. The client now uses this to keep its own list.
author John "Elwin" Edwards
date Sun, 04 Jan 2015 16:55:57 -0500
parents 99fbc7c55b81
children
line wrap: on
line source

function setup() {
  if (!("lcred" in sessionStorage)) {
    setstatus("You are not logged in.");
    return;
  }
  var url = "/uinfo/email?key=" + sessionStorage.getItem("lcred");
  var req = new XMLHttpRequest();
  req.onreadystatechange = function () {
    if (req.readyState != 4 || req.status != 200) 
      return;
    var reply = JSON.parse(req.responseText);
    if (!("email" in reply)) {
      setstatus("You are not logged in.");
    }
    else {
      setstatus("You are logged in as " + reply.u + ".");
      document.getElementById("input_email").value = reply["email"];
      //document.getElementById("switch").style.display = "block";
    }
  }
  req.open('GET', url, true);
  req.send();
}

function setstatus(stattext) {
  var statnode = document.createTextNode(stattext);
  var statdiv = document.getElementById("ostat");
  statdiv.replaceChild(statnode, statdiv.firstChild);
}

function postemail() {
  if (!("lcred" in sessionStorage))
    return;
  var posturl = "/uinfo/email?key=" + sessionStorage.getItem("lcred");
  var msg = {"v": document.getElementById("input_email").value};
  var req = new XMLHttpRequest();
  req.open('POST', posturl, true);
  req.send(JSON.stringify(msg));
}

function postpw() {
  if (!("lcred" in sessionStorage))
    return;
  var posturl = "/uinfo/pw?key=" + sessionStorage.getItem("lcred");
  var msg = {"v": document.getElementById("input_pw").value};
  var req = new XMLHttpRequest();
  req.open('POST', posturl, true);
  req.send(JSON.stringify(msg));
}