diff --git a/package.json b/package.json index 92095ba0..e9478491 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.76.2", + "version": "4.76.3", "description": "FrankerFaceZ is a Twitch enhancement suite.", "private": true, "license": "Apache-2.0", diff --git a/src/sites/player/css_tweaks/player-hide-native-clip.scss b/src/sites/player/css_tweaks/player-hide-native-clip.scss index d151d0df..cb4d5906 100644 --- a/src/sites/player/css_tweaks/player-hide-native-clip.scss +++ b/src/sites/player/css_tweaks/player-hide-native-clip.scss @@ -1,3 +1,5 @@ -.player-controls__right-control-group button[aria-label*="alt+x"] { +.player-controls__right-control-group button[aria-label*="alt+x"]:not(.ffz-core-button), +.player-controls__right-control-group button[aria-disabled]:has(path[d="M8 9H6v2h2V9zm1 0h2v2H9V9zm5 0h-2v2h2V9z"]) +{ display: none !important; } diff --git a/src/sites/shared/player.jsx b/src/sites/shared/player.jsx index a3add287..d4e73bc7 100644 --- a/src/sites/shared/player.jsx +++ b/src/sites/shared/player.jsx @@ -31,6 +31,11 @@ const SCROLL_I18N = 'setting.entry.player.volume-scroll.values', {value: 8, title: 'Enabled with Ctrl + Right-Click', i18n_key: `${SCROLL_I18N}.8`} ]; +function getNativeClipButton(container) { + return container.querySelector('button[aria-label*="alt+x"]') ?? + container.querySelector('button[aria-label]:has(path[d="M8 9H6v2h2V9zm1 0h2v2H9V9zm5 0h-2v2h2V9z"]'); +} + function wantsRMB(setting) { return setting === 2 || setting === 4 || setting === 6 || setting === 8; } @@ -2023,7 +2028,6 @@ export default class PlayerBase extends Module { video.requestPictureInPicture(); } - addClipButton(inst, tries = 0) { const outer = inst.props.containerRef || this.fine.getChildNode(inst), container = outer && outer.querySelector(RIGHT_CONTROLS), @@ -2046,13 +2050,16 @@ export default class PlayerBase extends Module { return; } + if (! container.ffz_native_clip || ! container.contains(container.ffz_native_clip) ) + container.ffz_native_clip = getNativeClipButton(container); + if ( ! cont ) { // We need the native clip button, so we can dispatch a click. - const native_clip = container.querySelector('button[aria-label*="alt+x"]'); - if ( ! native_clip ) - return; - - const on_click = e => native_clip.click(); + const on_click = e => { + const native = getNativeClipButton(container); + if (native) + native.click(); + } cont = (
{btn = (