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

3.5.444. Fix bugs with the My Emoticons menu. Dark CSS tweaks.

This commit is contained in:
SirStendec 2017-03-27 18:03:10 -04:00
parent 3b38d12859
commit 3d6acd46dd
13 changed files with 401 additions and 122 deletions

View file

@ -1,3 +1,54 @@
<div class="list-header">3.5.444 <time datetime="2017-03-27">(2017-03-27)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>4</li>
<li>Fixed: Bug causing My Emoticons menu to not render if set data hasn't been loaded from the API yet.</li>
<li>Fixed: Bug causing the All Emoticons tab of the My Emoticons menu to render when it shouldn't.</li>
<li>Fixed: Dark CSS tweaks.</li>
</ul>
<div class="list-header">3.5.443 <time datetime="2017-03-21">(2017-03-21)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Player height calculation incorrectly assuming the top navigation bar is always present.</li>
</ul>
<div class="list-header">3.5.442 <time datetime="2017-03-20">(2017-03-20)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Clean up some issues created with various configurations when adding support for the new layout.</li>
</ul>
<div class="list-header">3.5.441 <time datetime="2017-03-20">(2017-03-20)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Initial support for the new Twitch layout.</li>
</ul>
<div class="list-header">3.5.440 <time datetime="2017-03-11">(2017-03-11)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Don't re-use the live model when on the Channels page of the Following directory.</li>
<li>Fixed: High CPU usage bug with stream latency display.</li>
</ul>
<div class="list-header">3.5.439 <time datetime="2017-03-10">(2017-03-10)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Update dark theme for Collections.</li>
<li>Fixed: Also remove the white line next to chat.</li>
</ul>
<div class="list-header">3.5.438 <time datetime="2017-03-08">(2017-03-08)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Dismiss for Everyone showing up for everyone.</li>
</ul>
<div class="list-header">3.5.437 <time datetime="2017-03-06">(2017-03-06)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Dismiss for Everyone not working for Top Cheers. (How has no one reported this before now...?)</li>
<li>Fixed: Unsightly border around the channel metadata area and related sizing issues.</li>
</ul>
<div class="list-header">3.5.436 <time datetime="2017-03-06">(2017-03-06)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Darken Pulse</li>
</ul>
<div class="list-header">3.5.435 <time datetime="2017-03-04">(2017-03-04)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: Warning colors for the Stream Latency display to draw attention when the value is too high.</li>
@ -5,64 +56,5 @@
<li>Fixed: Wasn't removing the blue tint to the collapsable user menu in the sidebar.</li>
</ul>
<div class="list-header">3.5.434 <time datetime="2017-03-03">(2017-03-03)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: Dark theme for the Notification Center.</li>
<li>Fixed: Notification Center position with swapped sidebars.</li>
<li>Fixed: Twitch removed the CSS class for Recommended Channels from the sidebar, breaking a setting and making it look ugly when collapsed.</li>
</ul>
<div class="list-header">3.5.433 <time datetime="2017-03-01">(2017-03-01)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: Link information for Twitch Videos.</li>
<li>Fixed: Link information not showing for Twitch Clips.</li>
<li>Fixed: Dark theme for Prime advertisement bars on the front page. (Sorry Daxter please don't hate me anymore.)</li>
</ul>
<div class="list-header">3.5.432 <time datetime="2017-02-26">(2017-02-26)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: The Stats tab of moderation cards now tells you a user's ID, if and when they followed a channel, and how many times they've been banned in the channel.</li>
<li>Added: Name History, so you can see what a user's previous usernames have been. This data is sourced from CommanderRoot's tools and Twitch's own API.</li>
<li>Changed: Refactor stats rendering for moderation cards and the debugging menu to reduce duplicate code.</li>
<li>Fixed: Theater Hover Stats could cover up timestamps when viewing a video.</li>
<li>Fixed: Follower-only moderation action messages weren't being de-duplicated correctly.</li>
</ul>
<div class="list-header">3.5.431 <time datetime="2017-02-17">(2017-02-17)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>API Changed: Add different modes for merging badges.</li>
</ul>
<div class="list-header">3.5.430 <time datetime="2017-02-17">(2017-02-17)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Bug with the API because constants isn't defined.</li>
</ul>
<div class="list-header">3.5.429 <time datetime="2017-02-16">(2017-02-16)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: CSS tweaks for the dark theme.</li>
<li>Fixed: Display uptime on the Discover queue.</li>
</ul>
<div class="list-header">3.5.428 <time datetime="2017-02-14">(2017-02-14)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Minimize DOM changes for the stream uptime display on the directory to reduce nodes that need to be garbage collected.</li>
</ul>
<div class="list-header">3.5.427 <time datetime="2017-02-14">(2017-02-14)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: API badges not rendering correctly.</li>
<li>Fixed: Hidden Badges UI not opening due to a malformed badge data structure from Ember.</li>
<li>Fixed: Remove unnecessary logging mistakenly left in the last build.</li>
</ul>
<div class="list-header">3.5.426 <time datetime="2017-02-13">(2017-02-13)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Not Found bug when clicking links to game directory pages.</li>
<li>Fixed: Custom moderator badges not displaying in Mozilla Firefox.</li>
<li>API Added: <code>bttv-room-message</code> event for awareness of chat messages sent when BetterTTV is installed. This data structure is not like standard <code>room-message</code>.</li>
<li>API Changed: To reduce memory usage, badge objects are now not cloned. <code>user_add_badge</code> and <code>room_add_user_badge</code> now support complex badge structures rather than just IDs for more flexible badge setups.</li>
</ul>
<div class="list-header" id="ffz-old-news-button"><a href="#">View Older</a></div>
<div id="ffz-old-news"></div>

112
dark.css
View file

@ -107,6 +107,7 @@
/* main column */
.ffz-dark .fp-container,
body.ffz-dark:not([data-page="teams#show"]),
.ffz-dark .app-main,
.ffz-dark[data-page="teams#show"] .main,
@ -211,6 +212,8 @@ body.ffz-dark:not([data-page="teams#show"]),
background-color: #000;
}
.ffz-dark .chat-container { border-color: rgba(0,0,0,0.2) }
.ffz-dark #flyout .content,
.ffz-dark .ffz-ui-popup.emoticon-selector .emoticon-selector-box { border: none }
@ -373,7 +376,10 @@ body.ffz-dark:not([data-page="teams#show"]),
box-shadow: -1px 0 0 rgba(255,255,255,0.2);
}
.ffz-dark .top-nav__nav-link:hover { color: #fff !important }
.ffz-dark .warp__item a.js-language-select,
.ffz-dark .top-nav__nav-link,
.ffz-dark .warp__item > a { color: #d5d4d9 !important }
.ffz-dark .warp__item--toggled a.js-language-select,
@ -570,6 +576,7 @@ body.ffz-dark:not([data-page="teams#show"]),
border-left-color: #6441a5;
}
.ffz-dark label,
.ffz-dark code {
color: #999;
}
@ -585,6 +592,13 @@ body.ffz-dark:not([data-page="teams#show"]),
background-color: rgb(16,16,16);
}
.ffz-dark .event-img--card { box-shadow: 1px 0 0 #101010 }
.ffz-dark .toggle__button { background-color: #666 }
.ffz-dark .toggle__button:after { background-color: #242424 }
.ffz-dark .toggle input[type=checkbox]:checked+.toggle__button { background-color: #0f8a4d }
.ffz-dark .card__title,
.ffz-dark .card .card__title a,
.ffz-dark .card .card__info a,
@ -593,6 +607,12 @@ body.ffz-dark:not([data-page="teams#show"]),
color: #9c9c9c !important;
}
.ffz-dark .event-calendar {
background: #101010;
color: #ccc;
}
.ffz-dark .card__info,
.ffz-dark .items-grid .meta .info {
color: #6c6c6c;
}
@ -1070,6 +1090,14 @@ body.ffz-dark:not([data-page="teams#show"]),
}
/* Front Page: Pulse */
.ffz-dark .newsfeed {
background-color: #101010;
}
/* /p/ Pages */
.ffz-dark .header-announcement__link,
@ -1465,6 +1493,10 @@ body.ffz-dark:not([data-page="teams#show"]),
background-color: #191919;
}
.ffz-dark .activity-card {
border: 1px solid;
}
.ffz-dark .list-load-more,
.ffz-dark .activity-card {
border-color: #474747;
@ -1670,6 +1702,10 @@ body.ffz-dark:not([data-page="teams#show"]),
.ffz-dark .notification-center-balloon:before,
.ffz-dark .notification-center-balloon:after { display: none }
.ffz-dark .friend-request__content-msg,
.ffz-dark .friend-requests__footer a:hover,
.ffz-dark .notification-center__unread-container,
.ffz-dark .notification-center__subheader-text,
.ffz-dark .notification__content-msg,
.ffz-dark .notification-center__header-text { color: #C3C3C3 }
.ffz-dark .notification__details { color: #777 }
@ -1680,12 +1716,19 @@ body.ffz-dark:not([data-page="teams#show"]),
.ffz-dark .notification__dismiss:hover svg { fill: #AAA }
.ffz-dark .notification__dismiss svg polygon { fill: #333 }
.ffz-dark .notification-center__subheader {
background-color: #1a1a1a;
border-color: rgba(255,255,255,0.2);
}
.ffz-dark .offer-item--title,
.ffz-dark .notification-center__footer,
.ffz-dark .notification-center__header {
border-color: rgba(255,255,255,0.2);
background-color: #101010;
}
.ffz-dark .offer-item__background--gray,
.ffz-dark .notification-center__core {
background-color: rgba(255,255,255,0.05);
}
@ -1695,11 +1738,74 @@ body.ffz-dark:not([data-page="teams#show"]),
color: rgba(255,255,255,0.2);
}
.ffz-dark .friend-requests__footer,
.ffz-dark .notification--read,
.ffz-dark .notification {
background-color: rgba(255,255,255,0.05);
border-color: rgba(255,255,255,0.2);
background-color: rgba(255,255,255,0.01);
border-color: rgba(255,255,255,0.1);
}
.ffz-dark .notification--unread {
background-color: rgba(255,255,255,0.05);
border-color: rgba(255,255,255,0.1);
}
.ffz-dark .friend-requests__footer:hover,
.ffz-dark .notification--read:hover,
.ffz-dark .notification--unread:hover {
background-color: rgba(255,255,255,0.1);
}
}
.ffz-dark .friend-requests__footer a {
color: #a68ed2;
}
/* Playlists are Stupid */
.ffz-dark .playlist-card__title { color: #ccc }
.ffz-dark .playlist-card-meta__stat { color: #a68cd4 }
.ffz-dark .playlist-add-search-card__layout {
border-color: transparent !important;
box-shadow: none !important;
}
.ffz-dark .playlist-add-search-card--selected:before {
background-color: rgba(255,255,255,0.1);
}
.ffz-dark .playlist-card {
color: #ccc;
background-color: #161616;
}
.ffz-dark .playlist-editor-card__gripper {
background-color: #242424;
box-shadow: -8px 0 5px -5px #202020;
}
.ffz-dark img[src="https://static-cdn.jtvnw.net/ttv-playlists-thumbnails-prod/missing-video-thumb-640x360.png"] {
filter: grayscale(100%) invert(100%);
}
/* Front Page is Stupid */
.ffz-dark .fp-side {
background-color: #191919;
box-shadow: inset 0 0 0 1px #474747;
}
.ffz-dark .fp-side__footer {
background-color: #121212;
box-shadow:
inset 0 -1px 0 #474747,
inset -1px 0 0 #474747,
inset 1px 0 0 #474747;
}
.ffz-dark .fp-carousel-nav__item:not(.fp-carousel-nav__item--active) {
border-color: #474747;
}
.ffz-dark .fp-carousel__name,
.ffz-dark .fp-side__header { color: #c3c3c3 }

View file

@ -1,3 +1,62 @@
<div class="list-header">3.5.434 <time datetime="2017-03-03">(2017-03-03)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: Dark theme for the Notification Center.</li>
<li>Fixed: Notification Center position with swapped sidebars.</li>
<li>Fixed: Twitch removed the CSS class for Recommended Channels from the sidebar, breaking a setting and making it look ugly when collapsed.</li>
</ul>
<div class="list-header">3.5.433 <time datetime="2017-03-01">(2017-03-01)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: Link information for Twitch Videos.</li>
<li>Fixed: Link information not showing for Twitch Clips.</li>
<li>Fixed: Dark theme for Prime advertisement bars on the front page. (Sorry Daxter please don't hate me anymore.)</li>
</ul>
<div class="list-header">3.5.432 <time datetime="2017-02-26">(2017-02-26)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Added: The Stats tab of moderation cards now tells you a user's ID, if and when they followed a channel, and how many times they've been banned in the channel.</li>
<li>Added: Name History, so you can see what a user's previous usernames have been. This data is sourced from CommanderRoot's tools and Twitch's own API.</li>
<li>Changed: Refactor stats rendering for moderation cards and the debugging menu to reduce duplicate code.</li>
<li>Fixed: Theater Hover Stats could cover up timestamps when viewing a video.</li>
<li>Fixed: Follower-only moderation action messages weren't being de-duplicated correctly.</li>
</ul>
<div class="list-header">3.5.431 <time datetime="2017-02-17">(2017-02-17)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>API Changed: Add different modes for merging badges.</li>
</ul>
<div class="list-header">3.5.430 <time datetime="2017-02-17">(2017-02-17)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Bug with the API because constants isn't defined.</li>
</ul>
<div class="list-header">3.5.429 <time datetime="2017-02-16">(2017-02-16)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: CSS tweaks for the dark theme.</li>
<li>Fixed: Display uptime on the Discover queue.</li>
</ul>
<div class="list-header">3.5.428 <time datetime="2017-02-14">(2017-02-14)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Minimize DOM changes for the stream uptime display on the directory to reduce nodes that need to be garbage collected.</li>
</ul>
<div class="list-header">3.5.427 <time datetime="2017-02-14">(2017-02-14)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: API badges not rendering correctly.</li>
<li>Fixed: Hidden Badges UI not opening due to a malformed badge data structure from Ember.</li>
<li>Fixed: Remove unnecessary logging mistakenly left in the last build.</li>
</ul>
<div class="list-header">3.5.426 <time datetime="2017-02-13">(2017-02-13)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Not Found bug when clicking links to game directory pages.</li>
<li>Fixed: Custom moderator badges not displaying in Mozilla Firefox.</li>
<li>API Added: <code>bttv-room-message</code> event for awareness of chat messages sent when BetterTTV is installed. This data structure is not like standard <code>room-message</code>.</li>
<li>API Changed: To reduce memory usage, badge objects are now not cloned. <code>user_add_badge</code> and <code>room_add_user_badge</code> now support complex badge structures rather than just IDs for more flexible badge setups.</li>
</ul>
<div class="list-header">3.5.425 <time datetime="2017-02-03">(2017-02-03)</time></div>
<ul class="chat-menu-content menu-side-padding">
<li>Fixed: Whisper User button not rendering on moderation cards.</li>

View file

@ -230,18 +230,26 @@ FFZ.prototype.setup_layout = function() {
}.property("ffzExtraHeight", "windowWidth", "rightColumnWidth", "fullSizePlayerDimensions", "windowHeight"),
contentWidth: function() {
var left_width = this.get('ffzMinimizeNavigation') ? 10 : this.get("isLeftColumnClosed") ? 50 : 240,
var left_width = this.get('isSocialColumnEnabled') ? (
f.settings.socialbar_hide ? 0 :
this.get('isSocialColumnCollapsed') ? 50 : 240
) : (
this.get('ffzMinimizeNavigation') ? 10 :
this.get('isLeftColumnClosed') ? 50 : 240
),
right_width = ! f.has_bttv && this.get('portraitMode') ? 0 : this.get("isRightColumnClosed") ? 0 : this.get("rightColumnWidth");
return this.get("windowWidth") - left_width - right_width - 60;
}.property("windowWidth", 'ffzMinimizeNavigation', "portraitMode", "isRightColumnClosed", "isLeftColumnClosed", "rightColumnWidth"),
}.property("windowWidth", 'ffzMinimizeNavigation', "portraitMode", "isRightColumnClosed", "isLeftColumnClosed", "rightColumnWidth", "isSocialColumnCollapsed", "isSocialColumnEnabled"),
ffzExtraHeight: function() {
return (f.settings.channel_bar_collapse ? 10 : 60) + 15 +
return (this.get('isSocialColumnEnabled') ? this.get('ffzMinimizeNavigation') ? 10 : 50 : 0) +
(f.settings.channel_bar_collapse ? 10 : 60) + 15 +
(f.settings.channel_title_top === 2 ? 20 : f.settings.channel_title_top > 0 ? 55 : 0) +
(f.settings.channel_title_top ? 70 : 80);
}.property(""),
}.property("isSocialColumnEnabled", "ffzMinimizeNavigation"),
fullSizePlayerDimensions: function() {
var h = this.get('windowHeight'),
@ -308,6 +316,7 @@ FFZ.prototype.setup_layout = function() {
if ( this.get('portraitMode') ) {
var size = this.get('fullSizePlayerDimensions'),
video_below = this.get('portraitVideoBelow'),
top_height = this.get('isSocialColumnEnabled') ? this.get('ffzMinimizeNavigation') ? 10 : 50 : 0,
video_height = size.height + this.get('ffzExtraHeight'),
chat_height = window_height - video_height,
@ -333,21 +342,25 @@ FFZ.prototype.setup_layout = function() {
'left: 10px !important}' +
'body[data-current-path^="user."] #left_col .warp { min-height: inherit }' +
'body[data-current-path^="user."] #left_col { overflow: hidden }' +
'body[data-current-path^="user."] .social-column {' +
'top:' + video_top + 'px;' +
'height:' + (video_height - top_height) + 'px}' +
'body[data-current-path^="user."] #left_col .warp,' +
'body[data-current-path^="user."] #left_col,' +
'body[data-current-path^="user."] .searchPanel--slide,' +
'body[data-current-path^="user."]:not(.ffz-sidebar-swap) #main_col{' +
'margin-right:0 !important;' +
'top:' + video_top + 'px;' +
'height:' + video_height + 'px}' +
'height:' + (video_height - top_height) + 'px}' +
'body[data-current-path^="user."].ffz-sidebar-swap #main_col{' +
'margin-left:0 !important;' +
'top:' + video_top + 'px;' +
'height:' + video_height + 'px}' +
'height:' + (video_height - top_height) + 'px}' +
'body[data-current-path^="user."] #right_col{' +
'width:100%;' +
'top:' + chat_top + 'px;' +
'top:' + (video_below ? chat_top : chat_top - top_height) + 'px;' +
'height:' + chat_height + 'px}' +
'body[data-current-path^="user."] .app-main.theatre .social-column,' +
'body[data-current-path^="user."] .app-main.theatre #left_col .warp,' +
'body[data-current-path^="user."] .app-main.theatre #left_col,' +
'body[data-current-path^="user."] .app-main.theatre #player,' +
@ -373,20 +386,24 @@ FFZ.prototype.setup_layout = function() {
'body.ffz-sidebar-swap .cn-bar-fixed { left: 0 !important }' +
'.ffz-theater-stats .app-main.theatre .cn-hosting--bottom,' +
'.ffz-theater-stats .app-main.theatre .cn-metabar__more {' +
'max-width: calc(100% - 350px);' +
'bottom: ' + (theatre_video_bottom + 85) + 'px !important}' +
'max-width:calc(100% - 350px);' +
'bottom:' + (theatre_video_bottom + 85) + 'px !important}' +
'.ffz-theater-stats:not(.ffz-theatre-conversations):not(.ffz-top-conversations) .app-main.theatre .cn-metabar__more {' +
'bottom: ' + (theatre_video_bottom + 130) + 'px !important}';
'bottom:' + (theatre_video_bottom + 130) + 'px !important}' +
(video_below ? '.js-player-persistent {' +
'margin-top:-' + video_top + 'px}' +
'.ffz-sidebar-minimize .has-sc .js-player-persistent {' +
'margin-top:-' + (video_top - 40) + 'px}' : '');
} else {
out += '.ffz-sidebar-swap .player-mini{left:' + (width + 10) + 'px !important}' +
'#main_col.expandRight #right_close{left: none !important}' +
'#right_col{width:' + width + 'px}' +
'body:not(.ffz-sidebar-swap) #main_col:not(.expandRight){' +
'margin-right:' + width + 'px}' +
'margin-right:' + width + 'px !important}' +
'body.ffz-sidebar-swap .theatre #main_col:not(.expandRight),' +
'body.ffz-sidebar-swap #main_col:not(.expandRight){' +
'margin-left:' + width + 'px}' +
'margin-left:' + width + 'px !important}' +
'body:not(.ffz-sidebar-swap) .app-main.theatre #main_col:not(.expandRight) #player {' +
'right: ' + width + 'px !important}' +
'body.ffz-sidebar-swap .app-main.theatre #main_col:not(.expandRight) #player {' +

View file

@ -1213,7 +1213,7 @@ FFZ.prototype._modify_chat_subline = function(component, is_whisper) {
else if ( cl.contains('pc-dismiss') )
PinnedCheers.dismissMessage(
this.get('ffzPinnedParent.userData.id'),
this.get('msgObject.is_pinned_cheer') === '2' ? 'top' : 'recent'
this.get('msgObject.is_pinned_cheer') === 2 ? 'top' : 'recent'
);
else if ( cl.contains('tb-reject') )

View file

@ -1383,7 +1383,7 @@ FFZ.prototype._modify_room = function(room) {
if ( ! event.topic || event.topic.substr(-room_id.length) !== room_id || event.created_by === this.get("session.userData.login") )
return;
f.log("Login Moderation for " + this.get('id') + ' [' + room_id + ']', event);
//f.log("Login Moderation for " + this.get('id') + ' [' + room_id + ']', event);
// In case we get unexpected input, do the other thing.
if ( f.has_bttv || ["ban", "unban", "timeout", "untimeout"].indexOf(event.moderation_action) === -1 )

View file

@ -50,6 +50,24 @@ FFZ.settings_info.sidebar_hide_recommended_channels = {
};
FFZ.settings_info.socialbar_hide = {
type: "boolean",
value: false,
no_mobile: true,
category: "Sidebar",
name: "Hide Social Bar",
help: "Hide the social bar to the left of the page.",
on_update: function(val) {
utils.toggle_cls('ffz-hide-socialbar')(val);
var Layout = utils.ember_lookup('service:layout');
Layout && Ember.propertyDidChange(Layout, 'contentWidth');
}
}
FFZ.settings_info.sidebar_hide_prime = {
type: "select",
options: {
@ -166,7 +184,7 @@ FFZ.settings_info.sidebar_disable_friends = {
};
FFZ.settings_info.sidebar_start_open = {
/*FFZ.settings_info.sidebar_start_open = {
type: "boolean",
value: false,
@ -175,7 +193,7 @@ FFZ.settings_info.sidebar_start_open = {
name: "Automatically Open Drawer",
help: "Open the drawer at the bottom of the sidebar by default when the page is loaded."
};
};*/
FFZ.settings_info.sidebar_directly_to_followed_channels = {
@ -204,6 +222,7 @@ FFZ.prototype.setup_sidebar = function() {
utils.toggle_cls('ffz-hide-friends')(this.settings.sidebar_disable_friends);
utils.toggle_cls('ffz-hide-prime')(this.settings.sidebar_hide_prime === 2);
utils.toggle_cls('ffz-hide-prime-collapsed')(this.settings.sidebar_hide_prime === 1);
utils.toggle_cls('ffz-hide-socialbar')(this.settings.socialbar_hide);
if ( this.settings.sidebar_disable_friends ) {
try {
@ -244,13 +263,14 @@ FFZ.prototype.setup_sidebar = function() {
this.update_views('component:recommended-channels', this.modify_recommended_channels);
// Navigation Service
var NavService = utils.ember_lookup('service:navigation');
/*var NavService = utils.ember_lookup('service:navigation');
if ( NavService ) {
// Open Drawer by Default
if ( this.settings.sidebar_start_open )
var Layout = utils.ember_lookup('service:layout');
if ( this.settings.sidebar_start_open && Layout && ! Layout.get('isSocialColumnEnabled') )
NavService.set('isDrawerOpen', true);
} else
this.error("Unable to load the Ember Navigation service.")
this.error("Unable to load the Ember Navigation service.")*/
}

View file

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

View file

@ -346,31 +346,39 @@ FFZ.prototype.format_display_name = function(display_name, user_id, disable_alia
// ---------------------
FFZ.prototype.load_twitch_emote_data = function(tries) {
jQuery.ajax(constants.SERVER + "twitch_emotes.json", {context: this})
var f = this;
f._twitch_set_to_channel[0] = "--global--";
f._twitch_set_to_channel[33] = "--turbo-faces--";
f._twitch_set_to_channel[42] = "--turbo-faces--";
f._twitch_set_to_channel[19194] = "--prime--";
f._twitch_set_to_channel[19151] = "--curse--";
this.log("Loading Twitch Emote Data (Try " + (tries || 0) + ")");
jQuery.ajax(constants.SERVER + "twitch_emotes.json")
.done(function(data) {
f.log("Loaded Twitch Emote Data", data);
for(var set_id in data) {
var set = data[set_id];
var set = data[set_id],
old_id = f._twitch_set_to_channel[set_id];
if ( ! set )
continue;
this._twitch_set_to_channel[set_id] = set.name;
if ( ! old_id || old_id.indexOf('--') === -1 )
f._twitch_set_to_channel[set_id] = set.name;
for(var i=0, l = set.emotes.length; i < l; i++)
this._twitch_emote_to_set[set.emotes[i]] = set_id;
f._twitch_emote_to_set[set.emotes[i]] = set_id;
}
this._twitch_set_to_channel[0] = "--global--";
this._twitch_set_to_channel[33] = "--turbo-faces--";
this._twitch_set_to_channel[42] = "--turbo-faces--";
this._twitch_set_to_channel[19194] = "--prime--";
this._twitch_set_to_channel[19151] = "--curse--";
}).fail(function(data) {
f.log("Error loading Twitch Emote Data", data);
if ( data.status === 404 )
return;
tries = (tries || 0) + 1;
if ( tries < 10 )
setTimeout(this.load_twitch_emote_data.bind(this, tries), 1000);
setTimeout(f.load_twitch_emote_data.bind(f, tries), 1000);
});
}

View file

@ -78,7 +78,7 @@ metadata.uptime = {
};
metadata.player_stats = {
refresh: function() { return this.settings.player_stats },
refresh: function() { return this.settings.player_stats !== 0 },
setup: function(view, maybe_channel, is_hosting, channel) {
var channel_id = channel.get('id'),
@ -371,7 +371,7 @@ FFZ.prototype.render_metadata = function(key, basic_info, metabar, timers, refre
} else {
stat = el.querySelector('span.ffz-label');
old_color = el.dataset.color;
old_color = el.getAttribute('data-color') || '';
if ( dynamic_tooltip )
je = jQuery(el);
}

View file

@ -151,12 +151,13 @@ FFZ.prototype._update_following_count = function() {
HostLive = Host && Host.find("following"),*/
current_path = document.body.getAttribute('data-current-path') || '',
is_directory = current_path === 'directory.following.channels',
f = this;
/*if ( ! this.is_dashboard && HostLive && current_path.indexOf('directory.following') !== -1 )
HostLive.load();*/
if ( ! this.is_dashboard && Live )
if ( ! this.is_dashboard && ! is_directory && Live )
Live.load();
else {
var u = this.get_user();

View file

@ -119,7 +119,14 @@ FFZ.menu_pages.myemotes = {
if ( this.settings.favorite_emotes[key] && this.settings.favorite_emotes[key].length )
return 'favorites';
return 'all';
var has_emotes = FFZ.menu_pages.myemotes.has_sets.call(this);
if ( has_emotes )
return 'all';
if ( this.settings.emoji_in_menu )
return 'emoji';
return 'favorites';
},
pages: {
@ -206,7 +213,8 @@ FFZ.menu_pages.myemotes = {
if ( ! set.length )
continue;
var menu_id = this._twitch_set_to_channel[set_id].toLowerCase(),
var raw_id = this._twitch_set_to_channel[set_id],
menu_id = raw_id ? raw_id.toLowerCase() : 'unknown',
sort_key = 0,
menu = FFZ.menu_pages.myemotes.draw_twitch_set.call(this, view, set_id, set, favorites_only);
@ -407,7 +415,7 @@ FFZ.menu_pages.myemotes = {
collapsed = ! favorites_only && this.settings.emote_menu_collapsed.indexOf('twitch-' + set_id) === -1,
f = this,
channel_id = this._twitch_set_to_channel[set_id], title,
channel_id = this._twitch_set_to_channel[set_id] || 'twitch_unknown', title,
favorites = this.settings.favorite_emotes["twitch-" + set_id] || [],
c = 0;

114
style.css
View file

@ -31,8 +31,9 @@ body > div.tipsy .tipsy-arrow { opacity: 0.8; }
.ffz-hide-thumb-info-on-hover .video.item:hover .progress-bar-wrapper,
.ffz-hide-thumb-info-on-hover .card-carousel__item:hover .card__boxpin,
body:not(.ffz-theater-basic-stats) .player-userinfo__game,
body:not(.ffz-theater-basic-stats) .player-controls-top,
.moderation-card__actions:not(.loading):empty,
.cn-bar-spacer.show,
.ffz-minimal-dashboard[data-current-path="user.dashboards.index"] #left_col,
.ffz-minimal-dashboard[data-current-path="user.dashboards.index"] #left_close,
.ffz-minimal-dashboard[data-current-path="user.dashboards.index"] #right_col,
@ -58,11 +59,19 @@ body > div.tipsy .tipsy-arrow { opacity: 0.8; }
.ffz-hide-channel-banner .cn-cover-wrap,
.app-main .ad_leader:empty,
body:not(.ffz-show-bits-tags) .bits-tag--container,
.ffz-hide-socialbar .social-column,
.ffz-hide-socialbar .has-sc #left_close,
.ffz-hide-friends .friend-button,
.ffz-hide-friends .sc-online-friends,
.ffz-hide-friends .sc-suggestions,
.ffz-hide-friends .sc-search,
.ffz-hide-friends .top-nav-drawer__status,
.ffz-hide-friends nav .friend-list,
.ffz-hide-friends .warp__status .js-presence-indicator,
.ffz-hide-friends .js-presence-indicator,
.ffz-hide-friends #friend-requests-in-notifications,
.ffz-hide-more-at-twitch nav .tse-content > .warp__list:last-of-type,
.ffz-hide-recommended-friends .recommended-friends,
.ffz-hide-recommended-friends .sc-suggestions,
.ffz-hide-recommended-channels .js-recommended-channels,
.drawer.closed .js-recommended-channels .warp__item--header,
.drawer.closed .promotedGames .warp__item--header,
@ -1046,7 +1055,7 @@ body.ffz-bttv-dark .ffz-ui-popup .ffz-ui-menu-page { margin: 0 }
body.ffz-bttv-dark .ffz-ui-popup .ffz-ui-menu-page .chat-menu-content .heading,
body.ffz-bttv-dark .ffz-ui-popup .ffz-ui-menu-page .emoticon-grid .heading {
border-color: rgba(255,255,255,0.1);
border-color: rgba(255,255,255,0.1);
}
body.ffz-bttv-dark .ffz-ui-popup ul.menu:not(.sub-menu),
@ -2270,6 +2279,7 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
right: 240px;
}
.ffz-sidebar-swap .social-column,
.ffz-sidebar-swap #left_col {
left: auto;
right: 0;
@ -2295,18 +2305,34 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
left: auto;
}
.ffz-sidebar-swap .social-column {
box-shadow: none !important
}
.ffz-hide-socialbar .has-sc .cn-bar-fixed { left: 0 !important }
.ffz-sidebar-swap.ffz-hide-socialbar .has-sc .cn-bar-fixed { right: 0 }
.ffz-hide-socialbar:not(.ffz-sidebar-swap) .has-sc #main_col {
margin-left: 0 !important;
}
.ffz-sidebar-swap #main_col {
margin-left: 340px;
margin-right: 240px;
margin-left: 340px !important;
margin-right: 240px !important;
}
.ffz-sidebar-swap.ffz-hide-socialbar .has-sc #main_col.expandLeft,
.ffz-sidebar-swap.ffz-hide-socialbar .has-sc #main_col {
margin-right: 0 !important;
}
.ffz-sidebar-swap .app-main.theatre #main_col {
margin-left: 340px;
margin-right: 0px;
margin-left: 340px !important;
margin-right: 0px !important;
}
.ffz-sidebar-swap .app-main.theatre #main_col.expandRight {
margin-left: 0px;
margin-left: 0px !important;
}
@ -2315,11 +2341,15 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
}
.ffz-sidebar-swap #main_col.expandLeft {
margin-right: 50px;
margin-right: 50px !important;
}
.ffz-sidebar-swap .has-sc:not(.has-sc--collapsed) #main_col.expandLeft {
margin-right: 240px !important;
}
.ffz-sidebar-swap #main_col.expandRight {
margin-left: 0px;
margin-left: 0px !important;
}
.ffz-sidebar-swap #flyout {
@ -2394,6 +2424,10 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
}
.ffz-no-blue .theme--dark .sc-header { box-shadow: 0 -0.1rem 0 #5c5c5c inset }
.ffz-no-blue .theme--dark .sc-card:hover { box-shadow: -0.1rem 0 0 #414141 inset }
.ffz-no-blue .theme--dark .social-column { box-shadow: -0.1rem 0 0 #2b2b2b inset}
.ffz-no-blue .theme--dark .form__input,
.ffz-no-blue .form--theme-dark .form__input {
background-color: rgba(255,255,255,0.05);
@ -2414,6 +2448,8 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
background-color: rgba(25,25,25,.5);
}
.ffz-no-blue .theme--dark .sc-card:hover,
.ffz-no-blue .theme--dark .sc-toggle:hover,
.ffz-no-blue .warp__item a:not(.warp__logo):hover {
background-color: #2b2b2b;
}
@ -2423,6 +2459,7 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
box-shadow: 3px 0 0 #a3a3a3 inset;
}
.ffz-no-blue .theme--dark .social-column,
.ffz-no-blue .theatre .conversations-list-bottom-bar,
.ffz-no-blue.ffz-dark .conversations-list-bottom-bar,
.ffz-no-blue .theatre .conversations-list,
@ -2443,6 +2480,7 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
.ffz-no-blue .ember-chat-container.dark .chat-header,
.ffz-no-blue .theatre .chat-header,
.ffz-no-blue .theme--dark .sc-search,
.ffz-no-blue .warp,
.ffz-no-blue #large_nav .content,
.ffz-no-blue #small_nav .content,
@ -2525,6 +2563,7 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
color: #8c8c8c;
}
.ffz-no-blue .theme--dark .sc-search,
.ffz-no-blue .theatre .conversations-list,
.ffz-no-blue.ffz-dark .conversations-list {
border-color: #323232;
@ -2561,6 +2600,14 @@ body:not([data-current-path^="user."]) .ffz-sidebar-swap .ember-chat .chat-inter
background-color: #121212;
}
.ffz-no-blue .top-nav-drawer__status {
background-color: #080808;
}
.ffz-no-blue .top-nav-drawer {
background-color: #101010;
}
/* Following Count */
li[data-name="following"] a {
@ -3552,10 +3599,6 @@ body.ffz-bttv #ffz-feed-tabs .tabs { margin-bottom: 0 }
margin-right: 5px;
}
body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
padding-top: 75px;
}
.ffz-channel-title-top .cn-metabar__more { width: 100% }
.ffz-channel-title-top #channel {
position: relative;
@ -3563,7 +3606,7 @@ body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
}
.ffz-channel-title-top:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
padding-top: 135px;
padding-top: 85px;
}
@ -3581,7 +3624,7 @@ body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
.ffz-minimal-channel-title.ffz-channel-title-top #channel { padding-top: 50px }
.ffz-minimal-channel-title.ffz-channel-title-top:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
padding-top: 100px;
padding-top: 50px;
}
.ffz-channel-title-top .ffz-channel.ffz-host { margin-top: -55px }
@ -3590,6 +3633,7 @@ body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
.ffz-channel-title-top .cn-metabar__title {
position: absolute;
top: 5px;
padding: 1rem 0;
z-index: 3;
}
@ -3602,21 +3646,45 @@ body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
transition: top ease-in-out 75ms, bottom ease-in-out 75ms;
}
.ffz-minimal-channel-bar .cn-bar-fixed:hover { top: 0 }
.ffz-minimal-channel-bar .has-sc .cn-bar-fixed { top: 10px }
.ffz-sidebar-minimize.ffz-minimal-channel-bar:not(.ffz-channel-bar-bottom) .has-sc .cn-bar-fixed { top: -30px }
.ffz-sidebar-minimize.ffz-minimal-channel-bar:not(.ffz-channel-bar-bottom) .has-sc div:hover + .app-body .cn-bar-fixed { top: 10px }
.ffz-sidebar-minimize.ffz-minimal-channel-bar:not(.ffz-channel-bar-bottom) .has-sc .cn-bar-fixed:hover { top: 10px }
.ffz-channel-bar-bottom .player-mini { bottom: 20px }
.ffz-minimal-channel-bar .cn-bar-fixed:hover { top: 0 }
.ffz-minimal-channel-bar:not(.ffz-channel-bar-bottom) .has-sc div:hover + .app-body .cn-bar-fixed,
.ffz-minimal-channel-bar:not(.ffz-channel-bar-bottom) .has-sc .cn-bar-fixed:hover { top: 50px }
.ffz-minimal-channel-bar.ffz-channel-bar-bottom .cn-bar-fixed { top: auto; bottom: -40px }
.ffz-minimal-channel-bar.ffz-channel-bar-bottom .cn-bar-fixed:hover { bottom: 0 }
.ffz-minimal-channel-title .cn-metabar,
.ffz-sidebar-minimize .top-nav {
top: -40px;
transition: top ease-in-out 75ms, bottom ease-in-out 75ms;
}
.ffz-sidebar-minimize .app-main.has-sc:not(.theatre) { top: 10px }
.ffz-sidebar-minimize .top-nav:hover { top: 0 }
.ffz-sidebar-minimize .has-sc .js-player-persistent { margin-top: 40px }
/*.ffz-minimal-channel-title .cn-metabar,
.ffz-channel-title-top .cn-metabar {
min-height: 70px;
}
}*/
.ffz-hide-channel-banner .cn-bar__avatar-wrap { width: 4rem; height: 4rem; }
/* Channel Metadata Sorting */
div.metadata-box {
border: none !important;
margin: 0 !important;
padding: 1rem 0 !important;
background: transparent !important;
}
.cn-hosting--bottom > *,
.cn-metabar__more > * {
margin: .5rem 1rem .5rem 0 !important;
@ -3847,13 +3915,13 @@ body:not(.ffz-minimal-channel-bar):not(.ffz-channel-bar-bottom) #channel {
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) #left_col.closed:not(:hover) { left: -40px }
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) #left_col.open:not(:hover) { left: -230px }
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) #main_col { margin-left: 10px }
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) #left_col ~ #main_col .cn-bar-fixed { left: 10px }
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) .app-main:not(.has-sc) #main_col { margin-left: 10px !important }
.ffz-sidebar-minimize:not(.ffz-sidebar-swap) .app-main:not(.has-sc) #left_col ~ #main_col .cn-bar-fixed { left: 10px }
.ffz-sidebar-minimize.ffz-sidebar-swap #left_col.closed:not(:hover) { right: -40px }
.ffz-sidebar-minimize.ffz-sidebar-swap #left_col.open:not(:hover) { right: -230px }
.ffz-sidebar-minimize.ffz-sidebar-swap #main_col { margin-right: 10px }
.ffz-sidebar-minimize.ffz-sidebar-swap .cn-bar-fixed { right: 10px }
.ffz-sidebar-minimize.ffz-sidebar-swap .app-main:not(.has-sc) #main_col { margin-right: 10px !important }
.ffz-sidebar-minimize.ffz-sidebar-swap .app-main:not(.has-sc) .cn-bar-fixed { right: 10px }
/* Modifier Emotes */