mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-07 08:07:18 +02:00
Optimize checkHeader()
This commit is contained in:
parent
542079d53e
commit
5e22bf097a
@ -38,6 +38,7 @@ export class HeaderSection {
|
|||||||
);
|
);
|
||||||
|
|
||||||
static #observer: MutationObserver;
|
static #observer: MutationObserver;
|
||||||
|
static #timeout: number | null;
|
||||||
|
|
||||||
static #injectSettingsButton($parent?: HTMLElement) {
|
static #injectSettingsButton($parent?: HTMLElement) {
|
||||||
if (!$parent) {
|
if (!$parent) {
|
||||||
@ -60,9 +61,7 @@ export class HeaderSection {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static checkHeader() {
|
static checkHeader() {
|
||||||
const $button = document.querySelector('.bx-header-settings-button');
|
if (!HeaderSection.#$buttonsWrapper.isConnected) {
|
||||||
|
|
||||||
if (!$button) {
|
|
||||||
const $rightHeader = document.querySelector('#PageContent div[class*=EdgewaterHeader-module__rightSectionSpacing]');
|
const $rightHeader = document.querySelector('#PageContent div[class*=EdgewaterHeader-module__rightSectionSpacing]');
|
||||||
HeaderSection.#injectSettingsButton($rightHeader as HTMLElement);
|
HeaderSection.#injectSettingsButton($rightHeader as HTMLElement);
|
||||||
}
|
}
|
||||||
@ -78,12 +77,10 @@ export class HeaderSection {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let timeout: number | null;
|
|
||||||
|
|
||||||
HeaderSection.#observer && HeaderSection.#observer.disconnect();
|
HeaderSection.#observer && HeaderSection.#observer.disconnect();
|
||||||
HeaderSection.#observer = new MutationObserver(mutationList => {
|
HeaderSection.#observer = new MutationObserver(mutationList => {
|
||||||
timeout && clearTimeout(timeout);
|
HeaderSection.#timeout && clearTimeout(HeaderSection.#timeout);
|
||||||
timeout = window.setTimeout(HeaderSection.checkHeader, 2000);
|
HeaderSection.#timeout = window.setTimeout(HeaderSection.checkHeader, 2000);
|
||||||
});
|
});
|
||||||
HeaderSection.#observer.observe($header, {subtree: true, childList: true});
|
HeaderSection.#observer.observe($header, {subtree: true, childList: true});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user