mirror of
https://github.com/FrankerFaceZ/FrankerFaceZ.git
synced 2025-07-31 15:08:31 +00:00
3.5.66 to 3.5.77. Fixed a performance issue with chat scrolling. Fixed CSS issues introduced in the refactor. Added ReChat support. Fixed all tooltip positioning. Fixed emote usage reporting. Fix support for conversations beta. Fix Do Not Show Again link on portrait mode warning. Fix following data not loading on non-ember pages. Added emoji rendering when BTTV is detected. Made standard chat settings menu scroll. Added support for multiple commands with one button to in-line moderation icons.
This commit is contained in:
parent
0cabebdf19
commit
a050063c81
31 changed files with 885 additions and 275 deletions
|
@ -215,7 +215,13 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
el.classList.add('ffz-channel');
|
||||
|
||||
// Try changing the theater mode tooltip.
|
||||
this.$('.theatre-button a').attr('title', 'Theater Mode (Alt+T)');
|
||||
var tb = this.$('.theatre-button > a'),
|
||||
opts = tb.data('tipsy');
|
||||
|
||||
tb.attr('title', 'Theater Mode (Alt+T)');
|
||||
if ( opts && opts.options && typeof opts.options.gravity !== "function" )
|
||||
opts.options.gravity = utils.tooltip_placement(constants.TOOLTIP_DISTANCE, opts.options.gravity || 'n');
|
||||
|
||||
|
||||
this.ffzFixTitle();
|
||||
this.ffzUpdateUptime();
|
||||
|
@ -283,7 +289,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
if ( ! btn ) {
|
||||
btn = document.createElement('span');
|
||||
btn.id = 'ffz-ui-host-button';
|
||||
btn.className = 'button action tooltip';
|
||||
btn.className = 'button action';
|
||||
|
||||
btn.addEventListener('click', this.ffzClickHost.bind(btn, this, false));
|
||||
|
||||
|
@ -295,6 +301,8 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
container.insertBefore(btn, before);
|
||||
else
|
||||
container.appendChild(btn);
|
||||
|
||||
jQuery(btn).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
btn.classList.remove('disabled');
|
||||
|
@ -321,7 +329,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
if ( ! btn ) {
|
||||
btn = document.createElement('span');
|
||||
btn.id = 'ffz-ui-host-button';
|
||||
btn.className = 'button action tooltip';
|
||||
btn.className = 'button action';
|
||||
|
||||
btn.addEventListener('click', this.ffzClickHost.bind(btn, this, true));
|
||||
|
||||
|
@ -333,6 +341,8 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
container.insertBefore(btn, before);
|
||||
else
|
||||
container.appendChild(btn);
|
||||
|
||||
jQuery(btn).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
btn.classList.remove('disabled');
|
||||
|
@ -406,7 +416,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
else
|
||||
cont.appendChild(stat);
|
||||
|
||||
jQuery(stat).tipsy();
|
||||
jQuery(stat).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
el.innerHTML = utils.number_commas(chatter_count);
|
||||
|
@ -438,7 +448,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
else
|
||||
cont.appendChild(stat);
|
||||
|
||||
jQuery(stat).tipsy();
|
||||
jQuery(stat).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
el.innerHTML = utils.number_commas(ffz_viewers) + " (" + utils.number_commas(ffz_chatters) + ")";
|
||||
|
@ -473,7 +483,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
if ( ! stat_el ) {
|
||||
stat_el = document.createElement('span');
|
||||
stat_el.id = 'ffz-ui-player-stats';
|
||||
stat_el.className = 'ffz stat tooltip';
|
||||
stat_el.className = 'ffz stat';
|
||||
|
||||
stat_el.innerHTML = constants.GRAPH + " ";
|
||||
el = document.createElement('span');
|
||||
|
@ -484,16 +494,18 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
container.insertBefore(stat_el, other.nextSibling);
|
||||
else
|
||||
container.appendChild(stat_el);
|
||||
|
||||
jQuery(stat_el).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
var delay = parseFloat(stats.hlsLatencyBroadcaster);
|
||||
|
||||
if ( delay > 180 ) {
|
||||
delay = Math.floor(delay);
|
||||
stat_el.setAttribute('original-title', 'Video Information\nBroadcast ' + utils.time_to_string(delay, true) + ' Ago\n\nVideo: ' + stats.videoResolution + 'p @ ' + stats.fps + '\nPlayback Rate: ' + stats.playbackRate + ' Kbps')
|
||||
stat_el.setAttribute('original-title', 'Video Information<br>Broadcast ' + utils.time_to_string(delay, true) + ' Ago<br><br>Video: ' + stats.videoResolution + 'p @ ' + stats.fps + '<br>Playback Rate: ' + stats.playbackRate + ' Kbps')
|
||||
el.textContent = utils.time_to_string(Math.floor(delay), true, delay > 172800) + ' old';
|
||||
} else {
|
||||
stat_el.setAttribute('original-title', 'Stream Latency\nVideo: ' + stats.videoResolution + 'p @ ' + stats.fps + '\nPlayback Rate: ' + stats.playbackRate + ' Kbps');
|
||||
stat_el.setAttribute('original-title', 'Stream Latency<br>Video: ' + stats.videoResolution + 'p @ ' + stats.fps + '<br>Playback Rate: ' + stats.playbackRate + ' Kbps');
|
||||
|
||||
delay = stats.hlsLatencyBroadcaster;
|
||||
var pos = delay.lastIndexOf('.');
|
||||
|
@ -532,7 +544,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
if ( ! stat_el ) {
|
||||
stat_el = document.createElement('span');
|
||||
stat_el.id = 'ffz-ui-player-stats';
|
||||
stat_el.className = 'ffz stat tooltip';
|
||||
stat_el.className = 'ffz stat';
|
||||
|
||||
stat_el.innerHTML = constants.GRAPH + " ";
|
||||
el = document.createElement('span');
|
||||
|
@ -543,16 +555,18 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
container.insertBefore(stat_el, other.nextSibling);
|
||||
else
|
||||
container.appendChild(stat_el);
|
||||
|
||||
jQuery(stat_el).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
var delay = parseFloat(stats.hlsLatencyBroadcaster);
|
||||
|
||||
if ( delay > 180 ) {
|
||||
delay = Math.floor(delay);
|
||||
stat_el.setAttribute('original-title', 'Video Information\nBroadcast ' + utils.time_to_string(delay, true) + ' Ago\n\nVideo: ' + stats.videoResolution + 'p @ ' + stats.fps + '\nPlayback Rate: ' + stats.playbackRate + ' Kbps')
|
||||
stat_el.setAttribute('original-title', 'Video Information<br>Broadcast ' + utils.time_to_string(delay, true) + ' Ago<br><br>Video: ' + stats.videoResolution + 'p @ ' + stats.fps + '<br>Playback Rate: ' + stats.playbackRate + ' Kbps')
|
||||
el.textContent = utils.time_to_string(Math.floor(delay), true, delay > 172800) + ' old';
|
||||
} else {
|
||||
stat_el.setAttribute('original-title', 'Stream Latency\nVideo: ' + stats.videoResolution + 'p @ ' + stats.fps + '\nPlayback Rate: ' + stats.playbackRate + ' Kbps');
|
||||
stat_el.setAttribute('original-title', 'Stream Latency<br>Video: ' + stats.videoResolution + 'p @ ' + stats.fps + '<br>Playback Rate: ' + stats.playbackRate + ' Kbps');
|
||||
|
||||
delay = stats.hlsLatencyBroadcaster;
|
||||
var pos = delay.lastIndexOf('.');
|
||||
|
@ -624,7 +638,7 @@ FFZ.prototype._modify_cindex = function(view) {
|
|||
}
|
||||
}
|
||||
|
||||
jQuery(stat).tipsy({html: true});
|
||||
jQuery(stat).tipsy({html: true, gravity: utils.tooltip_placement(constants.TOOLTIP_DISTANCE, 'n')});
|
||||
}
|
||||
|
||||
el.innerHTML = utils.time_to_string(uptime, false, false, false, f.settings.stream_uptime === 1 || f.settings.stream_uptime === 3);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue