mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-09-17 10:16:57 +00:00
3.5.409. Fix player positioning. Fix cheer rendering with hashtags. Add option to hide cheering with #charity notices. Fix highlight notices not appearing. Fix clicking a dashboard widget's settings balloon. Dark CSS fixes for dashboard and clips updates. Refactor CSS for chatlines to remove the need for :before. Fix debug logging never finishing when the client fails to get a logviewer token.
This commit is contained in:
parent
1b9b695bdd
commit
6b13ac3265
24 changed files with 286 additions and 344 deletions
|
@ -96,6 +96,16 @@ FFZ.settings_info.bits_pinned_expand = {
|
|||
}
|
||||
|
||||
|
||||
FFZ.settings_info.bits_disable_charity = {
|
||||
type: "boolean",
|
||||
value: false,
|
||||
|
||||
category: "Chat Filtering",
|
||||
name: "Disable Cheering with #Charity Notices",
|
||||
help: "Stop displaying Twitch's notices about Cheering with #Charity."
|
||||
}
|
||||
|
||||
|
||||
|
||||
// --------------------
|
||||
// Initialization
|
||||
|
|
|
@ -38,7 +38,7 @@ FFZ.prototype.modify_dashboard_widget = function(component) {
|
|||
ffz_init: function() {
|
||||
var t = this;
|
||||
this.$(".dash-widget__header").click(function(e) {
|
||||
if ( ! f.settings.dash_widget_click_to_expand || e.target.tagName === 'button' || jQuery(e.target).parents('button').length )
|
||||
if ( ! f.settings.dash_widget_click_to_expand || e.target.tagName === 'button' || jQuery(e.target).parents('button').length || jQuery(e.target).parents('.balloon-wrapper').length )
|
||||
return;
|
||||
|
||||
t.actions.collapseWidget.call(t);
|
||||
|
|
|
@ -356,10 +356,9 @@ FFZ.settings_info.chat_rows = {
|
|||
help: "Display alternating background colors for lines in chat.",
|
||||
|
||||
on_update: function(val) {
|
||||
this.toggle_style('chat-background', !this.has_bttv && val);
|
||||
this._toggle_chat_setup_style();
|
||||
}
|
||||
};
|
||||
this.toggle_style('chat-background', !this.has_bttv && val);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
FFZ.settings_info.chat_separators = {
|
||||
|
@ -382,14 +381,12 @@ FFZ.settings_info.chat_separators = {
|
|||
help: "Display thin lines between chat messages for further visual separation.",
|
||||
|
||||
on_update: function(val) {
|
||||
this._toggle_chat_setup_style();
|
||||
|
||||
this.toggle_style('chat-separator', !this.has_bttv && val);
|
||||
this.toggle_style('chat-separator-3d', !this.has_bttv && val === 2);
|
||||
this.toggle_style('chat-separator-3d-inset', !this.has_bttv && val === 3);
|
||||
this.toggle_style('chat-separator-wide', !this.has_bttv && val === 4);
|
||||
}
|
||||
};
|
||||
this.toggle_style('chat-separator', !this.has_bttv && val);
|
||||
this.toggle_style('chat-separator-3d', !this.has_bttv && val === 2);
|
||||
this.toggle_style('chat-separator-3d-inset', !this.has_bttv && val === 3);
|
||||
this.toggle_style('chat-separator-wide', !this.has_bttv && val === 4);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
FFZ.settings_info.old_sub_notices = {
|
||||
|
@ -440,7 +437,7 @@ FFZ.settings_info.chat_padding = {
|
|||
help: "Reduce the amount of padding around chat messages to fit more on-screen at once.",
|
||||
|
||||
on_update: function(val) { this.toggle_style('chat-padding', !this.has_bttv && val); }
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
FFZ.settings_info.high_contrast_chat = {
|
||||
|
@ -666,7 +663,6 @@ FFZ.prototype.setup_line = function() {
|
|||
utils.toggle_cls('ffz-padded-emoticons')(!this.has_bttv && this.settings.emote_alignment === 1);
|
||||
utils.toggle_cls('ffz-baseline-emoticons')(!this.has_bttv && this.settings.emote_alignment === 2);
|
||||
|
||||
this._toggle_chat_setup_style();
|
||||
this.toggle_style('chat-padding', !this.has_bttv && this.settings.chat_padding);
|
||||
this.toggle_style('chat-background', !this.has_bttv && this.settings.chat_rows);
|
||||
|
||||
|
@ -692,15 +688,6 @@ FFZ.prototype.setup_line = function() {
|
|||
}
|
||||
|
||||
|
||||
FFZ.prototype._toggle_chat_setup_style = function() {
|
||||
this.toggle_style('chat-setup', !this.has_bttv && (
|
||||
this.settings.chat_mod_icon_visibility > 1 ||
|
||||
this.settings.chat_separators ||
|
||||
this.settings.chat_rows ||
|
||||
this.settings.highlight_messages_with_mod_card));
|
||||
}
|
||||
|
||||
|
||||
FFZ.prototype.save_aliases = function() {
|
||||
this.log("Saving " + Object.keys(this.aliases).length + " aliases to local storage.");
|
||||
localStorage.ffz_aliases = JSON.stringify(this.aliases);
|
||||
|
|
|
@ -80,7 +80,6 @@ FFZ.settings_info.highlight_messages_with_mod_card = {
|
|||
help: "Highlight a user's messages in chat when their moderation card is open.",
|
||||
|
||||
on_update: function(val) {
|
||||
this._toggle_chat_setup_style();
|
||||
if ( ! this._mod_card )
|
||||
return;
|
||||
|
||||
|
@ -128,7 +127,6 @@ FFZ.settings_info.chat_mod_icon_visibility = {
|
|||
help: "Choose when you should see in-line moderation icons in chat.",
|
||||
|
||||
on_update: function(val) {
|
||||
this._toggle_chat_setup_style();
|
||||
var settings = utils.ember_settings();
|
||||
if ( settings )
|
||||
settings.set('showModIcons', val === 1);
|
||||
|
@ -842,7 +840,7 @@ FFZ.prototype.modify_moderation_card = function(component) {
|
|||
var was_at_bottom = history.scrollTop >= (history.scrollHeight - history.clientHeight),
|
||||
last_line = history.querySelector('.chat-line:last-of-type'),
|
||||
ll_date = last_line && last_line.getAttribute('data-date'),
|
||||
date = message.date.toLocaleDateString();
|
||||
date = message.date && message.date.toLocaleDateString();
|
||||
|
||||
if ( last_line.classList.contains('no-messages') ) {
|
||||
last_line.parentElement.removeChild(last_line);
|
||||
|
@ -1559,7 +1557,7 @@ FFZ.prototype._build_mod_card_history = function(msg, modcard, show_from, ts_cli
|
|||
l_el.setAttribute('data-sender', msg.from);
|
||||
l_el.setAttribute('data-id', msg.tags && msg.tags.id);
|
||||
l_el.setAttribute('data-lv-id', msg.lv_id);
|
||||
l_el.setAttribute('data-date', msg.date.toLocaleDateString());
|
||||
l_el.setAttribute('data-date', msg.date && msg.date.toLocaleDateString());
|
||||
l_el.setAttribute('data-deleted', msg.deleted || false);
|
||||
|
||||
l_el.innerHTML = out.join("");
|
||||
|
|
|
@ -945,7 +945,7 @@ FFZ.prototype._update_room_badge_css = function(room_id) {
|
|||
output = [];
|
||||
|
||||
// For rooms that don't have sub badges set.
|
||||
if ( ! badges.subscriber ) {
|
||||
if ( badges && ! badges.subscriber ) {
|
||||
var BadgeService = utils.ember_lookup('service:badges'),
|
||||
global = BadgeService && BadgeService.badgeCollection && BadgeService.badgeCollection.global;
|
||||
badges.subscriber = global.subscriber;
|
||||
|
@ -2068,6 +2068,8 @@ FFZ.prototype._modify_room = function(room) {
|
|||
notice_type = msg.tags && msg.tags['msg-id'],
|
||||
is_whisper = msg.style === 'whisper';
|
||||
|
||||
if ( notice_type === 'charity' && f.settings.bits_disable_charity )
|
||||
return;
|
||||
|
||||
// If this message is already in the room, discard the duplicate.
|
||||
if ( msg_id && this.ffz_ids && this.ffz_ids[msg_id] )
|
||||
|
|
|
@ -84,7 +84,6 @@ FFZ.prototype.setup_bttv = function(delay) {
|
|||
this.disconnect_extra_chat();
|
||||
|
||||
// Disable style blocks.
|
||||
this.toggle_style('chat-setup');
|
||||
this.toggle_style('chat-padding');
|
||||
this.toggle_style('chat-background');
|
||||
|
||||
|
|
|
@ -53,6 +53,39 @@
|
|||
}
|
||||
|
||||
|
||||
.yin-alert {
|
||||
background-color: lighten(@nav-bg-color, 10%);
|
||||
|
||||
.yin-link {
|
||||
color: #fff;
|
||||
|
||||
&:hover {
|
||||
background-color: fade(white, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.ct-editable-text {
|
||||
&:hover {
|
||||
background-color: transparent;
|
||||
&:after {
|
||||
background-color: fade(white, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ct-text-input {
|
||||
background-color: fade(white, 10%);
|
||||
color: white;
|
||||
border-color: fade(white, 20%);
|
||||
|
||||
&:focus {
|
||||
border-color: fade(white, 50%);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Clip Center?
|
||||
.ce-clip-center:not(.ce-clip-center--editing) .ce-clip-center__pre-control {
|
||||
background-color: @nav-bg-color;
|
||||
|
|
|
@ -61,7 +61,7 @@ FFZ.channel_metadata = {};
|
|||
|
||||
// Version
|
||||
var VER = FFZ.version_info = {
|
||||
major: 3, minor: 5, revision: 405,
|
||||
major: 3, minor: 5, revision: 409,
|
||||
toString: function() {
|
||||
return [VER.major, VER.minor, VER.revision].join(".") + (VER.extra || "");
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
.ffz-dark .badge.invert-invert,
|
||||
.theatre .badge.invert-invert,
|
||||
.dark .badge.invert-invert,
|
||||
.force-dark .badge.invert-invert,
|
||||
.badge:not(.no-invert):not(.invert-invert) {
|
||||
filter: invert(75%);
|
||||
}
|
||||
|
@ -15,7 +14,6 @@
|
|||
.badge.colored,
|
||||
.ffz-dark .badge:not(.invert-invert),
|
||||
.theatre .badge:not(.invert-invert),
|
||||
.dark .badge:not(.invert-invert),
|
||||
.force-dark .badge:not(.invert-invert) {
|
||||
.dark .badge:not(.invert-invert) {
|
||||
filter: none !important;
|
||||
}
|
|
@ -1,86 +1,79 @@
|
|||
/* Regular Alternating Background */
|
||||
.conversation-chat-lines > div:nth-child(2n+0):before,
|
||||
.chat-line:nth-child(2n+0):before {
|
||||
.conversation-chat-lines > div:nth-child(2n+0),
|
||||
.chat-line:nth-child(2n+0) {
|
||||
background-color: rgba(0,0,0, 0.1);
|
||||
}
|
||||
|
||||
|
||||
/* Dark: Alternating Background */
|
||||
.ffz-dark .conversation-chat-lines > div:nth-child(2n+0):before,
|
||||
.ffz-dark .chat-history .chat-line:nth-child(2n+0):before,
|
||||
.ffz-dark .conversation-chat-lines > div:nth-child(2n+0),
|
||||
.ffz-dark .chat-history .chat-line:nth-child(2n+0),
|
||||
|
||||
.theatre .conversation-chat-lines > div:nth-child(2n+0):before,
|
||||
.theatre .chat-line:nth-child(2n+0):before,
|
||||
.theatre .conversation-chat-lines > div:nth-child(2n+0),
|
||||
.theatre .chat-line:nth-child(2n+0),
|
||||
|
||||
.dark .chat-line:nth-child(2n+0):before,
|
||||
.force-dark .chat-line:nth-child(2n+0):before {
|
||||
.dark .chat-line:nth-child(2n+0) {
|
||||
background-color: rgba(255,255,255, 0.05);
|
||||
}
|
||||
|
||||
|
||||
/* DEPRECIATED: Whisper Backgrounds */
|
||||
.chat-line.whisper:before {
|
||||
.chat-line.whisper {
|
||||
background-color: rgba(185, 163, 227, 0.2);
|
||||
}
|
||||
|
||||
|
||||
.chat-line.whisper:nth-child(2n+0):before {
|
||||
.chat-line.whisper:nth-child(2n+0) {
|
||||
background-color: rgba(185, 163, 227, 0.4);
|
||||
}
|
||||
|
||||
.theatre .chat-line.whisper:before,
|
||||
.dark .chat-line.whisper:before,
|
||||
.force-dark .chat-line.whisper:before {
|
||||
.theatre .chat-line.whisper,
|
||||
.dark .chat-line.whisper {
|
||||
background-color: rgba(100, 65, 165, 0.2);
|
||||
}
|
||||
|
||||
.theatre .chat-line.whisper:nth-child(2n+0):before,
|
||||
.dark .chat-line.whisper:nth-child(2n+0):before,
|
||||
.force-dark .chat-line.whisper:nth-child(2n+0):before {
|
||||
.theatre .chat-line.whisper:nth-child(2n+0),
|
||||
.dark .chat-line.whisper:nth-child(2n+0) {
|
||||
background-color: rgba(100, 65, 165, 0.4);
|
||||
}
|
||||
|
||||
|
||||
/* Chat History: Original Sender */
|
||||
.chat-history .chat-line.original-sender:before {
|
||||
.chat-history .chat-line.original-sender {
|
||||
background-color: rgba(0,127,255, 0.2);
|
||||
}
|
||||
|
||||
.chat-history .chat-line.original-sender:nth-child(2n+0):before {
|
||||
.chat-history .chat-line.original-sender:nth-child(2n+0) {
|
||||
background-color: rgba(0,127,255, 0.4);
|
||||
}
|
||||
|
||||
.theatre .chat-history .chat-line.original-sender:before,
|
||||
.dark .chat-history .chat-line.original-sender:before,
|
||||
.force-dark .chat-history .chat-line.original-sender:before {
|
||||
.theatre .chat-history .chat-line.original-sender,
|
||||
.dark .chat-history .chat-line.original-sender {
|
||||
background-color: rgba(0,63,127, 0.2);
|
||||
}
|
||||
|
||||
.theatre .chat-history .chat-line.original-sender:nth-child(2n+0):before,
|
||||
.dark .chat-history .chat-line.original-sender:nth-child(2n+0):before,
|
||||
.force-dark .chat-history .chat-line.original-sender:nth-child(2n+0):before {
|
||||
.theatre .chat-history .chat-line.original-sender:nth-child(2n+0),
|
||||
.dark .chat-history .chat-line.original-sender:nth-child(2n+0) {
|
||||
background-color: rgba(0,63,127, 0.4);
|
||||
}
|
||||
|
||||
|
||||
/* Chat History: Original Message */
|
||||
.chat-history .chat-line.original-msg:before {
|
||||
.chat-history .chat-line.original-msg {
|
||||
background-color: rgba(0,255,127, 0.4);
|
||||
}
|
||||
|
||||
.chat-history .chat-line.original-msg:nth-child(2n+0):before {
|
||||
.chat-history .chat-line.original-msg:nth-child(2n+0) {
|
||||
background-color: rgba(0,255,127, 0.8);
|
||||
}
|
||||
|
||||
.theatre .chat-history .chat-line.original-msg:before,
|
||||
.dark .chat-history .chat-line.original-msg:before,
|
||||
.force-dark .chat-history .chat-line.original-msg:before {
|
||||
.theatre .chat-history .chat-line.original-msg,
|
||||
.dark .chat-history .chat-line.original-msg {
|
||||
background-color: rgba(0,127,63, 0.4);
|
||||
}
|
||||
|
||||
.theatre .chat-history .chat-line.original-msg:nth-child(2n+0):before,
|
||||
.dark .chat-history .chat-line.original-msg:nth-child(2n+0):before,
|
||||
.force-dark .chat-history .chat-line.original-msg:nth-child(2n+0):before {
|
||||
.theatre .chat-history .chat-line.original-msg:nth-child(2n+0),
|
||||
.dark .chat-history .chat-line.original-msg:nth-child(2n+0) {
|
||||
background-color: rgba(0,127,63, 0.8);
|
||||
}
|
||||
|
||||
|
@ -91,8 +84,7 @@
|
|||
}
|
||||
|
||||
.theatre .chat-history .chat-line.original-msg span.has-color,
|
||||
.dark .chat-history .chat-line.original-msg span.has-color,
|
||||
.force-dark .chat-history .chat-line.original-msg span.has-color {
|
||||
.dark .chat-history .chat-line.original-msg span.has-color {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
|
@ -100,34 +92,31 @@
|
|||
|
||||
|
||||
/* DEPRECIATED: Mention Backgrounds */
|
||||
.chat-line.ffz-mentioned:before {
|
||||
.chat-line.ffz-mentioned {
|
||||
background-color: rgba(255,127,127,0.2);
|
||||
}
|
||||
|
||||
.chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned:before,
|
||||
.chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned,
|
||||
|
||||
.chat-line.ffz-mentioned:nth-child(2n+0):before {
|
||||
.chat-line.ffz-mentioned:nth-child(2n+0) {
|
||||
background-color: rgba(255,127,127, 0.4);
|
||||
}
|
||||
|
||||
|
||||
/* DEPRECIATED: DARK THEME: Mention Backgrounds */
|
||||
.ffz-dark .chat-history .chat-line.ffz-mentioned:before,
|
||||
.ffz-dark .chat-history .chat-line.ffz-mentioned,
|
||||
|
||||
.theatre .chat-line.ffz-mentioned:before,
|
||||
.dark .chat-line.ffz-mentioned:before,
|
||||
.force-dark .chat-line.ffz-mentioned:before {
|
||||
.theatre .chat-line.ffz-mentioned,
|
||||
.dark .chat-line.ffz-mentioned {
|
||||
background-color: rgba(255,0,0, 0.2) !important;
|
||||
}
|
||||
|
||||
.theatre .chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned:before,
|
||||
.dark .chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned:before,
|
||||
.force-dark .chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned:before,
|
||||
.theatre .chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned,
|
||||
.dark .chat-lines > div:nth-child(2n+0) > .chat-line.ffz-mentioned,
|
||||
|
||||
.ffz-dark .chat-history .chat-line.ffz-mentioned:nth-child(2n+0):before,
|
||||
.theatre .chat-line.ffz-mentioned:nth-child(2n+0):before,
|
||||
.dark .chat-line.ffz-mentioned:nth-child(2n+0):before,
|
||||
.force-dark .chat-line.ffz-mentioned:nth-child(2n+0):before {
|
||||
.ffz-dark .chat-history .chat-line.ffz-mentioned:nth-child(2n+0),
|
||||
.theatre .chat-line.ffz-mentioned:nth-child(2n+0),
|
||||
.dark .chat-line.ffz-mentioned:nth-child(2n+0) {
|
||||
background-color: rgba(255,0,0, 0.3) !important;
|
||||
}
|
||||
|
||||
|
@ -154,16 +143,10 @@
|
|||
.ffz-dark .chat-history .mentioned,
|
||||
.ffz-dark .chat-history .mentioning,
|
||||
|
||||
.app-main.theatre .chat-container .chat-line .mentioned,
|
||||
.app-main.theatre .chat-container .chat-line .mentioning,
|
||||
.chat-container.dark .chat-line .mentioned,
|
||||
.chat-container.dark .chat-line .mentioning,
|
||||
.chat-container.force-dark .chat-line .mentioned,
|
||||
.chat-container.force-dark .chat-line .mentioning,
|
||||
.ember-chat-container.dark .chat-line .mentioned,
|
||||
.ember-chat-container.dark .chat-line .mentioning,
|
||||
.ember-chat-container.force-dark .chat-line .mentioned,
|
||||
.ember-chat-container.force-dark .chat-line .mentioning {
|
||||
.chat-container.dark .chat-line .mentioning,
|
||||
.ember-chat-container.dark .chat-line .mentioning {
|
||||
color: #8c8c8c;
|
||||
background-color: rgba(16,16,16, 0.75);
|
||||
}
|
||||
|
|
|
@ -15,8 +15,6 @@ body.ffz-bttv-dark .chat-interface,
|
|||
.theatre .chat-container,
|
||||
.theatre .ember-chat-container,
|
||||
.chat-container.dark,
|
||||
.chat-container.force-dark,
|
||||
.ember-chat-container.dark,
|
||||
.ember-chat-container.force-dark {
|
||||
.ember-chat-container.dark {
|
||||
background-color: #000 !important;
|
||||
}
|
|
@ -11,9 +11,7 @@ body.ffz-bttv .chat-line .timestamp,
|
|||
.theatre .chat-container,
|
||||
.theatre .ember-chat-container,
|
||||
.chat-container.dark,
|
||||
.chat-container.force-dark,
|
||||
.ember-chat-container.dark,
|
||||
.ember-chat-container.force-dark,
|
||||
|
||||
body.ffz-bttv-dark .chat-container,
|
||||
body.ffz-bttv-dark .chat-line .message,
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
/* 3D Inset Separators */
|
||||
.conversation-chat-lines > div:before,
|
||||
.chat-line:before {
|
||||
.conversation-chat-lines > div,
|
||||
.chat-line {
|
||||
border-top: 1px solid #aaa;
|
||||
border-bottom-color: rgba(255,255,255, 0.5);
|
||||
}
|
||||
|
||||
/* Dark: 3D Inset Separators */
|
||||
.ffz-dark .conversation-chat-lines > div:before,
|
||||
.theatre .conversation-chat-lines > div:before,
|
||||
.ember-chat .chat-messages .chat-line,
|
||||
.ember-chat .chat-messages .chat-line.admin { padding-top: 2px }
|
||||
|
||||
.theatre .chat-line:before,
|
||||
.dark .chat-line:before,
|
||||
.force-dark .chat-line:before {
|
||||
/* Dark: 3D Inset Separators */
|
||||
.ffz-dark .conversation-chat-lines > div,
|
||||
.theatre .conversation-chat-lines > div,
|
||||
|
||||
.theatre .chat-line,
|
||||
.dark .chat-line {
|
||||
border-top-color: #000;
|
||||
border-bottom-color: rgba(255,255,255, 0.1);
|
||||
}
|
|
@ -1,15 +1,17 @@
|
|||
/* 3D Separators */
|
||||
.conversation-chat-lines > div:before,
|
||||
.chat-line:before {
|
||||
.conversation-chat-lines > div,
|
||||
.chat-line {
|
||||
border-top: 1px solid rgba(255,255,255, 0.5);
|
||||
}
|
||||
|
||||
/* Dark: 3D Separators */
|
||||
.ffz-dark .conversation-chat-lines > div:before,
|
||||
.theatre .conversation-chat-lines > div:before,
|
||||
.ember-chat .chat-messages .chat-line,
|
||||
.ember-chat .chat-messages .chat-line.admin { padding-top: 2px }
|
||||
|
||||
.theatre .chat-line:before,
|
||||
.dark .chat-line:before,
|
||||
.force-dark .chat-line:before {
|
||||
/* Dark: 3D Separators */
|
||||
.ffz-dark .conversation-chat-lines > div,
|
||||
.theatre .conversation-chat-lines > div,
|
||||
|
||||
.theatre .chat-line,
|
||||
.dark .chat-line {
|
||||
border-top-color: rgba(255,255,255, 0.1);
|
||||
}
|
|
@ -1,15 +1,17 @@
|
|||
/* Wide Separators */
|
||||
.conversation-chat-lines > div:before,
|
||||
.chat-line:before {
|
||||
.conversation-chat-lines > div,
|
||||
.chat-line {
|
||||
border-top: 1px solid #aaa;
|
||||
}
|
||||
|
||||
/* Dark: Wide Separators */
|
||||
.ffz-dark .conversation-chat-lines > div:before,
|
||||
.theatre .conversation-chat-lines > div:before,
|
||||
.ember-chat .chat-messages .chat-line,
|
||||
.ember-chat .chat-messages .chat-line.admin { padding-top: 2px }
|
||||
|
||||
.theatre .chat-line:before,
|
||||
.dark .chat-line:before,
|
||||
.force-dark .chat-line:before {
|
||||
/* Dark: Wide Separators */
|
||||
.ffz-dark .conversation-chat-lines > div,
|
||||
.theatre .conversation-chat-lines > div,
|
||||
|
||||
.theatre .chat-line,
|
||||
.dark .chat-line {
|
||||
border-top-color: #000;
|
||||
}
|
|
@ -1,28 +1,30 @@
|
|||
/* Simple Separators */
|
||||
.conversation-chat-lines > div:before,
|
||||
.chat-line:before {
|
||||
.conversation-chat-lines > div,
|
||||
.chat-line {
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
/* Dark: Simple Separators */
|
||||
.ffz-dark .conversation-chat-lines > div:before,
|
||||
.theatre .conversation-chat-lines > div:before,
|
||||
.ember-chat .chat-messages .chat-line,
|
||||
.ember-chat .chat-messages .chat-line.admin { padding-bottom: 2px }
|
||||
|
||||
.theatre .chat-line:before,
|
||||
.dark .chat-line:before,
|
||||
.force-dark .chat-line:before {
|
||||
/* Dark: Simple Separators */
|
||||
.ffz-dark .conversation-chat-lines > div,
|
||||
.theatre .conversation-chat-lines > div,
|
||||
|
||||
.theatre .chat-line,
|
||||
.dark .chat-line {
|
||||
border-bottom-color: #000;
|
||||
}
|
||||
|
||||
|
||||
/* Hide First Line */
|
||||
.conversation-chat-lines > div:first-child:before,
|
||||
.chat-line:first-of-type:before {
|
||||
.conversation-chat-lines > div:first-child,
|
||||
.chat-line:first-of-type {
|
||||
border-top-color: transparent !important;
|
||||
}
|
||||
|
||||
/* Hide Last Line */
|
||||
.conversation-chat-lines > div:last-child:nth-child(odd):before,
|
||||
.chat-line:last-of-type:nth-child(odd):before {
|
||||
.conversation-chat-lines > div:last-child:nth-child(odd),
|
||||
.chat-line:last-of-type:nth-child(odd) {
|
||||
border-bottom-color: transparent !important;
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
.conversation-chat-lines > div,
|
||||
.chat-line {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.conversation-chat-lines > div:before,
|
||||
.chat-line:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
left: 0; right: 0;
|
||||
top: 0; bottom: 0;
|
||||
}
|
||||
|
||||
.chat-line.brick--marked {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.chat-line.brick--marked:before {
|
||||
box-shadow: 3px 0 0 #6441a4 inset;
|
||||
}
|
|
@ -1,19 +1,17 @@
|
|||
.chat-lines .chat-line[data-sender="{user_id}"]:before {
|
||||
.chat-lines .chat-line[data-sender="{user_id}"] {
|
||||
background-color: rgba(0,127,255, 0.2);
|
||||
}
|
||||
|
||||
.chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0):before {
|
||||
.chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0) {
|
||||
background-color: rgba(0,127,255, 0.4);
|
||||
}
|
||||
|
||||
.theatre .chat-lines .chat-line[data-sender="{user_id}"]:before,
|
||||
.dark .chat-lines .chat-line[data-sender="{user_id}"]:before,
|
||||
.force-dark .chat-lines .chat-line[data-sender="{user_id}"]:before {
|
||||
.theatre .chat-lines .chat-line[data-sender="{user_id}"],
|
||||
.dark .chat-lines .chat-line[data-sender="{user_id}"] {
|
||||
background-color: rgba(0,63,127, 0.2);
|
||||
}
|
||||
|
||||
.theatre .chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0):before,
|
||||
.dark .chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0):before,
|
||||
.force-dark .chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0):before {
|
||||
.theatre .chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0),
|
||||
.dark .chat-lines .chat-line[data-sender="{user_id}"]:nth-child(2n+0) {
|
||||
background-color: rgba(0,63,127, 0.4);
|
||||
}
|
|
@ -667,8 +667,8 @@ FFZ.prototype._tokenize_bits = function(tokens) {
|
|||
if ( bits_helpers && bits_helpers.tokenizeBits )
|
||||
try {
|
||||
return bits_helpers.tokenizeBits(tokens,
|
||||
bits_tags && bits_tags.allTagNames,
|
||||
bits_service && bits_service.regexes);
|
||||
bits_tags && bits_tags.get('allTagNames'),
|
||||
bits_service && bits_service.get('regexes'));
|
||||
|
||||
} catch(err) { }
|
||||
return tokens;
|
||||
|
@ -802,10 +802,15 @@ FFZ.prototype.tokenize_chat_line = function(msgObject, prevent_notification, del
|
|||
// can't actually go to it is a bad thing.
|
||||
if ( this._chatv && this.settings.highlight_notifications && ! this.embed_in_dash && ! document.hasFocus() && ! prevent_notification ) {
|
||||
var room = this.rooms[room_id] && this.rooms[room_id].room,
|
||||
controller = utils.ember_lookup('controller:chat'),
|
||||
room_name;
|
||||
|
||||
// Make sure we have UI for this channel.
|
||||
if ( (this.settings.group_tabs && (this.settings.pinned_rooms.indexOf(room_id) !== -1 || this._chatv._ffz_host )) || room.get('isGroupRoom') || room === this._chatv.get('controller.currentChannelRoom') ) {
|
||||
if ( this.settings.pinned_rooms.indexOf(room_id) !== -1 ||
|
||||
room_id === this._chatv._ffz_host ||
|
||||
room.get('isGroupRoom') ||
|
||||
(controller && room === controller.get('currentChannelRoom')) ) {
|
||||
|
||||
if ( room && room.get('isGroupRoom') )
|
||||
room_name = room.get('tmiRoom.displayName');
|
||||
else
|
||||
|
@ -837,8 +842,7 @@ FFZ.prototype.tokenize_chat_line = function(msgObject, prevent_notification, del
|
|||
(this.settings.notification_timeout*1000),
|
||||
function() {
|
||||
window.focus();
|
||||
var cont = utils.ember_lookup('controller:chat');
|
||||
room && cont && cont.focusRoom(room);
|
||||
room && controller && controller.focusRoom(room);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
@ -1067,6 +1071,10 @@ FFZ.prototype.render_token = function(render_links, warn_links, render_bits, tok
|
|||
return '<span class="emoticon ffz-bit ffz-tooltip bit-prefix-' + prefix + ' bit-tier-' + tier[0] + '"' + (token.individuals ? ' data-individuals="' + utils.quote_attr(JSON.stringify(token.individuals)) + '"' : '') + ' data-prefix="' + prefix + '" data-amount="' + utils.number_commas(token.amount) + '" alt="cheer' + token.amount + '"></span>';
|
||||
}
|
||||
|
||||
else if ( token.type === 'bits-tag' ) {
|
||||
return '<span class="bits-tag mentioning">' + utils.sanitize(token.tag) + '</span>';
|
||||
}
|
||||
|
||||
else if ( token.type === "deleted" )
|
||||
return '<span class="deleted-word html-tooltip" title="' + utils.quote_san(token.text) + '" data-text="' + utils.sanitize(token.text) + '">×××</span>';
|
||||
//return `<span class="deleted-word html-tooltip" title="${utils.quote_attr(token.text)}" data-text="${utils.sanitize(token.text)}">×××</span>`;
|
||||
|
|
|
@ -134,7 +134,18 @@ FFZ.debugging_blocks = {
|
|||
ffz_room = room_id && this.rooms[room_id];
|
||||
|
||||
return new Promise(function(succeed, fail) {
|
||||
var failed = false,
|
||||
fail_timer = setTimeout(function() {
|
||||
failed = true;
|
||||
succeed([['Authentication', '<i>unable to get token</i>']]);
|
||||
}, 500);
|
||||
|
||||
f.lv_get_token().then(function(token) {
|
||||
if ( failed )
|
||||
return;
|
||||
else
|
||||
clearTimeout(fail_timer);
|
||||
|
||||
var output = [
|
||||
['Authentication', '<i>succeeded</i>'],
|
||||
['Token Expires', new Date(f._lv_token.expires * 1000).toLocaleString()],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue