1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-09-16 18:06:55 +00:00

3.5.393. Added api.room_add_user_badge and api.room_remove_user_badge for adding room-specific badges to users. Also, support elsewhere in the script to make that work.

This commit is contained in:
SirStendec 2016-12-07 17:58:05 -05:00
parent 6832ed3cc9
commit 70ec6d5348
10 changed files with 114 additions and 44 deletions

View file

@ -983,7 +983,7 @@ FFZ.prototype.modify_chat_room_manager = function(component) {
name = room.get('channel.display_name') || room.get('tmiRoom.displayName') || (group ? room.get('tmiRoom.name') : FFZ.get_capitalization(room_id, function(name) {
var active_channel = room === controller.get('currentRoom');
unread = utils.format_unread(active_channel ? 0 : room.get('unreadCount'));
var results = group ? [name, undefined] : f.format_display_name(name, room_id, true);
var results = group ? [utils.sanitize(name), undefined] : f.format_display_name(name, room_id, true);
name_el.innerHTML = results[0] + ' <span>' + unread + '</span>';
if ( results[1] )
row.title += '<br>' + results[1];
@ -1011,7 +1011,7 @@ FFZ.prototype.modify_chat_room_manager = function(component) {
name_el.className = 'ffz-room';
var results = group ? [name, undefined] : f.format_display_name(name, room_id, true);
var results = group ? [utils.sanitize(name), undefined] : f.format_display_name(name, room_id, true);
name_el.innerHTML = results[0] + ' <span>' + unread + '</span>';
if ( results[1] )
row.title += '<br>' + results[1];
@ -1206,7 +1206,7 @@ FFZ.prototype.modify_chat_room_manager = function(component) {
name = room.get('channel.display_name') || room.get('tmiRoom.displayName') || (group ? room.get('tmiRoom.name') : FFZ.get_capitalization(room_id, function(name) {
var active_channel = room === controller.get('currentRoom');
unread = utils.format_unread(active_channel ? 0 : room.get('unreadCount'));
var results = group ? [name, undefined] : f.format_display_name(name, room_id, true, true);
var results = group ? [utils.sanitize(name), undefined] : f.format_display_name(name, room_id, true, true);
tab.innerHTML = icon + results[0] + '<span>' + unread + '</span>';
if ( results[1] )
tab.title += '<br>' + results[1];
@ -1223,7 +1223,7 @@ FFZ.prototype.modify_chat_room_manager = function(component) {
else
tab.title = "Pinned Channel";
var results = group ? [name, undefined] : f.format_display_name(name, room_id, true, true);
var results = group ? [utils.sanitize(name), undefined] : f.format_display_name(name, room_id, true, true);
tab.innerHTML = icon + results[0] + '<span>' + unread + '</span>';
if ( results[1] )
tab.title += '<br>' + results[1];

View file

@ -973,7 +973,14 @@ FFZ.prototype.add_room = function(room_id, room) {
this.log("Adding Room: " + room_id);
// Create a basic data table for this room.
var data = this.rooms[room_id] = {id: room_id, room: room, sets: [], ext_sets: [], css: null, needs_history: false};
var data = this.rooms[room_id] = {
id: room_id,
room: room,
users: {},
sets: [],
ext_sets: [],
css: null,
needs_history: false};
if ( this.follow_sets && this.follow_sets[room_id] ) {
data.extra_sets = this.follow_sets[room_id];
@ -1103,9 +1110,20 @@ FFZ.prototype._load_room_json = function(room_id, callback, data) {
var model = this.rooms[room_id] = this.rooms[room_id] || {};
for(var key in data)
if ( key !== 'room' && data.hasOwnProperty(key) )
if ( key !== 'users' && key !== 'room' && data.hasOwnProperty(key) )
model[key] = data[key];
// Merge the user data.
for(var user_id in data.users) {
var original = model.users[user_id] || {},
new_data = data.users[user_id] || {};
model.users[user_id] = {
sets: _.uniq((original.sets || []).concat(new_data.sets || [])),
badges: _.extend(original.badges || {}, new_data.badges || {})
}
}
// Preserve the pointer to the Room instance.
/*if ( this.rooms[room_id] )
data.room = this.rooms[room_id].room;
@ -1120,7 +1138,7 @@ FFZ.prototype._load_room_json = function(room_id, callback, data) {
this.rooms[room_id] = data;*/
if ( model.css || model.moderator_badge )
if ( model.css || model.mod_urls )
utils.update_css(this._room_style, room_id, moderator_css(model) + (model.css || ""));
if ( ! this.emote_sets.hasOwnProperty(model.set) )