From 008962f37401785802c05685c48c96735c6f41f3 Mon Sep 17 00:00:00 2001 From: Lordmau5 Date: Mon, 26 Mar 2018 04:03:13 +0200 Subject: [PATCH] Add settings to be able to hide the event or rerun bar on streams (#401) * Add settings to be able to hide the event or rerun bar on streams * Use `toggleHide` instead of `toggle` --- .../modules/css_tweaks/index.js | 3 ++ src/sites/twitch-twilight/modules/player.js | 38 ++++++++++++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/sites/twitch-twilight/modules/css_tweaks/index.js b/src/sites/twitch-twilight/modules/css_tweaks/index.js index c1fac3fe..d3d23c25 100644 --- a/src/sites/twitch-twilight/modules/css_tweaks/index.js +++ b/src/sites/twitch-twilight/modules/css_tweaks/index.js @@ -20,6 +20,9 @@ const CLASSES = { 'player-ext': '.player .extension-overlay', 'player-ext-hover': '.player:not([data-controls="true"]) .extension-overlay', + 'player-event-bar': '.channel-page .live-event-banner-ui__header', + 'player-rerun-bar': '.channel-page div.tw-c-text-overlay', + 'pinned-cheer': '.pinned-cheer,.pinned-cheer-v2', 'whispers': '.whispers', diff --git a/src/sites/twitch-twilight/modules/player.js b/src/sites/twitch-twilight/modules/player.js index d30fe099..11337685 100644 --- a/src/sites/twitch-twilight/modules/player.js +++ b/src/sites/twitch-twilight/modules/player.js @@ -27,6 +27,11 @@ export default class Player extends Module { ['front-page', 'user', 'video'] ); + this.PersistentPlayer = this.fine.define( + 'twitch-player-persistent', + n => n.renderMiniControl && n.renderMiniTitle && n.handleWindowResize, + ['front-page', 'user', 'video'] + ); this.settings.add('player.volume-scroll', { default: false, @@ -139,7 +144,36 @@ export default class Player extends Module { component: 'setting-check-box' }, changed: val => this.css_tweaks.toggle('player-volume', val) - }) + }); + + + this.settings.add('player.hide-event-bar', { + default: false, + ui: { + path: 'Channel > Player >> General', + title: 'Hide Event Bar', + description: 'Hides the event bar which indicates whether the stream has an ongoing event.', + component: 'setting-check-box' + }, + changed: val => { + this.css_tweaks.toggleHide('player-event-bar', val); + this.PersistentPlayer.forceUpdate(); + } + }); + + this.settings.add('player.hide-rerun-bar', { + default: false, + ui: { + path: 'Channel > Player >> General', + title: 'Hide Rerun Bar', + description: 'Hides the rerun bar which indicates whether the stream has a VoD playing.', + component: 'setting-check-box' + }, + changed: val => { + this.css_tweaks.toggleHide('player-rerun-bar', val); + this.PersistentPlayer.forceUpdate(); + } + }); } @@ -156,6 +190,8 @@ export default class Player extends Module { this.css_tweaks.toggle('player-ext-mouse', !this.settings.get('player.ext-interaction')); this.css_tweaks.toggle('theatre-no-whispers', this.settings.get('player.theatre.no-whispers')); this.css_tweaks.toggle('theatre-metadata', this.settings.get('player.theatre.metadata')); + this.css_tweaks.toggleHide('player-event-bar', this.settings.get('player.hide-event-bar')); + this.css_tweaks.toggleHide('player-rerun-bar', this.settings.get('player.hide-rerun-bar')); this.updateHideExtensions(); const t = this;