width: 100%;
position: fixed;
bottom: 0;
+ display: none;
}
#input {
width: 100%;
font-size: 85%;
text-align: right;
}
+ .status {
+ color: #dd8;
+ }
+ .local.self {
+ color: #d8d;
+ }
+ .self {
+ color: #8d8;
+ }
+ .me {
+ color: #bbd;
+ }
.servercount {
margin-right: -0.5em;
font-size: 70%;
padding-left: 5px;
padding-right: 5px;
}
+ #getnick {
+ padding-left: 3em;
+ display: none;
+ }
/* BEGIN expando input box trick kindly provided by http://www.alistapart.com/articles/expanding-text-areas-made-elegant/ */
.expandingArea {
// UI: The DOM node for this message in the UI
function rcnick() {
- var nick = localStorage.getItem("nick");
- if (nick) {
- return nick;
- }
- return 'anonymous';
+ return localStorage.getItem("nick");
}
function rcsetnick(new_nick) {
}
}
+ function rcstart() {
+ if (rcnick()) {
+ document.getElementById("client").style.display = 'block';
+ rcconnect();
+ } else {
+ document.getElementById("getnick").style.display = 'block';
+ }
+ }
+
function rcsend(d, message) {
message.ID = new Date().getTime() + "-" + session + "-" + Math.random();
seen[make_seen_key(message.ID, message.Text)] = message;
rcaddmessagetoUI({'Text': '-!- Your nick is already ' + rcnick(), 'ServerTimes': {}});
return;
}
- message = "*** " + rcnick() + " is now known as " + rest;
- rcsetnick(rest);
+ if (rest) {
+ message = "*** " + rcnick() + " is now known as " + rest;
+ rcsetnick(rest);
+ } else {
+ rcaddmessagetoUI({'Text': '-!- /nick requires an argument', 'ServerTimes': {}});
+ return;
+ }
} else {
rcaddmessagetoUI({'Text': '-!- No such command: ' + command, 'ServerTimes': {}});
return;
}
}
+ function rcsetinitialnick() {
+ if (document.getnickform.initial_nick.value) {
+ rcsetnick(document.getnickform.initial_nick.value);
+ document.getElementById("getnick").style.display = 'none';
+ document.getElementById("client").style.display = 'block';
+ rcconnect();
+ }
+ return false;
+ }
+
// From http://www.alistapart.com/articles/expanding-text-areas-made-elegant/
function makeExpandingArea(container) {
var area = container.querySelector('textarea');
</head>
-<body onload="rcconnect()">
+<body onload="rcstart()">
<div id="container">
<div class="banner">(You are using <a href="https://github.com/chkno/reliable-chat">Reliable Chat</a>)</div>
<div id="history"></div>
<div class="expandingArea" style="visibility: hidden">
<pre><span id="historypad"></span><br></pre>
</div>
+ <div id="getnick">
+ <h1>Set your nick</h1>
+ <form name="getnickform" onsubmit="return rcsetinitialnick();">
+ <input id="initial_nick" type="text"></input>
+ <input type="submit" value="ok"></input>
+ </form>
+ </div>
<div id="client">
<div id="input">
<form name="input" onsubmit="return false" autocomplete="off">