changeset 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 f8c89e1ed33a
files options.html options.js style-rlg.css
diffstat 3 files changed, 23 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/options.html	Tue Aug 28 17:38:25 2012 -0700
+++ b/options.html	Wed Aug 29 07:55:26 2012 -0700
@@ -7,6 +7,7 @@
 </head>
 <body onload="setup()">
 <h1>RLG-Web Options</h1>
+<div id="ostat">Loading...</div>
 <div id="switch">
   <span class="ibutton">E-mail</span>
   <span class="ibutton">Password</span>
--- 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;
--- a/style-rlg.css	Tue Aug 28 17:38:25 2012 -0700
+++ b/style-rlg.css	Wed Aug 29 07:55:26 2012 -0700
@@ -107,7 +107,12 @@
 
 /* For options.html */
 div#switch {
+	display: none;
 	margin-bottom: 1em;
 	padding: 0.4em 0.4em;
 	text-align: center;
 }
+
+div#ostat {
+	text-align: center;
+}