X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=www%2Fjs%2Fblerg.js;h=83a8a88683f523c3554b05f72e5a49a8fab816af;hb=756f2f096cf6a6f7126e053846c1b87b089e30ce;hp=724405fe8d798fbd3a67a6ea86aba33e84549dd9;hpb=69a7870e1420f767d56aae94d97b1c871b21217a;p=blerg.git diff --git a/www/js/blerg.js b/www/js/blerg.js index 724405f..83a8a88 100644 --- a/www/js/blerg.js +++ b/www/js/blerg.js @@ -31,6 +31,8 @@ function LoginStatus() { if (cookies.auth && cookies.username) { this.loggedIn = true; this.username = cookies.username; + this.requestFeedStatus(); + this.feedStatusUpdateInterval = setInterval(this.requestFeedStatus.bind(this), 900000); } else { this.loggedIn = false; this.username = null; @@ -51,6 +53,8 @@ LoginStatus.prototype.login = function(username, password) { this.username = username; document.cookie = "username=" + username; $('login.password').value = ''; + this.requestFeedStatus(); + this.feedStatusUpdateInterval = setInterval(this.requestFeedStatus.bind(this), 900000); this.update(); } else { alert("Could not log in"); @@ -73,6 +77,7 @@ LoginStatus.prototype.logout = function() { this.loggedIn = false; document.cookie = "auth=; expires=1-Jan-1970 00:00:00 GMT"; this.update(); + clearInterval(this.feedStatusUpdateInterval); }.bind(this) }); document.cookie = "username=; expires=1-Jan-1970 00:00:00 GMT"; @@ -123,6 +128,19 @@ LoginStatus.prototype.post = function(msg) { }); } +LoginStatus.prototype.requestFeedStatus = function() { + new Ajax.Request('/feedinfo', { + parameters: { username: this.username }, + onSuccess: function(r) { + var j = r.responseText.evalJSON(); + if (j['new'] > 0) { + $('newFeedMessages').update('(' + j['new'] + ' new)'); + } else { + $('newFeedMessages').update(''); + } + } + }); +} // Base object for paged data function Pager() { @@ -540,6 +558,7 @@ function Feed(m) { if (!this.pageStart) this.pageStart = response.length - 1; this.itemCount = response.length; + loginStatus.requestFeedStatus(); } this.displayItems(); }.bind(this),