diff --git a/changelog b/changelog
index 9a7fd4c2..90a4eaa0 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+Thu Nov 14 19:49 2013 CDT
+ * www/assets/js/callbacks.js: Fix AFK users on join and profile
+ updates.
+
Wed Nov 13 22:35 2013 CDT
* www/assets/js/util.js, www/assets/js/ui.js,
www/assets/js/callbacks.js, www/channel.html:
diff --git a/www/assets/js/callbacks.js b/www/assets/js/callbacks.js
index 6453ff09..f3d62720 100644
--- a/www/assets/js/callbacks.js
+++ b/www/assets/js/callbacks.js
@@ -682,12 +682,21 @@ Callbacks = {
div.data("leader", false);
div.data("profile", data.profile);
div.data("icon", data.meta.icon);
+ div.data("afk", data.meta.afk);
formatUserlistItem(div, data);
addUserDropdown(div, data);
div.appendTo($("#userlist"));
sortUserlist();
},
+ setUserProfile: function (data) {
+ var user = findUserlistItem(data.name);
+ if (user === null)
+ return;
+ user.data("profile", data.profile);
+ formatUserlistItem(user);
+ },
+
setLeader: function (name) {
$(".userlist_item").each(function () {
$(this).find(".icon-star-empty").remove();
@@ -741,6 +750,13 @@ Callbacks = {
formatUserlistItem(user);
},
+ /* DEPRECATED
+ SEE:
+ - setUserIcon
+ - setAFK
+ - setLeader
+ - setUserProfile
+ */
updateUser: function(data) {
if(data.name == CLIENT.name) {
CLIENT.leader = data.leader;
@@ -774,13 +790,8 @@ Callbacks = {
var user = findUserlistItem(data.name);
if(user === null)
return;
- user.find(".icon-time").remove();
- $(user[0].children[1]).css("font-style", "");
- if(data.afk) {
- $("").addClass("icon-time")
- .appendTo(user[0].children[0]);
- $(user[0].children[1]).css("font-style", "italic");
- }
+ user.data("afk", data.afk);
+ formatUserlistItem(user);
if(USEROPTS.sort_afk)
sortUserlist();
},
diff --git a/www/assets/js/util.js b/www/assets/js/util.js
index 181aada2..7860dee8 100644
--- a/www/assets/js/util.js
+++ b/www/assets/js/util.js
@@ -83,7 +83,8 @@ function formatUserlistItem(div) {
rank: div.data("rank"),
profile: div.data("profile") || { image: "", text: ""},
leader: div.data("leader") || false,
- icon: div.data("icon") || false
+ icon: div.data("icon") || false,
+ afk: div.data("afk") || false
};
var name = $(div.children()[1]);
name.removeClass();
@@ -122,7 +123,7 @@ function formatUserlistItem(div) {
if(data.leader) {
$("").addClass("icon-star-empty").appendTo(flair);
}
- if(data.meta && data.meta.afk) {
+ if(data.afk) {
name.css("font-style", "italic");
$("").addClass("icon-time").appendTo(flair);
}