diff options
Diffstat (limited to 'static/pichat.js')
| -rwxr-xr-x | static/pichat.js | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/static/pichat.js b/static/pichat.js index 8e8647e..d665e2b 100755 --- a/static/pichat.js +++ b/static/pichat.js @@ -1,6 +1,7 @@ // pichat.js var Nick = null; +var LoggedIn = false; function handleMsgError(resp) { var respText = resp.responseText ? resp.responseText.trim() : false; @@ -49,6 +50,12 @@ function buildMessageDiv(msg) { + buildContent(msg.content) + '</div>'; } +function setNick(nick) { + Nick = nick; + $('#nickspan').text(nick); + $('#welcomebar').show(); +} + function submitMessage() { var content = $('#msgInput').val(); var msg = { 'nick': Nick, 'content': content, 'timestamp': new Date() }; @@ -64,8 +71,7 @@ function submitMessage() { } var onSuccess = function() {}; - var onError = function(resp, textStatus, errorThrown) { - + var onError = function(resp, textStatus, errorThrown) { handleMsgError(resp); }; @@ -87,6 +93,33 @@ function ifEnter(fn) { }; } +function login() { + var nick = $('#nickInput').val(); + var password = $('#passwordInput').val(); + var hash = hex_sha1(nick + '$' + password + '$dumpfm'); + + var onSuccess = function(json) { + $('#loginbar').hide(); + LoggedIn = true; + setNick(nick); + }; + + var onError = function(resp, textStatus, errorThrown) { + alert("Error logging in!"); + }; + + $.ajax({ + type: 'GET', + timeout: 5000, + url: 'login', + data: {'nick': nick, 'hash': hash }, + cache: false, + dataType: 'json', + success: onSuccess, + error: onError + }); +}; + function isScrolledToBottom(div) { return Math.abs(div.scrollTop - (div.scrollHeight - div.offsetHeight)) <= 3; } @@ -126,15 +159,19 @@ function refresh() { }); } - - function init() { var onSuccess = function(json) { $('#loadingbox').hide(); Nick = json.nick; - $('#nickspan').text(Nick); - $('#welcomebar').show(); + setNick(Nick); + if (json.loggedin) { + LoggedIn = true; + } else { + $('#loginbar').show(); + $('#loginSubmit').click(login); + $('#passwordInput').keyup(ifEnter(login)); + } var msgStr = $.map(json.messages, buildMessageDiv).join(''); $('#messageList').append(msgStr); @@ -148,7 +185,7 @@ function init() { var onError = function(resp, textStatus, errorThrown) { alert("Error connecting to chat server!"); - }; + }; $.ajax({ type: 'GET', |
