diff --git a/dist/better-xcloud.user.js b/dist/better-xcloud.user.js index bf37860..1fda2a4 100644 --- a/dist/better-xcloud.user.js +++ b/dist/better-xcloud.user.js @@ -7713,8 +7713,7 @@ class StreamUiHandler { static $btnHome; static observer; static cloneStreamHudButton($btnOrg, label, svgIcon) { - const $streamHud = document.getElementById("StreamHud"); - if (!$streamHud || !$btnOrg) + if (!$btnOrg) return null; const $container = $btnOrg.cloneNode(!0); let timeout; @@ -7722,14 +7721,19 @@ class StreamUiHandler { const onTransitionStart = (e) => { if (e.propertyName !== "opacity") return; - timeout && clearTimeout(timeout), $container.style.pointerEvents = "none"; + timeout && clearTimeout(timeout), e.target.style.pointerEvents = "none"; }, onTransitionEnd = (e) => { if (e.propertyName !== "opacity") return; - if ($streamHud.style.left === "0px") + const $streamHud = e.target.closest("#StreamHud"); + if (!$streamHud) + return; + if ($streamHud.style.left === "0px") { + const $target = e.target; timeout && clearTimeout(timeout), timeout = window.setTimeout(() => { - $container.style.pointerEvents = "auto"; + $target.style.pointerEvents = "auto"; }, 100); + } }; $container.addEventListener("transitionstart", onTransitionStart), $container.addEventListener("transitionend", onTransitionEnd); } diff --git a/src/modules/stream/stream-ui.ts b/src/modules/stream/stream-ui.ts index e52e55b..1870c82 100644 --- a/src/modules/stream/stream-ui.ts +++ b/src/modules/stream/stream-ui.ts @@ -16,8 +16,7 @@ export class StreamUiHandler { private static observer: MutationObserver | undefined; private static cloneStreamHudButton($btnOrg: HTMLElement, label: string, svgIcon: typeof BxIcon): HTMLElement | null { - const $streamHud = document.getElementById('StreamHud') as HTMLElement; - if (!$streamHud || !$btnOrg) { + if (!$btnOrg) { return null; } @@ -32,7 +31,7 @@ export class StreamUiHandler { } timeout && clearTimeout(timeout); - $container.style.pointerEvents = 'none'; + (e.target as HTMLElement).style.pointerEvents = 'none'; }; const onTransitionEnd = (e: TransitionEvent) => { @@ -40,11 +39,17 @@ export class StreamUiHandler { return; } + const $streamHud = (e.target as HTMLElement).closest('#StreamHud') as HTMLElement; + if (!$streamHud) { + return; + } + const left = $streamHud.style.left; if (left === '0px') { + const $target = e.target as HTMLElement; timeout && clearTimeout(timeout); timeout = window.setTimeout(() => { - $container.style.pointerEvents = 'auto'; + $target.style.pointerEvents = 'auto'; }, 100); } };