mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-06 23:57:19 +02:00
Fix StreamMenu not displaying correctly
This commit is contained in:
parent
3ba9565c3e
commit
5dc6f0c2f6
21
dist/better-xcloud.user.js
vendored
21
dist/better-xcloud.user.js
vendored
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Better xCloud
|
// @name Better xCloud
|
||||||
// @namespace https://github.com/redphx
|
// @namespace https://github.com/redphx
|
||||||
// @version 5.5.3
|
// @version 5.5.4-beta
|
||||||
// @description Improve Xbox Cloud Gaming (xCloud) experience
|
// @description Improve Xbox Cloud Gaming (xCloud) experience
|
||||||
// @author redphx
|
// @author redphx
|
||||||
// @license MIT
|
// @license MIT
|
||||||
@ -120,7 +120,7 @@ function deepClone(obj) {
|
|||||||
return {};
|
return {};
|
||||||
return JSON.parse(JSON.stringify(obj));
|
return JSON.parse(JSON.stringify(obj));
|
||||||
}
|
}
|
||||||
var SCRIPT_VERSION = "5.5.3", AppInterface = window.AppInterface;
|
var SCRIPT_VERSION = "5.5.4-beta", AppInterface = window.AppInterface;
|
||||||
UserAgent.init();
|
UserAgent.init();
|
||||||
var userAgent = window.navigator.userAgent.toLowerCase(), isTv = userAgent.includes("smart-tv") || userAgent.includes("smarttv") || /\baft.*\b/.test(userAgent), isVr = window.navigator.userAgent.includes("VR") && window.navigator.userAgent.includes("OculusBrowser"), browserHasTouchSupport = "ontouchstart" in window || navigator.maxTouchPoints > 0, userAgentHasTouchSupport = !isTv && !isVr && browserHasTouchSupport, STATES = {
|
var userAgent = window.navigator.userAgent.toLowerCase(), isTv = userAgent.includes("smart-tv") || userAgent.includes("smarttv") || /\baft.*\b/.test(userAgent), isVr = window.navigator.userAgent.includes("VR") && window.navigator.userAgent.includes("OculusBrowser"), browserHasTouchSupport = "ontouchstart" in window || navigator.maxTouchPoints > 0, userAgentHasTouchSupport = !isTv && !isVr && browserHasTouchSupport, STATES = {
|
||||||
supportedRegion: !0,
|
supportedRegion: !0,
|
||||||
@ -7767,25 +7767,30 @@ class StreamUiHandler {
|
|||||||
document.querySelector("div[class*=StreamMenu-module__menuContainer] > div[class*=Menu-module]")?.appendChild(await StreamBadges.getInstance().render());
|
document.querySelector("div[class*=StreamMenu-module__menuContainer] > div[class*=Menu-module]")?.appendChild(await StreamBadges.getInstance().render());
|
||||||
}
|
}
|
||||||
static handleSystemMenu($streamHud) {
|
static handleSystemMenu($streamHud) {
|
||||||
const streamStats = StreamStats.getInstance(), $gripHandle = $streamHud.querySelector("button[class^=GripHandle]"), hideGripHandle = () => {
|
const $gripHandle = $streamHud.querySelector("button[class^=GripHandle]");
|
||||||
|
if (!$gripHandle)
|
||||||
|
return;
|
||||||
|
const $orgButton = $streamHud.querySelector("div[class^=HUDButton]");
|
||||||
|
if (!$orgButton)
|
||||||
|
return;
|
||||||
|
const hideGripHandle = () => {
|
||||||
if (!$gripHandle)
|
if (!$gripHandle)
|
||||||
return;
|
return;
|
||||||
$gripHandle.dispatchEvent(new PointerEvent("pointerdown")), $gripHandle.click(), $gripHandle.dispatchEvent(new PointerEvent("pointerdown")), $gripHandle.click();
|
$gripHandle.dispatchEvent(new PointerEvent("pointerdown")), $gripHandle.click(), $gripHandle.dispatchEvent(new PointerEvent("pointerdown")), $gripHandle.click();
|
||||||
}, $orgButton = $streamHud.querySelector("div[class^=HUDButton]");
|
};
|
||||||
if (!$orgButton)
|
|
||||||
return;
|
|
||||||
let $btnStreamSettings = StreamUiHandler.$btnStreamSettings;
|
let $btnStreamSettings = StreamUiHandler.$btnStreamSettings;
|
||||||
if (typeof $btnStreamSettings === "undefined")
|
if (typeof $btnStreamSettings === "undefined")
|
||||||
$btnStreamSettings = StreamUiHandler.cloneStreamHudButton($orgButton, t("better-xcloud"), BxIcon.BETTER_XCLOUD), $btnStreamSettings?.addEventListener("click", (e) => {
|
$btnStreamSettings = StreamUiHandler.cloneStreamHudButton($orgButton, t("better-xcloud"), BxIcon.BETTER_XCLOUD), $btnStreamSettings?.addEventListener("click", (e) => {
|
||||||
hideGripHandle(), e.preventDefault(), SettingsNavigationDialog.getInstance().show();
|
hideGripHandle(), e.preventDefault(), SettingsNavigationDialog.getInstance().show();
|
||||||
});
|
}), StreamUiHandler.$btnStreamSettings = $btnStreamSettings;
|
||||||
|
const streamStats = StreamStats.getInstance();
|
||||||
let $btnStreamStats = StreamUiHandler.$btnStreamStats;
|
let $btnStreamStats = StreamUiHandler.$btnStreamStats;
|
||||||
if (typeof $btnStreamStats === "undefined")
|
if (typeof $btnStreamStats === "undefined")
|
||||||
$btnStreamStats = StreamUiHandler.cloneStreamHudButton($orgButton, t("stream-stats"), BxIcon.STREAM_STATS), $btnStreamStats?.addEventListener("click", (e) => {
|
$btnStreamStats = StreamUiHandler.cloneStreamHudButton($orgButton, t("stream-stats"), BxIcon.STREAM_STATS), $btnStreamStats?.addEventListener("click", (e) => {
|
||||||
hideGripHandle(), e.preventDefault(), streamStats.toggle();
|
hideGripHandle(), e.preventDefault(), streamStats.toggle();
|
||||||
const btnStreamStatsOn = !streamStats.isHidden() && !streamStats.isGlancing();
|
const btnStreamStatsOn = !streamStats.isHidden() && !streamStats.isGlancing();
|
||||||
$btnStreamStats.classList.toggle("bx-stream-menu-button-on", btnStreamStatsOn);
|
$btnStreamStats.classList.toggle("bx-stream-menu-button-on", btnStreamStatsOn);
|
||||||
});
|
}), StreamUiHandler.$btnStreamStats = $btnStreamStats;
|
||||||
const $btnParent = $orgButton.parentElement;
|
const $btnParent = $orgButton.parentElement;
|
||||||
if ($btnStreamSettings && $btnStreamStats) {
|
if ($btnStreamSettings && $btnStreamStats) {
|
||||||
const btnStreamStatsOn = !streamStats.isHidden() && !streamStats.isGlancing();
|
const btnStreamStatsOn = !streamStats.isHidden() && !streamStats.isGlancing();
|
||||||
|
@ -130,10 +130,17 @@ export class StreamUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static handleSystemMenu($streamHud: HTMLElement) {
|
private static handleSystemMenu($streamHud: HTMLElement) {
|
||||||
const streamStats = StreamStats.getInstance();
|
|
||||||
|
|
||||||
// Grip handle
|
// Grip handle
|
||||||
const $gripHandle = $streamHud.querySelector('button[class^=GripHandle]') as HTMLElement;
|
const $gripHandle = $streamHud.querySelector('button[class^=GripHandle]') as HTMLElement;
|
||||||
|
if (!$gripHandle) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the last button
|
||||||
|
const $orgButton = $streamHud.querySelector('div[class^=HUDButton]') as HTMLElement;
|
||||||
|
if (!$orgButton) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const hideGripHandle = () => {
|
const hideGripHandle = () => {
|
||||||
if (!$gripHandle) {
|
if (!$gripHandle) {
|
||||||
@ -146,12 +153,6 @@ export class StreamUiHandler {
|
|||||||
$gripHandle.click();
|
$gripHandle.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the last button
|
|
||||||
const $orgButton = $streamHud.querySelector('div[class^=HUDButton]') as HTMLElement;
|
|
||||||
if (!$orgButton) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create Stream Settings button
|
// Create Stream Settings button
|
||||||
let $btnStreamSettings = StreamUiHandler.$btnStreamSettings;
|
let $btnStreamSettings = StreamUiHandler.$btnStreamSettings;
|
||||||
if (typeof $btnStreamSettings === 'undefined') {
|
if (typeof $btnStreamSettings === 'undefined') {
|
||||||
@ -163,9 +164,12 @@ export class StreamUiHandler {
|
|||||||
// Show Stream Settings dialog
|
// Show Stream Settings dialog
|
||||||
SettingsNavigationDialog.getInstance().show();
|
SettingsNavigationDialog.getInstance().show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
StreamUiHandler.$btnStreamSettings = $btnStreamSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create Stream Stats button
|
// Create Stream Stats button
|
||||||
|
const streamStats = StreamStats.getInstance();
|
||||||
let $btnStreamStats = StreamUiHandler.$btnStreamStats;
|
let $btnStreamStats = StreamUiHandler.$btnStreamStats;
|
||||||
if (typeof $btnStreamStats === 'undefined') {
|
if (typeof $btnStreamStats === 'undefined') {
|
||||||
$btnStreamStats = StreamUiHandler.cloneStreamHudButton($orgButton, t('stream-stats'), BxIcon.STREAM_STATS);
|
$btnStreamStats = StreamUiHandler.cloneStreamHudButton($orgButton, t('stream-stats'), BxIcon.STREAM_STATS);
|
||||||
@ -179,6 +183,8 @@ export class StreamUiHandler {
|
|||||||
const btnStreamStatsOn = (!streamStats.isHidden() && !streamStats.isGlancing());
|
const btnStreamStatsOn = (!streamStats.isHidden() && !streamStats.isGlancing());
|
||||||
$btnStreamStats!.classList.toggle('bx-stream-menu-button-on', btnStreamStatsOn);
|
$btnStreamStats!.classList.toggle('bx-stream-menu-button-on', btnStreamStatsOn);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
StreamUiHandler.$btnStreamStats = $btnStreamStats;
|
||||||
}
|
}
|
||||||
|
|
||||||
const $btnParent = $orgButton.parentElement!;
|
const $btnParent = $orgButton.parentElement!;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user