Mercurial > hg > rlgwebd
comparison 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 |
comparison
equal
deleted
inserted
replaced
95:e84a99712c62 | 96:7bb634f6995c |
---|---|
260 } | 260 } |
261 } | 261 } |
262 | 262 |
263 function errHandler() { | 263 function errHandler() { |
264 //debug(1, "Server unavailable?"); | 264 //debug(1, "Server unavailable?"); |
265 message("Unable to connect to the server."); | 265 message("Unable to connect to the server.", "warn"); |
266 } | 266 } |
267 | 267 |
268 function sendback(str) { | 268 function sendback(str) { |
269 /* For responding to terminal queries. */ | 269 /* For responding to terminal queries. */ |
270 var msgDict = {"id": session.id, "t": "d", "n": nsend++, "d": str}; | 270 var msgDict = {"id": session.id, "t": "d", "n": nsend++, "d": str}; |
448 message("You are now logged in as " + reply.u + "."); | 448 message("You are now logged in as " + reply.u + "."); |
449 setmode("choose"); | 449 setmode("choose"); |
450 } | 450 } |
451 else if (reply.t == 'E') { | 451 else if (reply.t == 'E') { |
452 debug(0, "Could not log in: " + reply.s); | 452 debug(0, "Could not log in: " + reply.s); |
453 message("Logging in failed: " + reply.s); | 453 var failmsg = "Logging in failed. "; |
454 if (reply.c == 2) | |
455 failmsg += reply.s.match(/Invalid data: (.*)/)[1]; | |
456 else if (reply.c == 3) | |
457 failmsg += "The username or password was incorrect."; | |
458 else if (reply.c == 6) | |
459 failmsg += "The server is shutting down."; | |
460 message(failmsg, "warn"); | |
454 document.getElementById("input_name").value = ""; | 461 document.getElementById("input_name").value = ""; |
455 document.getElementById("input_pw").value = ""; | 462 document.getElementById("input_pw").value = ""; |
456 } | 463 } |
457 }; | 464 }; |
458 req.open('POST', '/login', true); | 465 req.open('POST', '/login', true); |
628 } | 635 } |
629 else if (reply.t == 'E') { | 636 else if (reply.t == 'E') { |
630 debug(1, "Could not start game: " + reply.s); | 637 debug(1, "Could not start game: " + reply.s); |
631 if (reply.c == 1) { | 638 if (reply.c == 1) { |
632 logout(); | 639 logout(); |
633 message("The server forgot about you, please log in again."); | 640 message("The server forgot about you, please log in again.", "warn"); |
634 } | 641 } |
635 else if (reply.c == 4) { | 642 else if (reply.c == 4) { |
636 message("You can't play that game because it is currently being " + | 643 message("You can't play that game because it is currently being " + |
637 "played over SSH."); | 644 "played over SSH.", "warn"); |
638 } | 645 } |
639 else if (reply.c == 7) { | 646 else if (reply.c == 7) { |
640 message("The game is being saved, try again in a few seconds."); | 647 message("The game is being saved, try again in a few seconds."); |
641 } | 648 } |
642 else { | 649 else { |
643 message("The server says it can't start your game because \"" + | 650 message("The server says it can't start your game because \"" + |
644 reply.s + "\". This is probably a bug."); | 651 reply.s + "\". This is probably a bug.", "warn"); |
645 } | 652 } |
646 } | 653 } |
647 }; | 654 }; |
648 req.open('POST', '/play', true); | 655 req.open('POST', '/play', true); |
649 req.send(JSON.stringify(smsg)); | 656 req.send(JSON.stringify(smsg)); |
674 setmode("watch"); | 681 setmode("watch"); |
675 getData(); | 682 getData(); |
676 } | 683 } |
677 else if (reply.t == 'E') { | 684 else if (reply.t == 'E') { |
678 debug(1, "Could not watch game " + gamenumber + ": " + reply.s); | 685 debug(1, "Could not watch game " + gamenumber + ": " + reply.s); |
679 message("The game could not be watched: " + reply.s); | 686 message("The game could not be watched: " + reply.s, "warn"); |
680 getcurrent(); | 687 getcurrent(); |
681 } | 688 } |
682 }; | 689 }; |
683 req.open('POST', '/watch', true); | 690 req.open('POST', '/watch', true); |
684 req.send(JSON.stringify(wmsg)); | 691 req.send(JSON.stringify(wmsg)); |
734 else | 741 else |
735 failmsg += " This is probably a bug."; | 742 failmsg += " This is probably a bug."; |
736 } | 743 } |
737 else | 744 else |
738 failmsg += " This is probably a bug."; | 745 failmsg += " This is probably a bug."; |
739 message(failmsg); | 746 message(failmsg, "warn"); |
740 document.getElementById("regin_name").value = ""; | 747 document.getElementById("regin_name").value = ""; |
741 document.getElementById("regin_pw").value = ""; | 748 document.getElementById("regin_pw").value = ""; |
742 document.getElementById("regin_email").value = ""; | 749 document.getElementById("regin_email").value = ""; |
743 } | 750 } |
744 }; | 751 }; |
846 element.style.display = "block"; | 853 element.style.display = "block"; |
847 else | 854 else |
848 element.style.display = "none"; | 855 element.style.display = "none"; |
849 } | 856 } |
850 | 857 |
851 function message(msg, type) { | 858 function message(msg, mtype) { |
852 var msgdiv = document.createElement("div"); | 859 var msgdiv = document.createElement("div"); |
853 var msgtext = document.createTextNode(msg); | 860 var msgtext = document.createTextNode(msg); |
854 msgdiv.appendChild(msgtext); | 861 msgdiv.appendChild(msgtext); |
862 if (mtype) { | |
863 msgdiv.className = mtype; | |
864 } | |
855 var msgcontainer = document.getElementById("messages"); | 865 var msgcontainer = document.getElementById("messages"); |
856 msgcontainer.insertBefore(msgdiv, msgcontainer.firstChild); | 866 msgcontainer.insertBefore(msgdiv, msgcontainer.firstChild); |
857 } | 867 } |
858 | 868 |
859 function debug(level, msg) { | 869 function debug(level, msg) { |