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:
parent
6832ed3cc9
commit
70ec6d5348
10 changed files with 114 additions and 44 deletions
|
@ -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];
|
||||
|
|
|
@ -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) )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue