1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-06-27 21:05:53 +00:00

3.5.498. Fix dark theme for Clips. Fix theater mode and whispers. Fix Minimal Chat Header not hiding the chat header, and then it hiding too much. Fix game purchase share message in chat. Fix position of player controls in theater mode. Closes #185. Closes #184. Closes #183. Closes #182. Closes #175.

This commit is contained in:
SirStendec 2017-06-30 11:49:32 -04:00
parent 630d2830ec
commit 99630f3e4e
7 changed files with 132 additions and 45 deletions

View file

@ -1,3 +1,27 @@
<div class="list-header">3.5.498 <time datetime="2017-06-30">(2017-06-30)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Dark theme for the Video Manager's Clips page.</li>
<li>Fixed: Twitch's poor design choice regarding whispers in theater mode. Again.</li>
<li>Fixed: Unable to close chatter list after opening it with the chat header turned off.</li>
</ul>
<div class="list-header">3.5.497 <time datetime="2017-06-22">(2017-06-22)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Position of player controls in theater mode.</li>
<li>Fixed: Unnecessary bottom border under the player in theater mode.</li>
</ul>
<div class="list-header">3.5.496 <time datetime="2017-06-22">(2017-06-22)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Input handling.</li>
<li>Fixed: Minimal Chat Header not hiding the chat header.</li>
</ul>
<div class="list-header">3.5.495 <time datetime="2017-06-11">(2017-06-11)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Game Purchase share messages in chat.</li>
</ul>
<div class="list-header">3.5.494 <time datetime="2017-06-11">(2017-06-11)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: By default, messages from moderators will no longer be removed if they contain banned words. Configurable via <code>Chat Filtering > Remove Messages from Moderators</code>.</li>
@ -35,29 +59,5 @@
<li>Fixed: Recent Highlights colors in light theme and when toggling dark theme.</li>
</ul>
<div class="list-header">3.5.488 <time datetime="2017-06-02">(2017-06-02)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>The Stop Asking Already Update</li>
<li>&nbsp;</li>
<li>Added: Recent Highlights. (Chat Appearance > Recent Highlights)</li>
<li>Fixed: Dark theme for video comments.</li>
<li>Fixed: Dark theme for channel stats.</li>
</ul>
<div class="list-header">3.5.487 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Revert input handler tweaks for BetterTTV as a race condition can cause Enter to stop working for some users.</li>
</ul>
<div class="list-header">3.5.486 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Revert input handler tweaks for BetterTTV as a race condition can cause Enter to stop working for some users.</li>
</ul>
<div class="list-header">3.5.485 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Changed: Possible fix for Twitch5 infinite loading issues with FFZ on Firefox.</li>
</ul>
<div class="list-header" id="ffz-old-news-button"><a href="#">View Older</a></div>
<div id="ffz-old-news"></div>

View file

@ -1298,6 +1298,7 @@ body.ffz-dark:not([data-page="teams#show"]),
.ffz-dark .user_list .user .user_stats .followers_count,
.ffz-dark .mixed_list .user .user_stats .followers_count,
.ffz-dark .clmgr-meta-special figure,
.ffz-dark li.video.vods img.video_type {
filter: invert(100%);
-webkit-filter: invert(100%);
@ -1672,6 +1673,7 @@ body.ffz-dark:not([data-page="teams#show"]),
border-color: rgba(255,255,255,0.4) !important;
}
.ffz-dark .c-text { color: #aaa !important }
.ffz-dark .c-text-alt { color: #999 !important }
.ffz-dark .activity-add-comment__textarea:before {
@ -2107,4 +2109,13 @@ body.ffz-dark:not([data-page="teams#show"]),
.ffz-dark .bg--grey {
background-color: #242424;
}
.ffz-dark .clmgr-table__cell-wrapper:nth-child(even) .clmgr-table__cell--collapsed {
background-color: rgba(255,255,255,0.1);
}
.ffz-dark .clmgr-table__cell-wrapper:nth-child(even) .clmgr-table__cell--collapsed:hover,
.ffz-dark .clmgr-table__cell--collapsed:hover {
background-color: rgba(255,255,255,0.2);
}

View file

@ -1,3 +1,27 @@
<div class="list-header">3.5.488 <time datetime="2017-06-02">(2017-06-02)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>The Stop Asking Already Update</li>
<li>&nbsp;</li>
<li>Added: Recent Highlights. (Chat Appearance > Recent Highlights)</li>
<li>Fixed: Dark theme for video comments.</li>
<li>Fixed: Dark theme for channel stats.</li>
</ul>
<div class="list-header">3.5.487 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Revert input handler tweaks for BetterTTV as a race condition can cause Enter to stop working for some users.</li>
</ul>
<div class="list-header">3.5.486 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Revert input handler tweaks for BetterTTV as a race condition can cause Enter to stop working for some users.</li>
</ul>
<div class="list-header">3.5.485 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Changed: Possible fix for Twitch5 infinite loading issues with FFZ on Firefox.</li>
</ul>
<div class="list-header">3.5.484 <time datetime="2017-05-28">(2017-05-28)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Changed: Display the <code>Reset Player</code> button directly at the bottom of the player since positioning it in the menu would require a mutation observer now that the player UI is powered by React.</li>

View file

@ -614,7 +614,7 @@ FFZ.prototype.modify_chat_input = function(component) {
ffzSetPartialWord: function() {
var area = this.get('chatTextArea');
if ( area && this.get('ffz_suggestions_visible') ) {
var text = this.get('textareaValue'),
var text = this.get('messageText'),
ind = selection_start(area);
if ( ind === -1 )
@ -632,7 +632,7 @@ FFZ.prototype.modify_chat_input = function(component) {
else
this.ffzHideSuggestions();
}
}.observes('textareaValue'),
}.observes('messageText'),
ffzFetchNameSuggestions: function() {
@ -653,7 +653,7 @@ FFZ.prototype.modify_chat_input = function(component) {
var t = this,
ind = this.get('ffz_partial_word_start'),
text = this.get('textareaValue'),
text = this.get('messageText'),
first_char = text.charAt(0),
is_cmd = (first_char === '/' || first_char === '.') && text.substr(1,3).toLowerCase() !== 'me ',
@ -677,7 +677,7 @@ FFZ.prototype.modify_chat_input = function(component) {
prefix += !add_space && trail ? '' : ' ';
this.set('textareaValue', prefix + trail);
this.set('messageText', prefix + trail);
this.set('ffz_partial_word', '');
this.set('ffz_partial_word_start', -1);
if ( item )
@ -687,7 +687,7 @@ FFZ.prototype.modify_chat_input = function(component) {
move_selection(area, prefix.length);
area.focus();
/*var text = t.get('textareaValue'),
/*var text = t.get('messageText'),
ind = text.indexOf(' '),
start = ind !== -1 && text.substr(0, ind);
@ -945,7 +945,7 @@ FFZ.prototype.modify_chat_input = function(component) {
_setPartialName: function() {
if ( f.has_bttv )
return this._super();
}.observes('textareaValue'),
}.observes('messageText'),
ffz_suggestions: function() {
var output = [],
@ -1176,7 +1176,7 @@ FFZ.prototype.modify_chat_input = function(component) {
ffz_sorted_suggestions: Ember.computed("ffz_filtered_suggestions.[]", function() {
var text = this.get('textareaValue'),
var text = this.get('messageText'),
now = Date.now(),
char = text.charAt(0),
is_command = char === '/' || char === '.',
@ -1234,7 +1234,7 @@ FFZ.prototype.modify_chat_input = function(component) {
if ( since > 500 )
this.ffzResizeInput();
}.observes('textareaValue'),
}.observes('messageText'),
ffzResizeInput: function() {
this._ffz_last_resize = Date.now();
@ -1285,7 +1285,7 @@ FFZ.prototype.modify_chat_input = function(component) {
if ( ! this.get('ffz_suggestions_visible') ) {
var ind = selection_start(this.get('chatTextArea')) - 1;
Ember.run.next(function() {
if ( ind < 0 || t.get('textareaValue').charAt(ind) === ' ' ) {
if ( ind < 0 || t.get('messageText').charAt(ind) === ' ' ) {
t.ffzShowSuggestions();
t.trackSuggestions("@");
}
@ -1313,7 +1313,7 @@ FFZ.prototype.modify_chat_input = function(component) {
ind = selection_start(textarea);
ind > 0 && Ember.run.next(function() {
var text = t.get('textareaValue'),
var text = t.get('messageText'),
emoji_start = text.lastIndexOf(':', ind - 1);
if ( emoji_start !== -1 && ind !== -1 && text.charAt(ind) === ':' ) {
@ -1324,7 +1324,7 @@ FFZ.prototype.modify_chat_input = function(component) {
if ( emoji ) {
var prefix = text.substr(0, emoji_start) + emoji.raw;
t.ffzHideSuggestions();
t.set('textareaValue', prefix + text.substr(ind + 1));
t.set('messageText', prefix + text.substr(ind + 1));
Ember.run.next(function() {
move_selection(t.get('chatTextArea'), prefix.length);
});
@ -1366,7 +1366,7 @@ FFZ.prototype.modify_chat_input = function(component) {
e.preventDefault();
var text = this.get('textareaValue');
var text = this.get('messageText');
if ( text.length === 0 )
break;
@ -1494,7 +1494,7 @@ FFZ.prototype.modify_chat_input = function(component) {
// TODO: Better support for commands.
var sel = selection_start(this.get('chatTextArea'));
Ember.run.next(function() {
var text = t.get("textareaValue"),
var text = t.get("messageText"),
ind = text.indexOf(' '),
start = ind !== -1 && text.substr(0, ind);
@ -1505,13 +1505,13 @@ FFZ.prototype.modify_chat_input = function(component) {
var target = t.get("uniqueWhisperSuggestions.0");
if ( target ) {
t.set("_currentWhisperTarget", 0);
t.set("textareaValue", "/w " + target + t.get("textareaValue").substr(2));
t.set("messageText", "/w " + target + t.get("messageText").substr(2));
Ember.run.next(function() {
move_selection(t.get('chatTextArea'), 4 + target.length);
});
} else {
t.set("textareaValue", "/w " + t.get('textareaValue').substr(2));
t.set("messageText", "/w " + t.get('messageText').substr(2));
Ember.run.next(function() {
move_selection(t.get('chatTextArea'), 3);
t.ffzFetchNameSuggestions();
@ -1551,7 +1551,7 @@ FFZ.prototype.modify_chat_input = function(component) {
var old_val = this.get('ffz_old_mru');
if ( old_val === undefined || old_val === null ) {
old_val = this.get('textareaValue');
old_val = this.get('messageText');
this.set('ffz_old_mru', old_val);
}
@ -1562,7 +1562,7 @@ FFZ.prototype.modify_chat_input = function(component) {
}
this.set('ffz_mru_index', ind);
this.set('textareaValue', new_val);
this.set('messageText', new_val);
}
});
}

View file

@ -1104,10 +1104,10 @@ FFZ.prototype._modify_chat_line = function(component, is_vod) {
else if ( msg_type === 'purchase' ) {
var Intl = utils.ember_lookup('service:intl');
out = Intl && ('<p class="purchase-message-title pd-t-0 float-left">' +
Intl.tHtml('gameCommerce.purchaseNotifications.message', {
Intl.t('gameCommerce.purchaseNotifications.message', {
userName: tags['login'],
purchaseTitle: tags['msg-param-title']
}).string +
}) +
'</p><div><img class="purchase-notif__box-art float-right mg-t-0 mg-1-1" src="' +
utils.quote_san(tags['msg-param-imageURL']) +
'"></div>');

View file

@ -61,7 +61,7 @@ FFZ.channel_metadata = {};
// Version
var VER = FFZ.version_info = {
major: 3, minor: 5, revision: 494,
major: 3, minor: 5, revision: 498,
toString: function() {
return [VER.major, VER.minor, VER.revision].join(".") + (VER.extra || "");
}

View file

@ -2059,12 +2059,14 @@ th.ffz-row-switch {
/* Minimalistic Chat */
body.ffz-minimal-chat-head .ember-chat > .chat-header,
body.ffz-minimal-chat-head .ember-chat .chat-header,
body.ffz-minimal-chat-head .ember-chat #ffz-group-tabs,
body.ffz-minimal-chat-input .ember-chat .chat-buttons-container {
display: none !important;
}
body.ffz-minimal-chat-head .chatters .chat-header { display: block !important }
/*body.ffz-minimal-chat .ember-chat .chat-messages,
body.ffz-minimal-chat .ember-chat .chat-interface .emoticon-selector {
bottom: 33px;
@ -3037,6 +3039,10 @@ body:not(.ffz-bttv) .conversation-window .ignore-cta:not(.hidden) + .conversatio
/* Top Conversations */
.ffz-top-conversations .app-main.theatre .conversations-wrapper {
bottom: auto;
}
body:not(.ffz-top-conversations) .conversations-list-bottom-bar {
border-bottom: none;
}
@ -3069,6 +3075,11 @@ body:not(.ffz-top-conversations) .conversations-list-bottom-bar {
bottom: -10px;
}
body:not(.ffz-theatre-conversations):not(.ffz-top-conversations) .theatre .player-controls-bottom .player-buttons-left,
body:not(.ffz-theatre-conversations):not(.ffz-top-conversations) .theatre .player-controls-bottom .player-buttons-right {
margin-bottom: 40px;
}
.ffz-theatre-conversations .theatre .player-controls-bottom,
.ffz-theatre-conversations .theatre .player[data-controls=true] .player-controls-bottom,
.ffz-top-conversations .theatre .player-controls-bottom,
@ -3245,6 +3256,39 @@ body:not(.ffz-creative-showcase) .ct-spotlight-container { display: none; }
/* FFZ Suggestions */
.ember-chat .chat-interface .suggestions.ffz-suggestions {
padding: 5px 0;
position: absolute;
bottom: 43px;
left: 6px;
width: 278px;
background-color: white;
border: 1px solid rgba(0, 0, 0, 0.2);
background-clip: padding-box;
z-index: 100
}
.ember-chat .chat-interface .suggestions.ffz-suggestions .suggestion {
padding: 0 10px;
line-height: 24px;
width: 270px;
font-size: 12px
}
.ember-chat .chat-interface .suggestions.ffz-suggestions .suggestion.disabled {
color: #706a7c;
font-weight: 400
}
.ember-chat .chat-interface .suggestions.ffz-suggestions .suggestion.disabled:hover {
background-color: transparent;
color: #706a7c
}
.ember-chat .chat-interface .suggestions.ffz-suggestions .highlighted {
color: white;
background-color: #6441a4;
-webkit-transition: all ease-in-out 0.1s;
-webkit-backface-visibility: hidden;
transition: all 0.1s ease-in-out
}
.ffz-dark .ffz-suggestions,
.theatre .ffz-suggestions,
.dark .ffz-suggestions {
@ -4317,4 +4361,12 @@ body.ffz-sidebar-swap .app-main.theatre #main_col:not(.expandRight) #player[data
padding: 0;
display: block;
max-width: 340px;
}
.app-main.theatre .player-whispers-padding {
margin-bottom: 0;
}
.app-main.theatre .conversations-wrapper {
background: transparent;
}