Mercurial > hg > rlgwebd
changeset 89:6145e1ea7ace
RLG-Web: add a new message framework.
Add a message() function meant for UI messages, not debugging info.
author | John "Elwin" Edwards <elwin@sdf.org> |
---|---|
date | Tue, 10 Jul 2012 08:08:54 -0700 |
parents | d644e7d46852 |
children | 6c6a6e4f1e5b |
files | index-rlg.html rlgterm.js style-rlg.css |
diffstat | 3 files changed, 37 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/index-rlg.html Mon Jul 09 12:51:12 2012 -0700 +++ b/index-rlg.html Tue Jul 10 08:08:54 2012 -0700 @@ -130,6 +130,8 @@ <div class="centerb"><a href="/about.html">Information</a></div> <div class="centerb"><span class="ibutton" onclick="toggleBlock('debug')">Messages</span></div> </div> +<div class="modal" id="messages"> +</div> <div id="debug"> </div> </body>
--- a/rlgterm.js Mon Jul 09 12:51:12 2012 -0700 +++ b/rlgterm.js Tue Jul 10 08:08:54 2012 -0700 @@ -261,7 +261,8 @@ } function errHandler() { - debug(1, "Server unavailable?"); + //debug(1, "Server unavailable?"); + message("Unable to connect to the server."); } function sendback(str) { @@ -445,11 +446,13 @@ session.lcred = reply.k; session.lname = reply.u; setTitle("Logged in as " + reply.u); - debug(1, "Logged in as " + reply.u + " with id " + reply.k); + debug(0, "Logged in as " + reply.u + " with id " + reply.k); + message("You are now logged in as " + reply.u + "."); setmode("choose"); } else if (reply.t == 'E') { - debug(1, "Could not log in: " + reply.s); + debug(0, "Could not log in: " + reply.s); + message("Logging in failed: " + reply.s); document.getElementById("input_name").value = ""; document.getElementById("input_pw").value = ""; } @@ -622,11 +625,13 @@ termemu.resize(reply.h, reply.w); setTitle("Playing as " + session.lname); debug(1, "Playing with id " + session.id); + message("Your game has started."); setmode("play"); getData(); } else if (reply.t == 'E') { debug(1, "Could not start game: " + reply.s); + message("Your game could not be started: " + reply.s); if (reply.c == 1) { logout(); } @@ -656,11 +661,13 @@ termemu.toAltBuf(); setTitle("Watching"); debug(1, "Watching with id " + session.id); + message("You are now watching."); setmode("play"); getData(); } else if (reply.t == 'E') { debug(1, "Could not watch game " + gamenumber + ": " + reply.s); + message("The game could not be watched: " + reply.s); getcurrent(); } }; @@ -693,14 +700,17 @@ if (reply.t == 'r') { /* Success */ debug(1, "Registered account: " + reply.u); + message("Welcome " + reply.u + ", you are now registered."); session.lcred = reply.k; session.lname = reply.u; setTitle("Logged in as " + session.lname); debug(1, "Logged in as " + session.lname + " with id " + session.lcred); + message("You are now logged in as " + reply.u + "."); setmode("choose"); } else if (reply.t == 'E') { debug(1, "Could not register: " + reply.s); + message("Registration failed."); document.getElementById("regin_name").value = ""; document.getElementById("regin_pw").value = ""; document.getElementById("regin_email").value = ""; @@ -797,6 +807,14 @@ element.style.display = "none"; } +function message(msg, type) { + var msgdiv = document.createElement("div"); + var msgtext = document.createTextNode(msg); + msgdiv.appendChild(msgtext); + var msgcontainer = document.getElementById("messages"); + msgcontainer.insertBefore(msgdiv, msgcontainer.firstChild); +} + function debug(level, msg) { if (level < debugSuppress) return;
--- a/style-rlg.css Mon Jul 09 12:51:12 2012 -0700 +++ b/style-rlg.css Tue Jul 10 08:08:54 2012 -0700 @@ -80,6 +80,20 @@ font-size: 12px; } +div#messages { + width: 100%; + max-height: 10em; + overflow: scroll; + clear: both; +} + +div#messages div { + margin: 0.4em 0.8em; + padding: 0.4em 0.4em; + font-weight: bold; + background-color: white; +} + div#debug { display: none; }