From 120740acbd80e3c1ec9834e6fa8d4d2828ebf656 Mon Sep 17 00:00:00 2001 From: mxgic1337 <60188749+mxgic1337@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:35:06 +0200 Subject: [PATCH 1/4] feat: add toggle to hide combos --- .../twitch-twilight/modules/css_tweaks/index.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/sites/twitch-twilight/modules/css_tweaks/index.js b/src/sites/twitch-twilight/modules/css_tweaks/index.js index 50be58c4..0a3a99ad 100644 --- a/src/sites/twitch-twilight/modules/css_tweaks/index.js +++ b/src/sites/twitch-twilight/modules/css_tweaks/index.js @@ -38,6 +38,7 @@ const CLASSES = { 'player-ext': '.video-player .extension-taskbar,.video-player .extension-container,.video-player .extensions-dock__layout,.video-player .extensions-notifications,.video-player .extensions-video-overlay-size-container,.video-player .extensions-dock__layout', 'player-ext-hover': '.video-player__container[data-controls="false"] .extension-taskbar,.video-player__container[data-controls="false"] .extension-container,.video-player__container[data-controls="false"] .extensions-dock__layout,.video-player__container[data-controls="false"] .extensions-notifications,.video-player__container[data-controls="false"] .extensions-video-overlay-size-container', 'player-cast': '.video-player button:has(.tw-chromecast-button__icon)', + 'combos': 'div:has(> [aria-controls="one-tap-store-id"]), div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id', 'player-event-bar': '.channel-root .live-event-banner-ui__header', 'player-rerun-bar': '.channel-root__player-container div.tw-c-text-overlay:not([data-a-target="hosting-ui-header"])', @@ -343,6 +344,16 @@ export default class CSSTweaks extends Module { } }); + this.settings.add('layout.combos', { + default: false, + ui: { + path: 'Appearance > Layout >> Channel', + title: 'Hide Combos.', + component: 'setting-check-box' + }, + changed: val => this.toggleHide('combos', val) + }); + /*this.settings.add('layout.discover', { default: true, ui: { @@ -510,6 +521,7 @@ export default class CSSTweaks extends Module { this.toggleHide('discover-luna', this.settings.get('layout.hide-discover-luna')); this.toggleHide('prime-offers', !this.settings.get('layout.prime-offers')); //this.toggleHide('top-discover', !this.settings.get('layout.discover')); + this.toggleHide('combos', this.settings.get('layout.combos')); this.toggle('hide-unfollow-button', this.settings.get('channel.hide-unfollow')); this.toggleHide('pinned-hype-chat', ! this.settings.get('chat.hype.show-pinned')); From c3af98a00f90b46eef286cb5c318c90e5b0dc479 Mon Sep 17 00:00:00 2001 From: mxgic1337 <60188749+mxgic1337@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:02:34 +0200 Subject: [PATCH 2/4] feat: add ability to hide combos animation --- src/sites/twitch-twilight/modules/css_tweaks/index.js | 2 +- 1 file changed, 1 insertion(+), 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 0a3a99ad..db70bd30 100644 --- a/src/sites/twitch-twilight/modules/css_tweaks/index.js +++ b/src/sites/twitch-twilight/modules/css_tweaks/index.js @@ -38,7 +38,7 @@ const CLASSES = { 'player-ext': '.video-player .extension-taskbar,.video-player .extension-container,.video-player .extensions-dock__layout,.video-player .extensions-notifications,.video-player .extensions-video-overlay-size-container,.video-player .extensions-dock__layout', 'player-ext-hover': '.video-player__container[data-controls="false"] .extension-taskbar,.video-player__container[data-controls="false"] .extension-container,.video-player__container[data-controls="false"] .extensions-dock__layout,.video-player__container[data-controls="false"] .extensions-notifications,.video-player__container[data-controls="false"] .extensions-video-overlay-size-container', 'player-cast': '.video-player button:has(.tw-chromecast-button__icon)', - 'combos': 'div:has(> [aria-controls="one-tap-store-id"]), div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id', + 'combos': 'div:has(> [aria-controls="one-tap-store-id"]), div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id, .video-player__overlay video[class*="breakpointAnimationVideoOverlay--"]', 'player-event-bar': '.channel-root .live-event-banner-ui__header', 'player-rerun-bar': '.channel-root__player-container div.tw-c-text-overlay:not([data-a-target="hosting-ui-header"])', From 36db3fda1c834dc30ba2fc0963b0bac560ba8dc9 Mon Sep 17 00:00:00 2001 From: mxgic1337 <60188749+mxgic1337@users.noreply.github.com> Date: Tue, 10 Jun 2025 17:12:47 +0200 Subject: [PATCH 3/4] feat: use loadable instead of css injection --- src/sites/twitch-twilight/modules/css_tweaks/index.js | 2 +- src/sites/twitch-twilight/modules/loadable.tsx | 5 +++++ 2 files changed, 6 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 db70bd30..865d67cb 100644 --- a/src/sites/twitch-twilight/modules/css_tweaks/index.js +++ b/src/sites/twitch-twilight/modules/css_tweaks/index.js @@ -38,7 +38,7 @@ const CLASSES = { 'player-ext': '.video-player .extension-taskbar,.video-player .extension-container,.video-player .extensions-dock__layout,.video-player .extensions-notifications,.video-player .extensions-video-overlay-size-container,.video-player .extensions-dock__layout', 'player-ext-hover': '.video-player__container[data-controls="false"] .extension-taskbar,.video-player__container[data-controls="false"] .extension-container,.video-player__container[data-controls="false"] .extensions-dock__layout,.video-player__container[data-controls="false"] .extensions-notifications,.video-player__container[data-controls="false"] .extensions-video-overlay-size-container', 'player-cast': '.video-player button:has(.tw-chromecast-button__icon)', - 'combos': 'div:has(> [aria-controls="one-tap-store-id"]), div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id, .video-player__overlay video[class*="breakpointAnimationVideoOverlay--"]', + 'combos': 'div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id, .video-player__overlay video[class*="breakpointAnimationVideoOverlay--"]', 'player-event-bar': '.channel-root .live-event-banner-ui__header', 'player-rerun-bar': '.channel-root__player-container div.tw-c-text-overlay:not([data-a-target="hosting-ui-header"])', diff --git a/src/sites/twitch-twilight/modules/loadable.tsx b/src/sites/twitch-twilight/modules/loadable.tsx index f68ba155..0bc07bf0 100644 --- a/src/sites/twitch-twilight/modules/loadable.tsx +++ b/src/sites/twitch-twilight/modules/loadable.tsx @@ -23,6 +23,7 @@ declare module 'utilities/types' { interface SettingsTypeMap { 'chat.hype.show-pinned': boolean; 'layout.turbo-cta': boolean; + 'layout.combos': boolean; } } @@ -95,6 +96,10 @@ export default class Loadable extends Module { this.toggle('TopNav__TurboButton_Available', val); }); + this.settings.getChanges('layout.combos', val => { + this.toggle('CombosIngressButton_Available', !val); + }); + this.ErrorBoundaryComponent.ready((cls, instances) => { this.log.debug('Found Error Boundary component wrapper.'); From 5d93e4ff6674985a013ebf04d9b83eea1dd36ea5 Mon Sep 17 00:00:00 2001 From: mxgic1337 <60188749+mxgic1337@users.noreply.github.com> Date: Wed, 18 Jun 2025 16:06:26 +0200 Subject: [PATCH 4/4] feat: change streak pill css rule --- src/sites/twitch-twilight/modules/css_tweaks/index.js | 2 +- 1 file changed, 1 insertion(+), 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 865d67cb..13b302a8 100644 --- a/src/sites/twitch-twilight/modules/css_tweaks/index.js +++ b/src/sites/twitch-twilight/modules/css_tweaks/index.js @@ -38,7 +38,7 @@ const CLASSES = { 'player-ext': '.video-player .extension-taskbar,.video-player .extension-container,.video-player .extensions-dock__layout,.video-player .extensions-notifications,.video-player .extensions-video-overlay-size-container,.video-player .extensions-dock__layout', 'player-ext-hover': '.video-player__container[data-controls="false"] .extension-taskbar,.video-player__container[data-controls="false"] .extension-container,.video-player__container[data-controls="false"] .extensions-dock__layout,.video-player__container[data-controls="false"] .extensions-notifications,.video-player__container[data-controls="false"] .extensions-video-overlay-size-container', 'player-cast': '.video-player button:has(.tw-chromecast-button__icon)', - 'combos': 'div > div > .tw-transition-group:has([class*="oneTapStreakPill--"]), div#one-tap-store-id, .video-player__overlay video[class*="breakpointAnimationVideoOverlay--"]', + 'combos': '[class*="oneTapStreakPill--"], div#one-tap-store-id, .video-player__overlay video[class*="breakpointAnimationVideoOverlay--"]', 'player-event-bar': '.channel-root .live-event-banner-ui__header', 'player-rerun-bar': '.channel-root__player-container div.tw-c-text-overlay:not([data-a-target="hosting-ui-header"])',