diff options.js @ 130:a2e071a95055

Options page: handle not being logged in. The options page now displays whether or not the user is logged in.
author John "Elwin" Edwards <elwin@sdf.org>
date Wed, 29 Aug 2012 07:55:26 -0700
parents 46822bd329da
children 99fbc7c55b81
line wrap: on
line diff
--- a/options.js	Tue Aug 28 17:38:25 2012 -0700
+++ b/options.js	Wed Aug 29 07:55:26 2012 -0700
@@ -1,20 +1,33 @@
 function setup() {
-  if (!("lcred" in sessionStorage))
+  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))
-      return;
-    document.getElementById("input_email").value = reply["email"];
+    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;