Mercurial > hg > rlgwebd
diff rlgterm.js @ 96:7bb634f6995c
RLG-Web client: improvements to UI messages.
Improve the appearance of the message area, make warnings a different
color from other messages, and make some message texts more helpful.
author | John "Elwin" Edwards <elwin@sdf.org> |
---|---|
date | Wed, 11 Jul 2012 11:10:50 -0700 |
parents | 597e9477b8ae |
children | 8a748eac7c11 |
line wrap: on
line diff
--- a/rlgterm.js Wed Jul 11 10:43:40 2012 -0700 +++ b/rlgterm.js Wed Jul 11 11:10:50 2012 -0700 @@ -262,7 +262,7 @@ function errHandler() { //debug(1, "Server unavailable?"); - message("Unable to connect to the server."); + message("Unable to connect to the server.", "warn"); } function sendback(str) { @@ -450,7 +450,14 @@ } else if (reply.t == 'E') { debug(0, "Could not log in: " + reply.s); - message("Logging in failed: " + reply.s); + var failmsg = "Logging in failed. "; + if (reply.c == 2) + failmsg += reply.s.match(/Invalid data: (.*)/)[1]; + else if (reply.c == 3) + failmsg += "The username or password was incorrect."; + else if (reply.c == 6) + failmsg += "The server is shutting down."; + message(failmsg, "warn"); document.getElementById("input_name").value = ""; document.getElementById("input_pw").value = ""; } @@ -630,18 +637,18 @@ debug(1, "Could not start game: " + reply.s); if (reply.c == 1) { logout(); - message("The server forgot about you, please log in again."); + message("The server forgot about you, please log in again.", "warn"); } else if (reply.c == 4) { message("You can't play that game because it is currently being " + - "played over SSH."); + "played over SSH.", "warn"); } else if (reply.c == 7) { message("The game is being saved, try again in a few seconds."); } else { message("The server says it can't start your game because \"" + - reply.s + "\". This is probably a bug."); + reply.s + "\". This is probably a bug.", "warn"); } } }; @@ -676,7 +683,7 @@ } else if (reply.t == 'E') { debug(1, "Could not watch game " + gamenumber + ": " + reply.s); - message("The game could not be watched: " + reply.s); + message("The game could not be watched: " + reply.s, "warn"); getcurrent(); } }; @@ -736,7 +743,7 @@ } else failmsg += " This is probably a bug."; - message(failmsg); + message(failmsg, "warn"); document.getElementById("regin_name").value = ""; document.getElementById("regin_pw").value = ""; document.getElementById("regin_email").value = ""; @@ -848,10 +855,13 @@ element.style.display = "none"; } -function message(msg, type) { +function message(msg, mtype) { var msgdiv = document.createElement("div"); var msgtext = document.createTextNode(msg); msgdiv.appendChild(msgtext); + if (mtype) { + msgdiv.className = mtype; + } var msgcontainer = document.getElementById("messages"); msgcontainer.insertBefore(msgdiv, msgcontainer.firstChild); }