From 262757a20d429050e780fe6167b67d1c4b846d34 Mon Sep 17 00:00:00 2001 From: SirStendec Date: Mon, 13 Nov 2017 01:23:39 -0500 Subject: [PATCH] 4.0.0 Beta 1 --- .gitignore | 1 + README.md | 28 +- changelog.html | 69 +- dark.css | 2216 ----- gulpfile.js | 292 - old_changes.html | 69 + package-lock.json | 7387 +++++++++++++++++ package.json | 63 +- res/font/ffz-fontello.eot | Bin 0 -> 12396 bytes res/font/ffz-fontello.svg | 66 + res/font/ffz-fontello.ttf | Bin 0 -> 12212 bytes res/font/ffz-fontello.woff | Bin 0 -> 7408 bytes res/font/ffz-fontello.woff2 | Bin 0 -> 6256 bytes src/FileSaver.js | 188 - src/ObjectPath.js | 21 - src/badges.js | 847 -- src/commands.js | 531 -- src/constants.js | 146 - src/debug.js | 38 - src/ember/bits.js | 335 - src/ember/channel.js | 754 -- src/ember/chat-input.js | 1569 ---- src/ember/chatview.js | 1501 ---- src/ember/commerce.js | 330 - src/ember/conversations.js | 271 - src/ember/dashboard.js | 62 - src/ember/directory.js | 793 -- src/ember/feed-card.js | 121 - src/ember/following.js | 336 - src/ember/layout.js | 461 - src/ember/line.js | 2127 ----- src/ember/moderation-card.js | 1825 ---- src/ember/player.js | 307 - src/ember/room.js | 2887 ------- src/ember/router.js | 47 - src/ember/sidebar.js | 514 -- src/ember/viewers.js | 105 - src/ember/vod-chat.js | 164 - src/ember/wrapper.js | 99 - src/emoticons.js | 572 -- src/entry.js | 16 + src/ext/api.js | 682 -- src/ext/betterttv.js | 539 -- src/ext/emote_menu.js | 65 - src/ext/warpworld.js | 31 - src/featurefriday.js | 149 - src/i18n.js | 489 ++ src/jsconfig.json | 8 + src/less/dark-clips.less | 417 - src/less/style-clips.less | 5 - src/localization.js | 6 - src/main.js | 717 +- src/modules/chat/badges.js | 27 + src/modules/chat/emotes.js | 325 + src/modules/chat/index.js | 513 ++ src/modules/chat/room.js | 216 + src/modules/chat/tokenizers.js | 702 ++ src/modules/main_menu/components.js | 3 + .../main_menu/components/changelog.vue | 50 + .../main_menu/components/feedback-page.vue | 35 + .../main_menu/components/filter-editor.vue | 67 + .../main_menu/components/home-page.vue | 100 + .../main_menu/components/main-menu.vue | 180 + .../main_menu/components/menu-container.vue | 34 + .../main_menu/components/menu-page.vue | 89 + .../main_menu/components/menu-tree.vue | 165 + .../main_menu/components/profile-editor.vue | 205 + .../main_menu/components/profile-manager.vue | 129 + .../main_menu/components/profile-selector.vue | 218 + .../components/setting-check-box.vue | 58 + .../main_menu/components/setting-hotkey.vue | 44 + .../components/setting-radio-buttons.vue | 27 + .../components/setting-select-box.vue | 64 + .../main_menu/components/setting-text-box.vue | 59 + src/modules/main_menu/index.js | 551 ++ src/modules/main_menu/setting-mixin.js | 178 + src/modules/metadata.js | 342 + src/modules/tooltips.js | 93 + src/modules/translation_ui/components.js | 3 + src/modules/translation_ui/nondex.js | 42 + src/settings.js | 870 -- src/settings/context.js | 287 + src/settings/index.js | 452 + src/settings/migration.js | 16 + src/settings/profile.js | 178 + src/settings/providers.js | 301 + src/shims.js | 24 - src/sites/base.js | 106 + src/sites/twitch-twilight/index.js | 113 + .../twitch-twilight/modules/channel_bar.js | 93 + .../twitch-twilight/modules/chat/index.js | 704 ++ .../modules/css_tweaks/index.js | 214 + .../modules/css_tweaks/styles.js | 3 + .../styles/chat-borders-3d-inset.scss | 19 + .../css_tweaks/styles/chat-borders-3d.scss | 19 + .../css_tweaks/styles/chat-borders-wide.scss | 17 + .../css_tweaks/styles/chat-borders.scss | 17 + .../css_tweaks/styles/chat-padding.scss | 7 + .../modules/css_tweaks/styles/chat-rows.scss | 16 + .../modules/css_tweaks/styles/hide-bits.scss | 4 + .../css_tweaks/styles/minimal-navigation.scss | 12 + .../css_tweaks/styles/swap-sidebars.scss | 33 + .../twitch-twilight/modules/menu_button.js | 113 + src/sites/twitch-twilight/modules/player.js | 101 + .../twitch-twilight/modules/theme/index.js | 75 + src/sites/twitch-twilight/styles/channel.scss | 21 + src/sites/twitch-twilight/styles/chat.scss | 3 + src/sites/twitch-twilight/styles/main.scss | 8 + .../twitch-twilight/styles/main_menu.scss | 50 + .../twitch-twilight/styles/menu_button.scss | 15 + src/sites/twitch-twilight/styles/player.scss | 13 + src/socket.js | 856 +- src/std-components/index.js | 3 + src/std-components/tab-container.vue | 118 + src/styles/badges-blank.css | 3 - src/styles/badges-circular-small.css | 5 - src/styles/badges-circular.css | 6 - src/styles/badges-legacy-mod.css | 9 - src/styles/badges-legacy-turbo.css | 9 - src/styles/badges-legacy.css | 29 - src/styles/badges-rounded.css | 4 - src/styles/badges-sub-notice-on.css | 1 - src/styles/badges-sub-notice.css | 1 - src/styles/badges-transparent.css | 21 - src/styles/chat-background.css | 113 - src/styles/chat-colors-gray.css | 4 - src/styles/chat-hc-background.css | 20 - src/styles/chat-hc-bold.css | 6 - src/styles/chat-hc-text.css | 23 - src/styles/chat-padding.css | 23 - src/styles/chat-separator-3d-inset.css | 21 - src/styles/chat-separator-3d.css | 19 - src/styles/chat-separator-wide.css | 19 - src/styles/chat-separator.css | 33 - src/styles/chat-user-bg.css | 21 - src/tokenize.js | 2003 ----- src/ui/about_page.js | 655 -- src/ui/channel_stats.js | 409 - src/ui/dark.js | 266 - src/ui/dash_feed.js | 197 - src/ui/dash_stats.js | 307 - src/ui/following-count.js | 350 - src/ui/following.js | 335 - src/ui/logviewer.js | 893 -- src/ui/menu.js | 850 -- src/ui/menu_button.js | 46 - src/ui/my_emotes.js | 807 -- src/ui/notifications.js | 206 - src/ui/popups.js | 90 - src/ui/races.js | 255 - src/ui/schedule.js | 218 - src/ui/styles.js | 75 - src/ui/sub_count.js | 87 - src/ui/tooltips.js | 428 - src/ui/viewer_count.js | 72 - src/{colors.js => utilities/color.js} | 513 +- src/utilities/compat/apollo.js | 308 + src/utilities/compat/fine-router.js | 87 + src/utilities/compat/fine.js | 486 ++ src/utilities/compat/webmunch.js | 168 + src/utilities/constants.js | 22 + src/utilities/dom.js | 149 + src/utilities/events.js | 313 + src/utilities/filtering.js | 6 + src/utilities/logging.js | 73 + src/utilities/module.js | 563 ++ src/utilities/object.js | 167 + src/utilities/time.js | 24 + src/utilities/tooltip.js | 296 + src/utilities/vue.js | 99 + src/utils.js | 1408 ---- style.css | 4748 ----------- styles/chat.scss | 58 + styles/icons.scss | 91 + styles/main.scss | 12 + styles/theme.scss | 2520 ++++++ styles/tooltips.scss | 401 + styles/widgets.scss | 162 + styles/widgets/container.scss | 73 + styles/widgets/menu-container.scss | 27 + styles/widgets/menu-tree.scss | 69 + styles/widgets/profile-selector.scss | 64 + styles/widgets/tab-container.scss | 40 + webpack.common.js | 66 + webpack.web.common.js | 11 + webpack.web.dev.js | 63 + webpack.web.prod.js | 68 + 187 files changed, 22878 insertions(+), 38882 deletions(-) delete mode 100644 dark.css delete mode 100644 gulpfile.js create mode 100644 package-lock.json create mode 100644 res/font/ffz-fontello.eot create mode 100644 res/font/ffz-fontello.svg create mode 100644 res/font/ffz-fontello.ttf create mode 100644 res/font/ffz-fontello.woff create mode 100644 res/font/ffz-fontello.woff2 delete mode 100644 src/FileSaver.js delete mode 100644 src/ObjectPath.js delete mode 100644 src/badges.js delete mode 100644 src/commands.js delete mode 100644 src/constants.js delete mode 100644 src/debug.js delete mode 100644 src/ember/bits.js delete mode 100644 src/ember/channel.js delete mode 100644 src/ember/chat-input.js delete mode 100644 src/ember/chatview.js delete mode 100644 src/ember/commerce.js delete mode 100644 src/ember/conversations.js delete mode 100644 src/ember/dashboard.js delete mode 100644 src/ember/directory.js delete mode 100644 src/ember/feed-card.js delete mode 100644 src/ember/following.js delete mode 100644 src/ember/layout.js delete mode 100644 src/ember/line.js delete mode 100644 src/ember/moderation-card.js delete mode 100644 src/ember/player.js delete mode 100644 src/ember/room.js delete mode 100644 src/ember/router.js delete mode 100644 src/ember/sidebar.js delete mode 100644 src/ember/viewers.js delete mode 100644 src/ember/vod-chat.js delete mode 100644 src/ember/wrapper.js delete mode 100644 src/emoticons.js create mode 100644 src/entry.js delete mode 100644 src/ext/api.js delete mode 100644 src/ext/betterttv.js delete mode 100644 src/ext/emote_menu.js delete mode 100644 src/ext/warpworld.js delete mode 100644 src/featurefriday.js create mode 100644 src/i18n.js create mode 100644 src/jsconfig.json delete mode 100644 src/less/dark-clips.less delete mode 100644 src/less/style-clips.less delete mode 100644 src/localization.js create mode 100644 src/modules/chat/badges.js create mode 100644 src/modules/chat/emotes.js create mode 100644 src/modules/chat/index.js create mode 100644 src/modules/chat/room.js create mode 100644 src/modules/chat/tokenizers.js create mode 100644 src/modules/main_menu/components.js create mode 100644 src/modules/main_menu/components/changelog.vue create mode 100644 src/modules/main_menu/components/feedback-page.vue create mode 100644 src/modules/main_menu/components/filter-editor.vue create mode 100644 src/modules/main_menu/components/home-page.vue create mode 100644 src/modules/main_menu/components/main-menu.vue create mode 100644 src/modules/main_menu/components/menu-container.vue create mode 100644 src/modules/main_menu/components/menu-page.vue create mode 100644 src/modules/main_menu/components/menu-tree.vue create mode 100644 src/modules/main_menu/components/profile-editor.vue create mode 100644 src/modules/main_menu/components/profile-manager.vue create mode 100644 src/modules/main_menu/components/profile-selector.vue create mode 100644 src/modules/main_menu/components/setting-check-box.vue create mode 100644 src/modules/main_menu/components/setting-hotkey.vue create mode 100644 src/modules/main_menu/components/setting-radio-buttons.vue create mode 100644 src/modules/main_menu/components/setting-select-box.vue create mode 100644 src/modules/main_menu/components/setting-text-box.vue create mode 100644 src/modules/main_menu/index.js create mode 100644 src/modules/main_menu/setting-mixin.js create mode 100644 src/modules/metadata.js create mode 100644 src/modules/tooltips.js create mode 100644 src/modules/translation_ui/components.js create mode 100644 src/modules/translation_ui/nondex.js delete mode 100644 src/settings.js create mode 100644 src/settings/context.js create mode 100644 src/settings/index.js create mode 100644 src/settings/migration.js create mode 100644 src/settings/profile.js create mode 100644 src/settings/providers.js delete mode 100644 src/shims.js create mode 100644 src/sites/base.js create mode 100644 src/sites/twitch-twilight/index.js create mode 100644 src/sites/twitch-twilight/modules/channel_bar.js create mode 100644 src/sites/twitch-twilight/modules/chat/index.js create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/index.js create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles.js create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-borders-3d-inset.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-borders-3d.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-borders-wide.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-borders.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-padding.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/chat-rows.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/hide-bits.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/minimal-navigation.scss create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/swap-sidebars.scss create mode 100644 src/sites/twitch-twilight/modules/menu_button.js create mode 100644 src/sites/twitch-twilight/modules/player.js create mode 100644 src/sites/twitch-twilight/modules/theme/index.js create mode 100644 src/sites/twitch-twilight/styles/channel.scss create mode 100644 src/sites/twitch-twilight/styles/chat.scss create mode 100644 src/sites/twitch-twilight/styles/main.scss create mode 100644 src/sites/twitch-twilight/styles/main_menu.scss create mode 100644 src/sites/twitch-twilight/styles/menu_button.scss create mode 100644 src/sites/twitch-twilight/styles/player.scss create mode 100644 src/std-components/index.js create mode 100644 src/std-components/tab-container.vue delete mode 100644 src/styles/badges-blank.css delete mode 100644 src/styles/badges-circular-small.css delete mode 100644 src/styles/badges-circular.css delete mode 100644 src/styles/badges-legacy-mod.css delete mode 100644 src/styles/badges-legacy-turbo.css delete mode 100644 src/styles/badges-legacy.css delete mode 100644 src/styles/badges-rounded.css delete mode 100644 src/styles/badges-sub-notice-on.css delete mode 100644 src/styles/badges-sub-notice.css delete mode 100644 src/styles/badges-transparent.css delete mode 100644 src/styles/chat-background.css delete mode 100644 src/styles/chat-colors-gray.css delete mode 100644 src/styles/chat-hc-background.css delete mode 100644 src/styles/chat-hc-bold.css delete mode 100644 src/styles/chat-hc-text.css delete mode 100644 src/styles/chat-padding.css delete mode 100644 src/styles/chat-separator-3d-inset.css delete mode 100644 src/styles/chat-separator-3d.css delete mode 100644 src/styles/chat-separator-wide.css delete mode 100644 src/styles/chat-separator.css delete mode 100644 src/styles/chat-user-bg.css delete mode 100644 src/tokenize.js delete mode 100644 src/ui/about_page.js delete mode 100644 src/ui/channel_stats.js delete mode 100644 src/ui/dark.js delete mode 100644 src/ui/dash_feed.js delete mode 100644 src/ui/dash_stats.js delete mode 100644 src/ui/following-count.js delete mode 100644 src/ui/following.js delete mode 100644 src/ui/logviewer.js delete mode 100644 src/ui/menu.js delete mode 100644 src/ui/menu_button.js delete mode 100644 src/ui/my_emotes.js delete mode 100644 src/ui/notifications.js delete mode 100644 src/ui/popups.js delete mode 100644 src/ui/races.js delete mode 100644 src/ui/schedule.js delete mode 100644 src/ui/styles.js delete mode 100644 src/ui/sub_count.js delete mode 100644 src/ui/tooltips.js delete mode 100644 src/ui/viewer_count.js rename src/{colors.js => utilities/color.js} (54%) create mode 100644 src/utilities/compat/apollo.js create mode 100644 src/utilities/compat/fine-router.js create mode 100644 src/utilities/compat/fine.js create mode 100644 src/utilities/compat/webmunch.js create mode 100644 src/utilities/constants.js create mode 100644 src/utilities/dom.js create mode 100644 src/utilities/events.js create mode 100644 src/utilities/filtering.js create mode 100644 src/utilities/logging.js create mode 100644 src/utilities/module.js create mode 100644 src/utilities/object.js create mode 100644 src/utilities/time.js create mode 100644 src/utilities/tooltip.js create mode 100644 src/utilities/vue.js delete mode 100644 src/utils.js delete mode 100644 style.css create mode 100644 styles/chat.scss create mode 100644 styles/icons.scss create mode 100644 styles/main.scss create mode 100644 styles/theme.scss create mode 100644 styles/tooltips.scss create mode 100644 styles/widgets.scss create mode 100644 styles/widgets/container.scss create mode 100644 styles/widgets/menu-container.scss create mode 100644 styles/widgets/menu-tree.scss create mode 100644 styles/widgets/profile-selector.scss create mode 100644 styles/widgets/tab-container.scss create mode 100644 webpack.common.js create mode 100644 webpack.web.common.js create mode 100644 webpack.web.dev.js create mode 100644 webpack.web.prod.js diff --git a/.gitignore b/.gitignore index 2d22fb2f..fb3e9c14 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ node_modules npm-debug.log build +dist Extension Building Old Files badges diff --git a/README.md b/README.md index 4b8f5dd0..cbf1a4ce 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ FrankerFaceZ ============ -Copyright (c) 2016 Dan Salvato LLC +Copyright (c) 2017 Dan Salvato LLC Licensed under the Apache License, Version 2.0. See LICENSE. @@ -12,26 +12,18 @@ Developing FrankerFaceZ uses node.js to manage development dependencies and to run an HTTP server for development. To get everything you need: -1. Install node.js -2. Run ```npm install -g gulp``` to install the ```gulp``` command line utility. -3. Run ```npm install``` within the FrankerFaceZ directory. +1. Install node.js and npm +2. Run ```npm install`` within the FrankerFaceZ directory. -From there, you can use gulp to build the extension from source simply by -running ```gulp```. For development, you can instruct gulp to watch the source -files for changes and re-build automatically with ```gulp watch``` +From there, you can use npm to build the extension from source simply by +running ```npm run build```. For development, you can instruct gulp to watch +the source files for changes and re-build automatically with ```npm start``` FrankerFaceZ comes with a local development server that listens on port 8000 and it serves up local development copies of files, falling back to the CDN -when a local copy of a file isn't present. To start the server, -run ```gulp server``` +when a local copy of a file isn't present. -For convenience, the server is run automatically along with ```gulp watch``` - - -Use the command ```/ffz developer_mode on``` or ```/ffz developer_mode off``` -in Twitch chat to toggle developer mode on or off. You must then refresh the -page for changes to take effect. If FFZ is not working or the command otherwise -fails to work, you can open the JavaScript console on twitch.tv and run -```localStorage.ffzDebugMode = true;``` or -```localStorage.ffzDebugMode = false;``` to enable or disable the feature. \ No newline at end of file +To make FrankerFaceZ load from your local development server, you must set +the local storage variable ```ffzDebugMode``` to true. Just run the following +in your console on Twitch: ```localStorage.ffzDebugMode = true;``` diff --git a/changelog.html b/changelog.html index b38085b3..96dad766 100644 --- a/changelog.html +++ b/changelog.html @@ -1,70 +1,7 @@ -
3.5.536
+
4.0.0-beta1
- -
3.5.535
- - -
3.5.534
- - -
3.5.533
- - -
3.5.532
- - -
3.5.531
- - -
3.5.530
- - -
3.5.529
- - -
3.5.528
- - -
3.5.527
- - -
3.5.526
- - -
3.5.525
-
View Older
diff --git a/dark.css b/dark.css deleted file mode 100644 index e4689ba3..00000000 --- a/dark.css +++ /dev/null @@ -1,2216 +0,0 @@ -/* host mode */ -.ffz-dark #hostmode,.hostmode{ - background-color:rgb(16,16,16)!important; -} - -.ffz-dark div#channel > .target-frame { - background-color:rgb(16,16,16)!important; -} - -.ffz-dark .hostmode-title-container{ - background-color:rgb(16,16,16)!important; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.4) inset; -} - -.ffz-dark div.hostmode-title.clearfix{ - background-color:rgb(24,24,24)!important; - box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.4) inset; -} - -.ffz-dark .close-hostmode{ - background-color:rgb(16,16,16)!important; - border-top: 1px solid rgba(255, 255, 255, 0.05); -} - -.ffz-dark .offlineChannelStatus { - background-color: rgba(255,255,255, 0.05); -} - -.ffz-dark .close-hostmode a:before, -.ffz-dark .close-hostmode a:after { - border-bottom-color: rgba(255,255,255, 0.05); -} - - -/* hidden chat */ -.ffz-dark .card__img, -.ffz-dark .ember-chat .chat-hidden-overlay{ - background-color:rgb(24,24,24)!important; -} - - - -/* edit icon */ -.ffz-dark .js-video-stats__video-header + a svg, -.ffz-dark .subscription-modal__balloon svg, -.ffz-dark #channel .player-column #broadcast-meta .info .edit-link svg path{ - fill:rgba(255,255,255,0.5)!important; -} - -/* vod icons */ -.ffz-dark #stats .stat svg:not(.svg-glyph_live) path, -.ffz-dark #main_col .content #stats_and_actions #channel_stats .stat svg path{ - fill:rgba(255,255,255,0.5)!important; -} - - -/* hover icon for chats menu */ -.ffz-dark .ember-chat .chat-menu-button-container:hover svg path{ - fill:#fff!important; -} - - -/* dropdown arrows */ -.ffz-dark .button.drop:after{ - border-color: rgba(255, 255, 255, 0.35) transparent transparent!important;; -} - -/* hovering buttons */ -.ffz-dark .button:not(.primary):not(.ffz-donate):hover{ - color:rgb(222,222,222)!important; -} - -.ffz-dark .moderation-card .button:not(.button--icon-only):hover { - color: #fff !important; -} - -/* stats */ -.ffz-dark .ct-tags--extracted { border-bottom: none } - -.ffz-dark .stats-and-actions, -.ffz-dark #main_col .content #stats_and_actions { - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark #channel .player-column .stats-and-actions .channel-stats .stat svg:not(.svg-glyph_live) path{ - fill:rgba(255,255,255,0.35)!important; -} - -/* Scrollbar */ -.ffz-dark .tse-scrollbar .drag-handle { - background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.6)!important; -} - - -/* Team Pages */ - -.ffz-dark #stats_and_description { border-color: rgba(255,255,255,0.1) } -.ffz-dark #stats_and_description .stat { color: #808080 } -.ffz-dark #stats_and_description .stat:not(#channel_viewer_count) { -webkit-filter: invert(100%) } - -.ffz-dark .profile-card__content, -.ffz-dark .member.js-playing a { color: #fff !important } -.ffz-dark .member { box-shadow: none !important } -.ffz-dark .member.live { background-color: #222; } -.ffz-dark .member:hover { background-color: #333 } -.ffz-dark .member .channel_count { color: #ccc } - - -/* 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, -.ffz-dark:not([data-page="teams#show"]) div#mantle_skin, -.ffz-dark div#main_col { - background:rgb(16,16,16); - color:rgb(195,195,195)!important; - border-right: 0 !important; /*1px solid rgb(0,0,0)!important;*/ -} - -.ffz-dark.ffz-portrait div#left_col .column, -.ffz-dark.ffz-portrait div#main_col { - border-right: none !important; - border-bottom: 1px solid rgb(0,0,0) !important; -} - - -/* stream title */ -.ffz-dark span.real_title{ - color:rgb(245,245,245)!important; -} - -/* name playing x on x */ -.ffz-dark span.playing,span#team_membership,.ffz-dark #channel .player-column #broadcast-meta .info .channel { - color:rgb(195,195,195)!important; -} - -.ffz-dark div.title > span.real, -.ffz-dark div.title > span.over, -.ffz-dark #broadcast-meta .info .title { - color: #DEDEDE !important; - background-color: rgba(16,16,16,0.3) !important; -} - -.ffz-dark .player-placeholder { background: #000 } - -.ffz-dark div.title > span.over:hover, -.ffz-dark div.title > span.real:hover, -.ffz-dark #broadcast-meta .info .title:hover { - color: #fff !important; - background-color: #101010 !important; -} - - -/* Right Column */ - -.ffz-dark .ct-banner--off .ct-banner__toggle, -.ffz-dark #right_col { - background-color: rgb(25,25,31); - color: #fff; -} - -.ffz-dark.ffz-no-blue #right_col, -.ffz-dark.ffz-no-blue .no-login-contain li, -.ffz-dark.ffz-no-blue .following-col .following-list .load-more span, -.ffz-dark.ffz-no-blue .viewall a, -.ffz-dark.ffz-no-blue #new-user-prompt { - background-color: rgb(25,25,25); -} - - -/* Popups */ - -.ffz-dark #commission_modal { - background-color: #101010 !important; - border-color: #32323e !important; -} - -.ffz-dark .twitch_subwindow_container.two-factor-auth .card, -.ffz-dark .card#passport_modal { - color: #000; -} - -.ffz-dark .subdash-feature-notice, -.ffz-dark #channel-prompt, -.ffz-dark .balloon, -.ffz-dark .balloon:after, -.ffz-dark .conversation-settings-menu, -.ffz-dark .ember-chat .chat-interface .ffz-ui-popup.emoticon-selector .emoticon-selector-box, -.ffz-dark .twitch_subwindow_container:not(.two-factor-auth) .card:not(#passport_modal), -.ffz-dark #flyout .content, -.ffz-dark .whatisthis, -.ffz-dark .ui-menu, -.ffz-dark .dropmenu, -.ffz-dark .sort-contain .sort-options, -.ffz-dark .top-dropdown, -.ffz-dark form.js-new_panel_form, -.ffz-dark .js-new_panel_btn, -.ffz-dark .manager .videos-grid .video .meta, -.ffz-dark .ember-chat .chat-room-list, -.ffz-dark .st-autocomplete-sidebar, -.ffz-dark .st-autocomplete-small, -.ffz-dark .st-autocomplete, -.ffz-dark .st-autocomplete-small, -.ffz-dark .player-menu__menu { - background-color: rgb(16,16,16); - color: rgb(195,195,195); /*#acacbf;*/ - border-color: #32323e; - box-shadow: rgba(255,255,255,0.2) 0 0 0 1px inset; -} - -.ffz-dark .balloon--tooltip:after, -.ffz-dark .balloon--tooltip { - 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 } - -.ffz-dark .balloon--right.balloon--up:after, -.ffz-dark .balloon--up:after { box-shadow: 1px 1px 0 rgba(255,255,255,0.2) } -.ffz-dark .balloon--right.balloon--down:after, -.ffz-dark .balloon--down:after { box-shadow: -1px -1px 0 rgba(255,255,255,0.2) } -.ffz-dark .balloon--left:after { box-shadow: 1px -1px 0 rgba(255,255,255,0.2) } -.ffz-dark .balloon--right:after { box-shadow: -1px 1px 0 rgba(255,255,255,0.2) } - -.ffz-dark .filter-bar__balloon-footer, -.ffz-dark .balloon__footer { - background-color: rgb(25,25,25); - border: 1px solid rgba(255,255,255,0.2); -} - - -.ffz-dark .player-menu__header { color: #c3c3c3 } -.ffz-dark .player-menu__section { border-bottom-color: rgba(255,255,255,0.2) } - -/*.ffz-dark .balloon:after { box-shadow: none }*/ - -.ffz-dark .st-autocomplete-sidebar .label, -.ffz-dark .st-autocomplete-small .label, -.ffz-dark .st-autocomplete .label, -.ffz-dark .st-autocomplete-small .label { - background-color: rgb(24,24,24); -} - -.ffz-dark .js-new_panel_btn:hover { - background-color: rgb(24,24,24); -} - -.ffz-dark .player-menu__menu:before, -.ffz-dark .player-menu__menu:after { - border-top-color: rgb(16,16,16); -} - -.ffz-dark .st-autocomplete-sidebar:before, -.ffz-dark #flyout .point:before { - border-right-color: rgb(16,16,16); /*rgb(25,25,31);*/ -} - -.ffz-dark .st-autocomplete-sidebar:after, -.ffz-dark #flyout .point:after { - border-right-color: #32323e; -} - -.ffz-dark .notification-controls .toggle-notification-menu { - background-color: #0f8a4d; -} - -.ffz-dark .notification-controls .toggle-notification-menu:hover { - background-color: #119754; -} - -.ffz-dark .pika-input, -.ffz-dark .video-stats .form__input[type=search], -.ffz-dark .change-banner .banner-preview, -.ffz-dark .ct-banner--off .ct-banner__inputbox, -.ffz-dark form.js-new_panel_form input, -.ffz-dark form.js-new_panel_form textarea, -.ffz-dark .conversation-input-bar textarea, -.ffz-dark .card input, -.ffz-dark .card textarea, -.ffz-dark .dropmenu input, -.ffz-dark input.text, -.ffz-dark input.string, -.ffz-dark #sidebar_query_small, -.ffz-dark textarea, -.ffz-dark select, -.ffz-dark option, -.ffz-dark #mantle_skin .dropdown, -.ffz-dark .directory_header #custom_filter input { - background-color: rgba(255,255,255,0.05); - border-color: rgba(255,255,255,0.1); - color: #fff; -} - -.ffz-dark option { - background-color: #191919; -} - -.ffz-dark select.pl-form__input, -.ffz-dark .video-stats .form__input[type=search]:not(:focus):not(:hover) { - box-shadow: inset 0 0 1px rgba(255,255,255,0.2); -} - -.ffz-dark .video-stats .table__cell--header, -.ffz-dark .video-stats__table-title { - color: #ccc; - box-shadow: inset 0 -1px 0 rgba(255,255,255,0.2); -} - -.ffz-dark .video-stats .table__header { - background-color: #191919; - color: #ccc; -} - -.ffz-dark .video-stats .table { - border-color: rgba(255,255,255,0.2); - background-color: #101010; - box-shadow: 0 2px 4px 0 rgba(255,255,255,0.2); -} - -.ffz-dark .video-stats .table__row { - background-color: #101010; - color: #999; -} - -.ffz-dark .video-stats .table__cell { - border-color: rgba(255,255,255,0.2); - color: #999; -} - - -/* Other stuff */ - -.ffz-dark #channel .player-column #broadcast-meta .info .edit-link span { - color: inherit; -} - -.ffz-dark .no-login-contain li { - background-color: rgb(25,25,31); -} - -.ffz-dark .no-login-contain h3 { - color: #ccc; -} - -.ffz-dark .panel-formatting .panel { - color: #8c8c9c; -} - -.ffz-dark .balloon .balloon__link { color: #a68ed2 !important } -.ffz-dark .balloon .balloon__link--active, -.ffz-dark .balloon .balloon__link--selected, -.ffz-dark .balloon .balloon__link:hover { color: #fff !important } -.ffz-dark .balloon .balloon__link--selected { background-color: #6441a5 !important } - -.ffz-dark .st-autocomplete-sidebar .all p:not(.active), -.ffz-dark .st-autocomplete-small .all p:not(.active), -.ffz-dark .st-autocomplete .all p:not(.active), -.ffz-dark .st-autocomplete-small .all p:not(.active), -.ffz-dark .st-autocomplete-sidebar .list ul .result:not(.active) p, -.ffz-dark .st-autocomplete-small .list ul .result:not(.active) p, -.ffz-dark .st-autocomplete .list ul .result:not(.active) p, -.ffz-dark .st-autocomplete-small .list ul .result:not(.active) p, -.ffz-dark .manager .videos-grid .video:hover .meta .actions li a, -.ffz-dark .ember-chat .chat-room-list .room:not(:hover) p.room-title, -.ffz-dark .dropmenu_action:not(:hover), -.ffz-dark .dropmenu_action:not(:hover) span, -.ffz-dark .chat-menu-content button.font-color-purple, -.ffz-dark .player a.player-text-link, -.ffz-dark .cn-metabar .cn-metabar__title a, -.ffz-dark a { -/*.ffz-dark a:not(.profile-card__content):not(.filter-item):not(.ui-state-focus):not(.button):not(.switch):not(.follow):not(.fb_button):not(.what) {*/ - color: #a68ed2; -} - -.ffz-dark .balloon--cols .balloon__list~.balloon__list { - 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, -.ffz-dark .warp__item > a:hover, -.ffz-dark .warp__item--toggled > a { color: #eae9ec !important } - -.ffz-dark .exit-theatre > a { color: #000 !important; } - -.ffz-dark .cheermote-tier { - background-color: #111; - border-color: #474747; -} - -.ffz-dark .progress-bar { - background-color: #444; -} - -.ffz-dark .c-background-graph { background-color: #444 !important } - -.ffz-dark .shadow-border--bottom-right { - box-shadow: 1px 0 0 0 #474747, 0 1px 0 0 #474747; -} - -.ffz-dark .switch, -.ffz-dark .button, -.ffz-dark .pl-button--hollow, -.ffz-dark .pl-button--hollow:hover, -.ffz-dark .player-switch, -.ffz-dark .follow-button a, -.ffz-dark a.dropmenu_action:hover { - color: #fff; -} - -.ffz-dark .button:disabled { - background-color: #242424; -} - -.ffz-dark .pl-button--hollow, -.ffz-dark .button--hollow { box-shadow: inset 0 0 0 1px #4b367c } - -.ffz-dark .panel-formatting .panel h3 { - color: inherit; -} - -.ffz-dark .follow-button .notify:before, -.ffz-dark .button.drop:after, -.ffz-dark .follow-button .drop.follow:after { - border: 5px solid rgba(255,255,255,0.35); - border-left-color: transparent; - border-right-color: transparent; - border-bottom-color: transparent; -} - -.ffz-dark .follow-button .notify { - background-color: #25252a; -} - -.ffz-dark .message-button, -.ffz-dark .button--text, -.ffz-dark .button.ffz-no-bg { - color: #a68ed2; -} - -.ffz-dark .form__icon svg { fill: rgba(255,255,255,0.2) } - -.ffz-dark .button--icon.button--hollow figure svg, -.ffz-dark .button.button--icon-only svg { - fill: #a68ed2; -} - -.ffz-dark .button.button--icon-only:hover svg { - fill: #fff; -} - -.ffz-dark .button.primary.subscribe-button { - color: #fff; -} - -.ffz-dark .ember-chat .moderation-card img.channel_logo { - border-color: rgb(16,16,16); -} - -/* Upsell banner */ -.ffz-dark .bookmark-meta, -.ffz-dark .upsell-banner { - background-color: rgba(25,25,31, 0.7); -} - -.ffz-dark.ffz-no-blue .bookmark-meta, -.ffz-dark.ffz-no-blue .upsell-banner { - background-color: rgba(25,25,25, 0.7); -} - -.ffz-dark .bookmark-meta .bookmark-title, -.ffz-dark .upsell-banner .message .title { - color: #ccc; -} - -.ffz-dark .bookmark-meta { - box-shadow: none; -} - -/* VoD Description */ - -.ffz-dark .archives-contain .videos { - padding: 0 0; -} - -.ffz-dark #right_col a.bottom, -.ffz-dark .archives-contain .list-video { - padding: 10px 20px; - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark #right_col a.bottom { - padding: 0 20px; - margin: 0 !important; -} - -.ffz-dark .archives-contain .list-video .meta .title { - color: rgb(195,195,195); -} - -.ffz-dark #right_col #archives { background-color: transparent; } - -.ffz-dark .archives-contain .list-video .meta .info p.broadcaster, -.ffz-dark #right_col #archives .more_archives { - color: #a68ed2; - box-shadow: none; -} - -.ffz-dark #right_col a.bottom:hover, -.ffz-dark .archives-contain .list-video:hover, -.ffz-dark #right_col #archives .more_archives:hover { - background-color: rgba(255,255,255,0.1); -} - -.ffz-dark #main_col .content .archive_info p, -.ffz-dark #main_col .content .archive_info time { - color: #888; -} - - -/* Video Manager */ - -.ffz-dark .player-menu-options, -.ffz-dark ul.tabs:before, -.ffz-dark .directory_header .nav:before, -.ffz-dark ul.tabs_fake:before, -.ffz-dark #right_col #archives .more_archives, -.ffz-dark .manager .videos-grid .video .meta .actions { - border-top-color: rgba(255,255,255,0.25); -} - -.ffz-dark .twitch_subwindow_container .card .text-content .content-header, -.ffz-dark .kraken-embed .card .text-content .content-header, -.ffz-dark .kraken-page .card .text-content .content-header, -.ffz-dark .twitch_subwindow_container .card .buttons, -.ffz-dark .kraken-embed .card .buttons, -.ffz-dark .kraken-page .card .buttons, -.ffz-dark .card--bordered, -.ffz-dark .card-vod-edit { - border-color: #474747; -} - -.ffz-dark .playlist-menu-create { - background-color: #101010; - border-color: #474747; -} - -.ffz-dark .button--disabled { - background-color: #333; -} - -.ffz-dark .card-vod-edit { - box-shadow: 0 2px 4px 0 rgba(255,255,255,0.1); -} - -.ffz-dark #highlighter .highlight-content .form-container li label { - color: #fff; -} - -.ffz-dark .tabs.tabs--fullwidth li:not(.selected) a:hover { - color: #fff !important; - background: #24242a; - border-color: #8c8c9c; -} - -.ffz-dark .tabs li.selected a { - color: #fff !important; - border-color: #a68cd4 !important; -} - - -/* Subscriptions Page */ - -.ffz-dark .ticket__benefits, -.ffz-dark .tickets .ticket .benefits { - background-color: rgb(16,16,16); - color: rgb(195,195,195); /*#acacbf;*/ - border-color: #32323e; -} - - -/* Directory Pages */ - -.ffz-dark .following-col .col-header .search-contain .search .search-button svg path { - fill: rgba(255,255,255,0.25); -} - -.ffz-dark .following-col .col-header .search-contain .search .search-button:hover svg path { - fill: rgba(255,255,255,0.5); -} - -.ffz-dark .following-col .following-list .load-more span, -.ffz-dark .viewall a { - background-color: rgb(25,25,31); -} - -.ffz-dark .following-col .following-list .load-more:hover span { - color: #fff; -} - -.ffz-dark .following-col .following-list .load-more:hover span, -.ffz-dark .viewall a:hover { - background-color: rgb(35,35,41); -} - -.ffz-dark.ffz-no-blue .following-col .following-list .load-more:hover span, -.ffz-dark.ffz-no-blue .viewall a:hover { - background-color: rgb(35,35,35); -} - -.ffz-dark .viewall a .text span:first-child { - color: #a68ed2; -} - - -/* Profile page fixes */ - -.ffz-dark pre { - background-color: rgb(8,8,8); - box-shadow: inset 0 0 0 1px #333; - border-left-color: #6441a5; -} - -.ffz-dark .form__label, -.ffz-dark .form__input[type=checkbox] + label, -.ffz-dark .form__input[type=radio] + label, -.ffz-dark label, -.ffz-dark code { - color: #999; -} - -.ffz-dark .card__boxpin, -.ffz-dark .streams .stream .content .thumb .boxart, -.ffz-dark .videos .video .content .thumb .boxart { - border-color: rgb(16,16,16); -} - -.ffz-dark .ember-chat .moderation-card img.channel_logo, -.ffz-dark .channel-link .profile-photo { - 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, -.ffz-dark .items-grid .meta .title, -.ffz-dark .items-grid .meta p a { - color: #9c9c9c; -} - -.ffz-dark .event-calendar { - background: #101010; - color: #ccc; -} - -.ffz-dark .subscription-dash .video-quality-list li.non-selectables .option, -.ffz-dark .subscription-dash .video-quality-list li { - background-color: #191919; - border-color: #474747; -} - -.ffz-dark .subscription-dash .video-quality-list li .quality-setting { - background-color: #000; -} - -.ffz-dark .subscription-dash .video-quality-list li.selectable.over { - background-image: none; - background-color: #242424; -} - -.ffz-dark .subscription-dash .video-quality-list li.selectable.restricted { - background-color: #cc2b2b; - border-color: #801b1b; -} - -.ffz-dark .subscription-dash .video-quality-list li.selectable.restricted.over { - background-color: #fc3636; -} - -.ffz-dark .card__info, -.ffz-dark .items-grid .meta .info { - color: #6c6c6c; -} - -.ffz-dark .mininav li > a, -.ffz-dark ul.tabs li > a, -.ffz-dark .directory_header .nav li > a, -.ffz-dark .tw-tabs__item > button, -.ffz-dark ul.tabs_fake li > a { - color: #a68ed2; -} - -.ffz-dark .tw-tabs, -.ffz-dark .tabs { box-shadow: 0 -1px 0 rgba(255,255,255,0.2) inset; } - -.ffz-dark .tw-tabs__item > a:hover, -.ffz-dark .tabs>.tab:hover, -.ffz-dark .tabs>li:hover, -.ffz-dark .tabs__item:hover, -.ffz-dark .tabs__item--active, -.ffz-dark .tabs__item.active, -.ffz-dark .tabs__item.selected, -.ffz-dark .tabs>li.selected, -.ffz-dark .tabs>li>a.active { box-shadow: 0 -1px 0 #a68cd4 inset } - -.ffz-dark .mininav, -.ffz-dark ul.tabs:before, -.ffz-dark .direcotry_header .nav:before, -.ffz-dark ul.tabs_fake:before { - border-color: #32323e; -} - -.ffz-dark .tw-tabs__item > button:hover, -.ffz-dark .tw-tabs__item > a.active, -.ffz-dark .tw-tabs__item > button.active { - color: #ccc; - box-shadow: 0 -1px 0 #ccc inset; -} - -.ffz-dark .contract-amendments-window { - border-color: #474747; - background-color: #000; -} - -.ffz-dark .game-details__nav > li > a.active { color: #fff } - -.ffz-dark .mininav li > a:hover, -.ffz-dark ul.mininav li.active, -.ffz-dark ul.tabs li.selected a, -.ffz-dark .directory_header .nav li.selected a, -.ffz-dark ul.tabs_fake li.selected a, -.ffz-dark ul.tabs li>a:hover, -.ffz-dark .directory_header .nav li>a:hover, -.ffz-dark ul.tabs_fake li>a:hover, -.ffz-dark ul.tabs li>a.active, -.ffz-dark .directory_header .nav li>a.active, -.ffz-dark ul.tabs_fake li>a.active { - color: #aaa; - border-color: #ccc !important; -} - -/* Hide the chat Dark Mode control */ -.ffz-dark #theme-toggle, -.ffz-dark .toggle-darkmode { display: none; } - -/* Chat Text Contrast */ - -.ffz-dark .ember-chat .chat-settings .chat-colors .chat-colors-swatch:hover, -.ffz-dark .ember-chat .chat-settings .chat-colors .chat-colors-switch.selected { - border-color: #777; - box-shadow: inset 0 0 0 1px #32323e; -} - - -/* Autocomplete Suggestions */ - -.ffz-dark .ember-chat .chat-interface .suggestions { - background-color: rgb(16,16,16); - border-color: rgba(255,255,255,0.2); -} - - -/* FrankerFaceZ Menu */ - -/*.ffz-dark .ember-chat .chat-menu .list-header { - border-top-color: rgba(255,255,255,0.2); -} - -.ffz-dark .chat-menu.ffz-ui-popup .ffz-ui-menu-page .chat-menu-content .heading, -.ffz-dark .chat-menu.ffz-ui-popup .ffz-ui-menu-page .emoticon-grid .heading, -.ffz-dark .ffz-ui-popup ul.menu, -.ffz-dark .ffz-ui-popup ul.menu a, -.ffz-sidebar-swap.ffz-dark .ffz-ui-popup ul.menu a { - border-color: #32323e; -} - -.ffz-dark .ffz-ui-popup ul.menu { - background-color: rgb(33,33,33); -} - -.ffz-dark .ffz-ui-popup ul.menu li.active { - background-color: rgb(16,16,16); -} - -.ffz-dark .ffz-ui-popup ul.menu li.active a { - border-top-color: rgb(16,16,16); -}*/ - -/* New User Prompt */ - -.ffz-dark #new-user-prompt { - background-color: rgb(25,25,31); - color: #acacbf; -} - -.ffz-dark #new-user-prompt .message .title { - color: #fff; -} - -/* Messages Table */ - -.ffz-dark .messages #send_message_form #bottom_buttons, -.messages #reply_message_form #bottom_buttons { - border-color: rgba(255,255,255,0.2); - box-shadow: none; -} - -.ffz-dark .messages #send_message_form .button_group, -.ffz-dark .messages #reply_message_form .button_group, -.ffz-dark .messages #send_message_form, -.ffz-dark .messages #reply_message_form { - background: transparent; -} - -.ffz-dark .messages #send_message_form, -.ffz-dark .messages #reply_message_form -{ padding: 10px 0 0 0; } - -.ffz-dark .messages #message_actions { - background-color: rgb(48,48,48); - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark .messages #send_message_form, -.ffz-dark .messages .divider { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .messages .message_action.delete { - display: block; - width: 16px; - height: 16px; - background: url(trash_button.png) no-repeat; -} - -.ffz-dark .messages .message_action.delete img { display: none; } - -.ffz-dark .messages .message_action.block { - background-image: url(block_button.png); - color: #c1c1c1 !important; -} - -.ffz-dark .messages div.message { - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark .messages div.message:last-of-type { border-bottom-color: transparent; } - -.ffz-dark .messages div.preview { - background-color: rgb(16,16,16); - border-bottom-color: rgba(255,255,255,0.2); - border-left-color: transparent; -} - -.ffz-dark .messages div.preview.unread { - background-color: rgb(32,32,32); - border-left-color: #6441a5; -} - -.ffz-dark .messages div.preview:hover { - background-color: rgb(8,8,8); -} - -.ffz-dark .messages #messages_column { - background-color: transparent; -} - -.ffz-dark .page_links em { - background-color: #EEE; - color: #000; -} - -.ffz-dark .page_links a.disabled.previous_page b, -.ffz-dark .page_links span.disabled.previous_page b { border-right-color: transparent; } - -.ffz-dark .page_links a.disabled.next_page b, -.ffz-dark .page_links span.disabled.next_page b { border-left-color: transparent; } - -/* Tshirts are weird */ - -.ffz-dark .teespring-panel-progress { - background-color: #393939; -} - -.ffz-dark .teespring-panel-image a { - cursor: pointer; -} - -.ffz-dark .teespring-panel-image img { - filter: drop-shadow(0px 0px 10px white); - -moz-filter: drop-shadow(0px 0px 10px white); - -webkit-filter: drop-shadow(0px 0px 10px white); -} - -.ffz-dark .teespring-panel { - cursor: inherit; - background-color: rgb(8,8,8); - border-color: rgba(255,255,255,0.2); -} - -/* Settings */ - -.ffz-dark .app_title { color: #ccc; } - -.ffz-dark .connect_items .connect-item-info .details-toggle, -.ffz-dark .connect_items .connect-item-info, -.ffz-dark ul.manage_simple span.obj { - background-color: rgb(8,8,8); -} - -.ffz-dark .connect_items .connect-item-info .details-toggle { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .connect_items .connect-item-info .details-toggle:hover { - border-color: rgba(255,255,255,0.4); -} - -.ffz-dark .connect_items .connect-item-info .status, -.ffz-dark #settings #followers_content .hdr, -.ffz-dark table.simple_table th { - background-color: rgb(32,32,32); - border-color: transparent; -} - -.ffz-dark .multi_select li form:hover, -.ffz-dark .multi_select li .ms-int:hover, -.ffz-dark .multi_select li label:hover { - background-color: rgb(8,8,8); -} - -.ffz-dark #turbo_chat_color, -.ffz-dark #turbo_emote_set { - background-color: rgba(255,255,255,0.05); -} - -.ffz-dark .ui-slider-horizontal:not(.player-slider) { - background-color: rgba(255,255,255,0.2); -} - -.ffz-dark .subscription-dash .list-head th { - border-color: #474747; - color: #ccc; -} - -.ffz-dark .section ul, -.ffz-dark .section ul li, -.ffz-dark .subdash-feature-section, -.ffz-dark .subdash-feature-header__back, -.ffz-dark .subdash-feature-header, -.ffz-dark .subdash-feature-row--border, -.ffz-dark .cl-container .section-header .header-content.indented, -.ffz-dark .cl-container .section-header .header-back { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .subdash-feature-header__back:hover, -.ffz-dark .cl-container .section-header .header-back:hover { - background-color: rgba(255,255,255,0.2); -} - -.ffz-dark .new-dashboard .dashboard-section .submit-button-fieldset, -.ffz-dark .subdash-feature-header, -.ffz-dark .cl-container .section-header, -.ffz-dark .cl-container .cl-section .cl-subheader { - background-color: rgb(32,32,32); -} - -.ffz-dark .cl-container .cl-section { - background-color: rgb(16,16,16); -} - -.ffz-dark fieldset { - border-color: transparent; -} - -.ffz-dark .connect_items .connect-item-details, -.ffz-dark .connect_items .connect-item-details-legal, -.ffz-dark .connect_items, -.ffz-dark .premium_setup_contain #turbo_setup, -.ffz-dark table.simple_table td, -.ffz-dark table.simple_table th, -.ffz-dark .cl-container .section-header, -.ffz-dark .cl-container fieldset { - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark .cl-container fieldset .cl-input-container label { color: #fff } - -.ffz-dark .subdash-feature-row__title, -.ffz-dark .cl-container fieldset .label-wrapper label { - color: #ccc; -} - -.ffz-dark .subdash-feature, -.ffz-dark #emoticons #emote_switch .set-button, -.ffz-dark #example .line { - background-color: #19191f; - color: #acacbf; -} - -/* Dashboard */ - -.ffz-dark .dash-tabs__item--active .dash-tabs__label:after { - border-color: #191919; -} - -.ffz-dark .dash-tabs__item { - background-color: #151515; - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .dash-tabs__item--active { background-color: #191919 } - -.ffz-dark .game-details__carousel-wrapper:hover .game-details__carousel-arrow, -.ffz-dark .card-carousel__button, -.ffz-dark .carousel__button { - background-color: #101010; -} - -.ffz-dark .game-details__carousel-wrapper:hover .game-details__carousel-arrow:before, -.ffz-dark .card-carousel__arrow:before, -.ffz-dark .carousel__arrow:before { - border-color: #a68ed2; -} - -.ffz-dark .card-carousel__button:hover .card-carousel__arrow:before -.ffz-dark .carousel__button:hover .carousel__arrow:before { - border-color: #fff; -} - -.ffz-dark .card .brick, -.ffz-dark .brick.brick--theme-grey, -.ffz-dark .card-carousel__button:hover -.ffz-dark .carousel__button:hover { - background-color: #191919; -} - -.ffz-dark .brick { - background-color: #121212; -} - -.ffz-dark .dash-brick, -.ffz-dark .dash-tabs__item--active .dash-tabs__label, -.ffz-dark .ct-type-grey { color: #ccc } - -.ffz-dark .brick--marked.brick--theme-white, -.ffz-dark .brick--marked.brick--theme-grey { - box-shadow: 3px 0 0 #9a7fcc inset,0 0 0 1px rgba(255,255,255,0.2) inset; -} - -.ffz-dark .brick--faint, -.ffz-dark .brick--block { - background-color: rgb(25,25,25); -} - -.ffz-dark .brick, -.ffz-dark .brick--faint, -.ffz-dark .brick--block, -.ffz-dark #action_feed .action, -.ffz-dark .revHeader__item { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark #mantle_skin .what { background-color: #6441a5; } -.ffz-dark #action_feed .action { padding-bottom: 20px } - -.ffz-dark .js-stream-key-button-container .button { - margin: 15px auto; -} - -.ffz-dark .js-show-stream-key, -.ffz-dark .js-reset-stream-key { - display: block; - margin: 15px auto; - padding: 0; - text-align: center; - width: 100px; - color: #fff !important; -} - -.ffz-dark .js-show-stream-key { background-color: #804400; } -.ffz-dark .js-reset-stream-key { border-color: rgb(128,0,0); } - -.ffz-dark .js-show-stream-key:hover, -.ffz-dark .js-show-stream-key:focus, -.ffz-dark .js-reset-stream-key:hover, -.ffz-dark .js-reset-stream-key:focus { - padding: 5px; - margin: 10px auto; -} - -.ffz-dark .stream-key { - background: #000; - color: #f2f2f2; -} - -.ffz-dark .js-show-stream-key:hover, -.ffz-dark .js-show-stream-key:focus { background-color: rgb(192,102,0); } - -.ffz-dark .js-reset-stream-key:hover, -.ffz-dark .js-reset-stream-key:focus { background-color: rgb(192,0,0); } - -.ffz-dark .statchart_aggregator .statchart_first_column { - background-color: rgb(32,32,32); - color: #ccc; - text-shadow: none; -} - -.ffz-dark .statchart_aggregator { - margin-top: 10px; -} - -.ffz-dark .statchart_aggregator td { - border-color: #3f3f42; -} - -.ffz-dark .statchart_aggregator .statchart_first_column[style="color: #6441A5"] { - color: #a68ed2 !important; -} - -.ffz-dark .whatisthis { - box-shadow: 0 0 0 1px rgba(255,255,255,0.2); -} - -.ffz-dark .whatisthis:before { - border-top-color: #101010; -} - -.ffz-dark .whatisthis:after { - border-top-color: #32323e; -} - -.ffz-dark #chart_container svg rect[fill="#FFFFFF"] { - fill: rgb(32,32,32) !important; -} - -.ffz-dark #chart_container svg rect[fill="rgb(255,255,255)"] { - fill: rgb(8,8,8) !important; -} - -.ffz-dark #chart_container svg text[x="5"] { - color: #fff !important; - fill: #fff !important; -} - -.ffz-dark #chart_container svg text.highcharts-title { - fill: #a68ed2 !important; -} - -.ffz-dark #chart_container svg text { - fill: #fff; -} - -.ffz-dark ul.subtabs li.selected { - background-color: #333; - border-radius: 4px; -} - -.ffz-dark .dropmenu .menu-divider { - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark #header_logo svg path { - fill: #fff; -} - -.ffz-dark #dash_main .action .content .data, -.ffz-dark #site_header { - background-color: rgb(32,32,32); -} - -.ffz-dark .header_divider { - border-right-color: rgba(255,255,255,0.2); -} - -.ffz-dark #dash_main .dash-player-contain.collapsed #player_overlay, -.ffz-dark .dash-hostmode-contain { - background: #202020; -} - -.ffz-dark #dash_main #delay_controls, -.ffz-dark #dash_main #commercial_buttons, -.ffz-dark .dash-hostmode-list-contain { - border-top-color: rgba(255,255,255,0.2); -} - -.ffz-dark #dash_main #controls_column .section_header { - color: #ccc; -} - -.ffz-dark .main, -.ffz-dark .fullwidth_main { - color: #ccc; - background-color: transparent; -} - -.ffz-dark .following-col .col-header, -.ffz-dark .following-col .header, -.ffz-dark .whatisthis .actions .divider, -.ffz-dark .dash-chat-column { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .dash-column { border: none } -.ffz-dark .js-dashboard-chat-module > div { border-right: none !important } - - -.ffz-dark .vod-vertical-nav { - background-color: #191919; - border-color: #474747; -} - - -.ffz-dark .vod-vertical-nav__list-item .active, -.ffz-dark .vod-vertical-nav__list-item .active:hover, -.ffz-dark .vod-vertical-nav__list-item .active:active, -.ffz-dark .vod-vertical-nav__list-item .active:focus { - background-color: #6441a5; -} - -.ffz-dark .vod-vertical-nav__link:hover, -.ffz-dark .vod-vertical-nav__link:active, -.ffz-dark .vod-vertical-nav__link:focus { - background-color: #392e5c; -} - -.ffz-dark .dashboard-page div[style*="background"][style*="#f9f8fc"] { - background-color: #191919 !important -} - - -/* Front Page: Pulse */ - -.ffz-dark .newsfeed { - background-color: #101010; -} - - - -/* /p/ Pages */ - -.ffz-dark .header-announcement__link, -.ffz-dark .front-page-announcement__link { color: inherit } - -.ffz-dark .header-announcement { - color: #fff; -} - -.ffz-dark #mantle_skin .wrapper { - background-color: transparent; -} - -.ffz-dark #mantle_skin div[style^=" display:background:#ffffff"], -.ffz-dark #mantle_skin .social_links img { - background-color: #fff; -} - -.ffz-dark #mantle_skin div[style^=" display:background:#ffffff"] .extraspace { color: #333 } - -.ffz-dark #mantle_skin ul.vtabs li .not_linked, -.ffz-dark #mantle_skin ul.vtabs li a { - color: #acacbf; -} - -.ffz-dark #partner_application .partner_reqs { - background-color: #191919; - border-color: #404040; -} - -.ffz-dark #mantle_skin ul.vtabs li.selected a, -.ffz-dark #mantle_skin ul.submenu li a:hover, -.ffz-dark .sort-contain .sort-options li a:hover, -.ffz-dark #mantle_skin ul.submenu .active a { - color: #fff !important; -} - -.ffz-dark #mantle_skin ul.vtabs li a:hover { - color: rgb(222,222,222); - background-color: transparent; -} - -.ffz-dark #mantle_skin .press_list .callout { - color: #acacbf; - border-left-color: #575757; -} - -.ffz-dark .legal_page ol.legal li { - color: rgb(222,222,222); -} - -.ffz-dark .static-page h1 { - color: #fff !important; - -webkit-text-stroke: none !important; -} - -.ffz-dark .static-page p.p2 { - color: #ccc; - -webkit-text-stroke: none; -} - -.ffz-dark .static-page td, -.ffz-dark .static-page td { - border-color: #474747; -} - -.ffz-dark .legal_page ol.legal li p { - color: #ccc; -} - -/* Search */ - -.ffz-dark ul.subtabs, -.ffz-dark .user_list .user, -.ffz-dark .mixed_list .user, -.ffz-dark .video_list .video, -.ffz-dark .mixed_list .video { - border-bottom-color: rgba(255,255,255,0.2); -} - -.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%); -} - -.ffz-dark .form__input[type=range] { - background-color: transparent; -} - -.ffz-dark .form__input[type=text], -.ffz-dark .form__input[type=email], -.ffz-dark .form__input[type=search], -.ffz-dark select.pl-form__input, -.ffz-dark textarea.form__input, -.ffz-dark select.form__input, -.ffz-dark .new-header-search input { - color: #fff; - background-color: rgba(255,255,255,0.05); - box-shadow: rgba(255,255,255,0.2) 0 0 0 1px inset; -} - -.ffz-dark .form__input[type=text]:focus, -.ffz-dark .form__input[type=email]:focus, -.ffz-dark .form__input[type=search]:focus, -.ffz-dark textarea.form__input:focus, -.ffz-dark select.form__input:focus, -.ffz-dark .new-header-search input:focus { - box-shadow: rgba(255,255,255,0.4) 0 0 0 1px inset; -} - -/* Playlist */ - -.ffz-dark .cn-chat-replay-header { - background: transparent; - border: none; -} - -.ffz-dark .cn-chat-replay-header, -.ffz-dark .ember-chat .chat-header { - box-shadow: inset 0 -1px 0 0 rgba(255,255,255,0.2); -} - -.ffz-dark .playlist-controller, -.ffz-dark .playlist-item { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .playlist-container:not(.playlist-enabled) .playlist-item:hover, -.ffz-dark .playlist-container:not(.playlist-enabled) .ui-sortable-helper { - background-color: rgba(255,255,255,0.2); -} - - -/* VoDs */ - -.ffz-dark .app-main .chatReplay .notice-wrapper .svg-logo_glitch { - fill: #242424 !important; -} - -.ffz-dark .app-main .chatReplay.dark, -.ffz-dark .app-main .chatReplay .noticeWrap, -.ffz-dark .app-main .chatReplay .notice-wrapper { - background-color: #19191f; -} - -.ffz-dark.ffz-no-blue .app-main .chatReplay.dark, -.ffz-dark.ffz-no-blue .app-main .chatReplay .noticeWrap, -.ffz-dark.ffz-no-blue .app-main .chatReplay .notice-wrapper { - background-color: #191919; -} - -.ffz-dark .chatReplay .loading-spinner-container { - background: rgba(25,25,25,0.65); -} - - -/* Conversations */ - -.ffz-dark .conversations-list-bottom-bar { - background-color: #19191f; - color: #8c8c9c; - border-color: rgba(255,255,255,0.1); -} - -.ffz-dark .conversation-list-bottom-bar:hover { - color: #fff; -} - -.ffz-dark .conversations-list { - background-color: #19191f; - border: 1px solid #32323e; - color: #fff; -} - -.ffz-dark .conversations-list:before { - right: 9px; - border-color: rgba(50,50,62,0); - border-top-color: #32323e; -} - -.ffz-dark .conversations-list:after { - border-color: rgba(25,25,31,0); - border-top-color: #19191f; - border-width: 10px; - margin-left: -10px; -} - -.ffz-dark .conversations-list .conversations-list-header { - background-color: #121217; - border-bottom: 1px solid #32323e; - color: #fff; -} - -.ffz-dark .conversations-list .conversation-preview-line { - color: #8c8c9c; -} - -.ffz-dark .conversations-list .search-divider, -.ffz-dark .conversations-list .conversations-list-item { - border-bottom: 1px solid #32323e; -} - -.ffz-dark .conversations-list .conversations-list-item:hover { - background-color: #121217; -} - -.ffz-dark .conversation-window { - background-color: #19191f; - box-shadow: none; - color: #8c8c9c; -} - -.ffz-dark .conversations-list .search-divider, -.ffz-dark .convoHeader { - background-color: #121217; - box-shadow: none; -} - -.ffz-dark .conversation-input-actions .button, -.ffz-dark .conversation-input-actions .follow-button:not(.ember-follow) .follow, -.ffz-dark .follow-button:not(.ember-follow) .conversation-input-actions .follow { - background-color: #444; -} - -.ffz-dark .conversation-window.has-focus .convoHeader { - background-color: #121217; -} - -.ffz-dark .conversation-window.has-focus .convoHeader .username { - color: #fff; -} - -.ffz-dark .conversation-window.has-focus .conversation-input-bar textarea:focus { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .conversation-window.has-focus .conversation-input-actions .button, -.ffz-dark .conversation-window.has-focus .conversation-input-actions .follow-button:not(.ember-follow) .follow, -.ffz-dark .follow-button:not(.ember-follow) .conversation-window.has-focus .conversation-input-actions .follow { - background-color: #6441a5; -} - -.ffz-dark .conversation-system-message { - background-color: #19191f; - color: #8c8c9c; - border-bottom: 1px solid #32323e; -} - -.ffz-dark .conversation-input-bar .emoticon-selector-toggle svg path { - fill: rgba(255,255,255,0.2); -} - -.ffz-dark .conversation-input-bar .emoticon-selector-toggle:hover svg path { - fill: rgba(255,255,255,0.5); -} - -.ffz-dark .emoticon-selector-box .emote-set { - border-color: #323232 !important; -} - -.ffz-dark .conversation-input-bar .emoticon-selector-box .emoticon-grid { - background-color: #191919; -} - -.ffz-dark .ember-chat .chat-settings .experimental-options { - border-top-color: rgba(255,255,255, 0.2); -} - -.ffz-dark .dash-widget__divider, -.ffz-dark .conversation-settings-menu .options-divider { - border-bottom-color: rgba(255,255,255,0.2); -} - -.ffz-dark .conversation-settings-menu:before { - border-color: transparent; - border-bottom-color: #32323e; -} - -.ffz-dark .conversation-settings-menu:after { - border-color: transparent; - border-bottom-color: rgb(16,16,16); -} - -.ffz-dark .conversation-window { - border: 1px solid rgba(255,255,255,0.2); -} - -.ffz-dark:not(.ffz-top-conversations) .conversation-window { - border-bottom: none; -} - -.ffz-dark.ffz-top-conversations .conversation-window { - border-top: none; -} - -.ffz-dark .conversation-window:not(.collapsed) .convoHeader { - border-bottom: 1px solid rgba(255,255,255,0.2); -} - - -/* Creative UI */ - -.ffz-dark .ct-spotlight__right { - background-color: #121212; -} - -.ffz-dark .ct-spotlight__controls-container { - background-color: #161616; - box-shadow: -1px 0 0 #303030 inset; -} - -.ffz-dark .ct-bar { - background-color: #121212; - box-shadow: - 0 2px 6px -2px rgba(255,255,255,0.1), - 0 1px 0 rgba(255,255,255,0.05), - 0 -1px 0 rgba(255,255,255,0.05); -} - -.ffz-dark .ct-banner__name, -.ffz-dark .ct-banner__status, -.ffz-dark .ct-type-2, -.ffz-dark .ct-type-4 { - color: #aaa; -} - -.ffz-dark .ct-type-grey-light { - color: #ccc; -} - - -.ffz-dark .ct-crumb:after { - box-shadow: 12px -6px 24px -8px rgba(255,255,255,0.1); - border-color: #303030; -} - -.ffz-dark .ct-spotlight__avatar { - box-shadow: 0 0 0 1px #303030, 0 2px 3px #303030; -} - -.ffz-dark .ct-spotlight__right--col .ct-spotlight__card-container { - box-shadow: 0 -1px 0 #303030 inset; -} - -.ffz-dark hr, -.ffz-dark .ct-spotlight__section, -.ffz-dark .balloon__stroke, -.ffz-dark .ct-spotlight__avatar, -.ffz-dark .ct-bar__item { - border-color: #303030; -} - -.ffz-dark .ct-crumb--1:after, -.ffz-dark .ct-crumb--1 .ct-crumb__label { - background-color: #121212; -} - -.ffz-dark .ct-crumb--2:after, -.ffz-dark .ct-crumb--2 .ct-crumb__label { - background-color: #161616; -} - - -/* Creative Tags */ - -.ffz-dark .ct-tags__tag { - background-color: #121212; - color: #999 !important; -} - -.ffz-dark .ct-tag--light .ct-tag__link:hover { color: #ccc !important } - -.ffz-dark .ct-tags__tag:hover { - background-color: #000; - color: #ccc !important; -} - -.ffz-dark .ct-tags__tag.ct-tags__tag--current { - background-color: #7d5bbc; - color: #fff !important; -} - -.ffz-dark .ct-banner--off .ct-banner__header { color: #999 } -.ffz-dark .ct-banner--off .ct-banner__link { color: #ccc } - - -/* Activity Feeds */ - -.button.alert { color: #fff !important } - -.ffz-dark .activity-notice { background-color: rgba(24,24,24,0.9) } -.ffz-dark .pill { background-color: rgba(255,255,255,0.2) } - -.ffz-dark .activity-list-end svg { fill: #474747 } - -.ffz-dark .activity-meta { - box-shadow: 0 1px 0 #474747; -} - -.ffz-dark .activity-meta-divider:before { - background-color: #191919; - border-top-color: #474747; - border-left-color: #474747; -} - -.ffz-dark .activity-button:hover { - border-color: #d5d5d5; - background-color: #242424; -} - -.ffz-dark .activity-create:not(.activity-create--expand) { border-color: #474747 } - -.ffz-dark .activity-create__actions { - background-color: #191919; - border-color: #474747; - box-shadow: none; -} - -.ffz-dark .activity-create__container, -.ffz-dark .activity-button { - border-color: #474747; - color: #fff !important; - background-color: #191919; -} - -.ffz-dark .activity-card { - border: 1px solid; - background-color: #191919; -} - -.ffz-dark .activity-card__reason { - background-color: #141414; - color: #ccc; - box-shadow: none; -} - -.ffz-dark .list-load-more, -.ffz-dark .activity-card { - border-color: #474747; -} - -.ffz-dark .activity-card__status { - background-color: #191919; -} - -.ffz-dark .activity-meta-divider { - box-shadow: inset 0 -1px 0 #474747; -} - -.ffz-dark a.balloon__link:hover { color: #fff !important } -.ffz-dark .activity-meta__name { color: #ccc } - - -.ffz-dark .activity-reaction__emote-contain { - background-color: #101010; -} - - -.ffz-dark .activity-comments { - border-color: #474747; -} - -.ffz-dark .activity-comment:hover { - background-color: rgba(255,255,255,0.2); -} - -.ffz-dark .activity-card__comments { - background-color: #121212; - box-shadow:inset 0 1px 0 #474747; -} - -.ffz-dark .activity-create { - background-color: #101010; - box-shadow: none; /*inset 0 0 0 1px #474747;*/ -} - -.ffz-dark .activity-create--card { - box-shadow: 0 1px 2px rgba(255,255,255,0.2); -} - -.ffz-dark .c-background { background: #101010 !important } - -.ffz-dark .activity-create--focus { - background-color: #191919; - /*box-shadow: none; inset 0 0 0 1px #474747;*/ - 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 { - background: #1d1d1d; - border-left-color: #474747; - border-bottom-color: #474747; -} - -.ffz-dark .mod-dashboard__video-title, -.ffz-dark .activity-card { color: #ccc } - -.inherit-color { color: inherit !important } - -.ffz-dark .tw-button--icon-only figure svg { - fill: #a68cd4; -} - -.ffz-dark .mod-comment { - background-color: #191919; - box-shadow: inset 0 0 0 1px #474747; -} - -.ffz-dark .mod-comment__timestamp { - color: #a68cd4; - background-color: #222; -} - -.ffz-dark .mod-comment__video a:active, -.ffz-dark .mod-comment__video a:focus, -.ffz-dark .mod-comment__video a:hover { background-color: #333 !important } - -.ffz-dark .mod-comment:active, -.ffz-dark .mod-comment:focus, -.ffz-dark .mod-comment:hover { - box-shadow: 0 2px 2px 0 rgba(255,255,255,.05), inset 0 0 0 1px #474747; -} - -.ffz-dark .c-background-alt-2 { - background-color: #222 !important -} - -.ffz-dark .automod-words__item { - border-color: #474747; - background-color: #111; -} - -.ffz-dark .automod-words__item--selected { - background-color: #333; -} - -.ffz-dark .automod-words__text { color: #ccc } - -.ffz-dark .automod-words__fade-mask { - background: none; -} - -/* VOD Messages */ - -.ffz-dark .vod-chat { - color: #ccc; - background-color: #191919; -} - -.ffz-dark .vod-chat__header { - box-shadow: inset 0 -1px 0 0 #474747; -} - -.ffz-dark .vod-message.vod-message--focused .vod-message__reply, -.ffz-dark .vod-message:hover .vod-message__reply, -.ffz-dark .vod-message__reply { - box-shadow: inset 3px 0 0 0 #474747; -} - -.ffz-dark .vod-message__reply-button { - color: #a68cd4; -} - -.ffz-dark .vod-chat__input { - background-color: #191919; - box-shadow: inset 0 1px 0 0 #474747; -} - -.ffz-dark .vod-message.vod-message--focused, -.ffz-dark .vod-message:hover { - background-color: #333; -} - -/* Search Panel */ - -.ffz-dark[data-current-path="user.channel.index.index"] .search-panel { background-color: rgba(16,16,16,0.9) } - -.ffz-dark .search-panel { - background-color: #101010; - color: #C3C3C3; -} - -.ffz-dark .search-panel--fly:before, -.ffz-dark .search-panel--fly:after { - border-bottom-color: #404040; -} - -.ffz-dark .search-panel__title-bar { - background-color: #090909; -} - -.ffz-dark .search-panel, -.ffz-dark .search-panel__title-bar, -.ffz-dark .search-panel__title-back { - border-color: rgba(255,255,255,0.2) -} - -.ffz-dark .search-panel__title { color: #999 } - -.ffz-dark .search-panel__title-back:hover, -.ffz-dark .search-result-view__block.isActive { background-color: #222 } - -.ffz-dark .search-result-view__titlesep:hover, -.ffz-dark a:hover .card__title, -.ffz-dark .card__title a:hover, -.ffz-dark .card__info a:hover { - color: #ccd; -} - -.ffz-dark .search-result-view__block .card__info span, -.ffz-dark .search-result-view__block .card__title, -.ffz-dark .search-result-view__title-more { color: #a68ed2 !important } -.ffz-dark .search-result-view__titlesep { - background-color: #090909; -} - -.ffz-dark .search-result-view__block .card__layout:hover .card__info span, -.ffz-dark .search-result-view__block .card__layout:hover .card__title { - color: #fff !important -} - - -/* Channel Redesign */ - -.ffz-dark .cn-bar { - background-color: #101010; - box-shadow: inset 0 -1px 0 #161616, -1px 1px rgba(255,255,255,0.065); -} - -.ffz-dark .twitchbot-settings__border-more, -.ffz-dark .border-t, -.ffz-dark .border-b, -.ffz-dark .cn-metabar__more { - border-color: rgba(255,255,255,0.2) !important; -} - -.ffz-dark .twitchbot-settings__hover-text-help, -.ffz-dark .twitchbot-settings__rule-container:hover, -.ffz-dark .twitchbot-settings__right-container { - background-color: #191919; -} - - -.ffz-dark .cn-bar__button--resubscribe, -.ffz-dark .button--icon.cn-bar__button--subscribed { - background-color: #161616; - box-shadow: 0 0 0 1px rgba(255,255,255,0.065) inset; -} - - -.ffz-dark .twitchbot-settings__help, -.ffz-dark .twitchbot-settings__level-context, -.ffz-dark .cn-bar__avatar-wrap { - background-color: #101010; - border-color: #101010; -} - -.ffz-dark .twitchbot-settings__arrow-up { - border-bottom-color: #101010; -} - -.ffz-dark .cn-bar__displayname { - color: #c3c3c3; -} - -.ffz-dark .cn-tabs__item--withseparator:after { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .cn-tabs__item > a { - color: #999; -} - -.ffz-dark .cn-tabs__item > a.active, -.ffz-dark .cn-tabs__item > a:hover { - color: #a68ed2; -} - -.ffz-dark .cn-tabs__item > a:hover:after { - border-color: #a68ed2; -} - -.ffz-dark .offer-list__core:after, -.ffz-dark .offer-item__ci:after { - background-image: linear-gradient(rgba(16,16,16,0) 0,#101010 100%) -} - -/* Video Uploads */ - -.ffz-dark .vod-vertical-nav + div .card > div[style], -.ffz-dark #video-manager .card > div[style], -.ffz-dark .videos.uploads .card > div[style] { - background-color: #101010 !important; -} - -.ffz-dark .cn-vod-info__divider { background-color: rgba(255,255,255,0.2) } -.ffz-dark .card__body--theme-grey { - background-color: #161616; -} - -.ffz-dark .drop-zone__border, -.ffz-dark .subscription-modal__right, -.ffz-dark .subscription-modal__bar { - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .subscription-modal__sub-tabs input:checked+.subscription-modal__sub-tabs-label { - color: #ccc; - box-shadow: 0 -2px 0 #a68ed2 inset, 0 4px 6px -4px #a68cd4; -} - -.ffz-dark .subscription-modal__sub-tabs-label { - color: #a68cd4; -} - -.ffz-dark .balloon .filter-bar__balloon-link--active { - color: #fff !important; - background-color: #6441a5 !important; -} - - -/* New Dashboard */ - -.ffz-dark .gu-transit, -.ffz-dark .dash-widget { - background-color: #191919; - border-color: rgba(255,255,255,0.2); - box-shadow: 0 2px 2px 0 rgba(255,255,255,0.05); - color: #c3c3c3; -} - -.ffz-dark .form__input[type=checkbox]:not(:checked)+label:before, -.ffz-dark .form__input[type=radio]:not(:checked)+label:before, -.ffz-dark .dash-widget__header { - background-color: #232323; - border-color: rgba(255,255,255,0.2); -} - -.ffz-dark .dash-widget-watchparty-card:hover { - background-color: rgba(255,255,255,0.1); -} - - -/* Notification Center */ - -.ffz-dark .notification-center { - background-color: #101010; - color: #C3C3C3; - box-shadow: 0 0 0 1px rgba(255,255,255,0.2); -} - -.ffz-dark .notification-center-balloon:before, -.ffz-dark .notification-center-balloon:after { display: none } - -.ffz-dark .friend-requests__empty, -.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 } - -.ffz-dark .notification__dismiss svg, -.ffz-dark .notification__details svg { fill: #777 } - -.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 .sc-onboarding .sc-onboarding__content, -.ffz-dark .sc-onboarding .sc-onboarding__close { - background-color: #101010; - box-shadow: -0.1rem 0 0 #474747 inset; -} - -.ffz-dark .sc-onboarding { - box-shadow: 0 0 0 0.1rem #474747; -} - -.ffz-dark .offer-item__ci--wrap { border-color: #474747 } - -.ffz-dark .offer-item__background--purple, -.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); -} - -.ffz-dark .notification-center__core-end { - box-shadow: inset 0.1rem 0.4rem 1rem -.5rem; - color: rgba(255,255,255,0.2); -} - -.ffz-dark .friend-requests__empty, -.ffz-dark .friend-requests__footer, -.ffz-dark .notification--read, -.ffz-dark .notification { - 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 .dash-widget-watchparty-card__gripper, -.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__title, -.ffz-dark .fp-carousel__desc p, -.ffz-dark .fp-carousel__name, -.ffz-dark .fp-side__header { color: #c3c3c3 } - -/* Game Pages */ - -.ffz-dark .game-details-igc__details, -.ffz-dark .game-details__section--white { - background-color: #060606; -} - -.ffz-dark .game-details__section--grey { - background-color: #101010; -} - -.ffz-dark .inventory-header, -.ffz-dark .game-details-igc__card, -.ffz-dark .cmrc-igc-line--with-separators, -.ffz-dark .game-details__section--white+.game-details__section--grey, -.ffz-dark .game-details__section--grey+.game-details__section--white { - border-color: #474747; -} - -.ffz-dark .icon-platform-windows--black svg { - fill: #ccc; -} - -.ffz-dark .activity--not-included { background-color: #202020; } - -.ffz-dark .activity--level-0 { background-color: rgba(100,65,164,.1) } -.ffz-dark .activity--level-1 { background-color: rgba(100,65,164,.25) } -.ffz-dark .activity--level-2 { background-color: rgba(100,65,164,.4) } -.ffz-dark .activity--level-3 { background-color: rgba(100,65,164,.55) } -.ffz-dark .activity--level-4 { background-color: rgba(100,65,164,.7) } -.ffz-dark .activity--level-5 { background-color: rgba(100,65,164,.85) } -.ffz-dark .activity--level-6 { background-color: rgba(100,65,164,1) } - -.ffz-dark .inventory-item__image { - background-color: #191919; - border-color: #474747; -} - -.ffz-dark .border-r { - border-color: #474747; -} - -.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); -} - -.ffz-dark .stats-table__header { - background-color: #101010; -} - -.ffz-dark .border, -.ffz-dark .stats-table__cell, -.ffz-dark .stats-table { - border-color: #474747; -} - -.ffz-dark .stats-table__cell { color: #ccc } - -.ffz-dark .stats-table__row:nth-child(even) { - background-color: #191919; -} - -.ffz-dark .stats-table__row:hover { - background-color: #333; -} \ No newline at end of file diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index a6a4b08c..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,292 +0,0 @@ -// Dependencies -var fs = require('fs'), - gulp = require('gulp'), - browserify = require('gulp-browserify'), - header = require('gulp-header'), - footer = require('gulp-footer'), - concat = require('gulp-concat'), - clean = require('gulp-clean'), - util = require('gulp-util'), - rename = require('gulp-rename'), - uglify = require('gulp-uglify'); - -// Templates -var jsEscape = require('gulp-js-escape'), - wrap = require('gulp-wrap'), - declare = require('gulp-declare'), - cleanCSS = require('gulp-clean-css'); - - -// LESS -var less = require('gulp-less'), - sourcemaps = require('gulp-sourcemaps'); - - -// Deploy Dependencies -var ftp = require('vinyl-ftp'), - request = require('request'); - - -// Server Dependencies -var http = require("http"), - https = require("https"), - net = require('net'), - path = require("path"), - request = require("request"), - url = require("url"); - -var server_version = "0.1.1"; - - -// Tasks - -gulp.task('clean', function() { - return gulp.src('build', {read:false}) - .pipe(clean()); -}); - -gulp.task('prepare', ['clean'], function() { - return gulp.src(['src/**/*']) - .pipe(gulp.dest('build/')); -}); - - -//gulp.task('templates', ['prepare'], function() { -// return gulp.src(['build/templates/**/*.hbs']) -// .pipe(jsEscape()) -// .pipe(wrap('Handlebars.compile(<%= contents %>)')) -// .pipe(declare({ -// root: 'exports', -// noRedeclare: true, -// processName: function(filePath) { -// var match = filePath.match(/build[\\\/]templates[\\\/](.*)\.hbs$/); -// return declare.processNameByPath((match && match.length > 1) ? match[1] : filePath); -// } -// })) -// .pipe(concat('templates.js')) -// .pipe(gulp.dest('build/')) -// .on('error', util.log); -//}); - -gulp.task('styles', ['prepare'], function() { - //return; - return gulp.src(['build/less/*.less', '!build/less/style.less']) - .pipe(sourcemaps.init()) - .pipe(less()) - .pipe(sourcemaps.write()) - .pipe(gulp.dest(__dirname)) - .on('error', util.log); -}); - - -gulp.task('embedded_styles', ['prepare'], function() { - return gulp.src(['build/styles/**/*.css']) - .pipe(cleanCSS()) - .pipe(jsEscape()) - .pipe(declare({ - root: 'exports', - noRedeclare: true, - processName: function(filePath) { - var match = filePath.match(/build[\\\/]styles[\\\/](.*)\.css$/); - return declare.processNameByPath((match && match.length > 1) ? match[1] : filePath); - } - })) - .pipe(concat('compiled_styles.js')) - .pipe(gulp.dest('build/')) - .on('error', util.log) -}); - - -gulp.task('scripts', ['embedded_styles'], function() { - return gulp.src(['build/main.js']) - .pipe(browserify()) - .pipe(concat('script.js')) - .pipe(header('(function(window) {')) - .pipe(footer(';window.ffz = new FrankerFaceZ()}(window));')) - .pipe(gulp.dest(__dirname)) - .on('error', util.log); -}); - - -gulp.task('watch', ['default', 'server'], function() { - return gulp.watch('src/**/*', ['default']); -}); - -gulp.task('default', ['styles', 'scripts']); - - -// Deploy - -gulp.task('minify_script', ['scripts'], function() { - return gulp.src(['*.js', '!*.min.js', '!gulpfile.js']) - .pipe(uglify()) - .pipe(rename(function(path) { - path.basename += '.min'; - })) - .pipe(gulp.dest(__dirname)) - .on('error', util.log); -}); - -gulp.task('minify_style', function() { - return gulp.src(['*.css', '!*.min.css']) - .pipe(cleanCSS()) - .pipe(rename(function(path) { - path.basename += '.min'; - })) - .pipe(gulp.dest(__dirname)) - .on('error', util.log); -}); - -gulp.task('minify', ['minify_script', 'minify_style']); - - -gulp.task('upload', ['minify'], function() { - // Load credentials from an external file. - var contents = fs.readFileSync('credentials.json', 'utf8'), - cred = JSON.parse(contents); - - cred.log = util.log; - - // Create the connection. - var conn = ftp.create(cred); - - // What we're transfering. - var ftp_path = cred.remote_path, - - globs = [ - "script.min.js", - "style.min.css", - "dark.min.css", - "changelog.html" - ]; - - util.log(cred.remote_path); - - return gulp.src(globs, {base: '.', buffer: false}) - .pipe(conn.newerOrDifferentSize(ftp_path)) - .pipe(conn.dest(ftp_path)) - .on('error', util.log); -}); - -gulp.task('clear_cache', ['upload'], function(cb) { - // Load credentials from an external file. - var contents = fs.readFileSync('credentials.json', 'utf8'), - cred = JSON.parse(contents); - - // Build the URLs. - var base = "://cdn.frankerfacez.com/script/", - files = [], - globs = [ - "script.min.js", - "style.min.css", - "dark.min.css", - "changelog.html" - ]; - - for(var i=0; i < globs.length; i++) { - files.push("http" + base + globs[i]); - files.push("https" + base + globs[i]); - } - - request({ - method: 'DELETE', - uri: "https://api.cloudflare.com/client/v4/zones/" + cred.cloudflare_zone + "/purge_cache", - headers: { - "X-Auth-Email": cred.cloudflare_email, - "X-Auth-Key": cred.cloudflare_key - }, - json: { - "files": files - } - }, function(error, request, body) { - if ( error ) - return util.log("[FAIL] Error: " + error); - else if ( request.statusCode !== 200 ) - return util.log("[FAIL] Non-200 Status: " + request.statusCode); - - util.log("[SUCCESS] Cache cleared."); - cb(); - }); -}); - -gulp.task('deploy', ['upload', 'clear_cache']); - - -// Server - -gulp.task('server', function() { - var handle_req = function(req, res) { - var uri = url.parse(req.url).pathname, - lpath = path.join(uri).split(path.sep); - - if ( uri == "/dev_server" ) { - util.log("[" + util.colors.cyan("HTTP") + "] " + util.colors.green("200") + " GET " + util.colors.magenta(uri)); - res.writeHead(200, {"Content-Type": "application/json", "Access-Control-Allow-Origin": "*"}); - return res.end(JSON.stringify({path: process.cwd(), version: server_version})); - } - - if ( ! lpath[0] ) - lpath.shift(); - - if ( lpath[0] == "script" ) - lpath.shift(); - else - lpath.splice(0, 0, "cdn"); - - var file = path.join(process.cwd(), lpath.join(path.sep)); - - fs.exists(file, function(exists) { - if ( ! exists ) { - util.log("[" + util.colors.cyan("HTTP") + "] " + util.colors.bold.blue("CDN") + " GET " + util.colors.magenta(uri)); - return request.get("http://cdn.frankerfacez.com/" + uri).on('error', function(err) { res.end() }).pipe(res); - } - - var headers = {"Access-Control-Allow-Origin": "*"}; - - if ( fs.lstatSync(file).isDirectory() ) { - util.log("[" + util.colors.cyan("HTTP") + "] " + util.colors.red("403") + " GET " + util.colors.magenta(uri)); - res.writeHead(403, headers); - res.write('403 Forbidden'); - return res.end(); - } - - if ( file.substr(file.length-4) === ".svg" ) - headers['Content-Type'] = 'image/svg+xml'; - - util.log("[" + util.colors.cyan("HTTP") + "] " + util.colors.green("200") + " GET " + util.colors.magenta(uri)); - res.writeHead(200, headers); - fs.createReadStream(file).pipe(res); - }); - - }; - - if ( fs.existsSync("dev_key.pem") ) { - var https_options = { - key: fs.readFileSync("dev_key.pem"), - cert: fs.readFileSync("dev_cert.pem") - }; - - http.createServer(handle_req).listen(8001, "localhost"); - https.createServer(https_options, handle_req).listen(8002, "localhost"); - - net.createServer(function(conn) { - conn.on('error', function(e) { - util.log("[" + util.colors.cyan("HTTP") + "] Connection Error: " + util.colors.magenta('' + e)); - }); - - conn.once('data', function(buf) { - var address = (buf[0] === 22) ? 8002 : 8001; - var proxy = net.createConnection(address, function() { - proxy.write(buf); - conn.pipe(proxy).pipe(conn); - }); - }); - }).listen(8000); - - util.log("[" + util.colors.cyan("HTTPS") + "] Listening on Port: " + util.colors.magenta("8000")); - - } else { - http.createServer(handle_req).listen(8000, "localhost"); - util.log("[" + util.colors.cyan("HTTP") + "] Listening on Port: " + util.colors.magenta("8000")); - } -}); \ No newline at end of file diff --git a/old_changes.html b/old_changes.html index 06de919b..687d4547 100644 --- a/old_changes.html +++ b/old_changes.html @@ -1,3 +1,72 @@ +
3.5.536
+ + +
3.5.535
+ + +
3.5.534
+ + +
3.5.533
+ + +
3.5.532
+ + +
3.5.531
+ + +
3.5.530
+ + +
3.5.529
+ + +
3.5.528
+ + +
3.5.527
+ + +
3.5.526
+ + +
3.5.525
+ +
3.5.524