From 3a16187504ab0a18166f8942a05c4f47d603f548 Mon Sep 17 00:00:00 2001 From: redphx <96280+redphx@users.noreply.github.com> Date: Mon, 10 Jun 2024 08:03:13 +0700 Subject: [PATCH] Update Guide menu detection --- src/index.ts | 19 +++++++++++-------- src/utils/bx-event.ts | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/index.ts b/src/index.ts index 2fc3328..ddd3851 100644 --- a/src/index.ts +++ b/src/index.ts @@ -219,15 +219,18 @@ function observeRootDialog($root: HTMLElement) { const $addedElm = mutation.addedNodes[0]; if ($addedElm instanceof HTMLElement && $addedElm.className) { if ($addedElm.className.startsWith('NavigationAnimation') || $addedElm.className.startsWith('DialogRoutes') || $addedElm.className.startsWith('Dialog-module__container')) { - // Find navigation bar - const $selectedTab = $addedElm.querySelector('div[class^=NavigationMenu] button[aria-selected=true'); - if ($selectedTab) { - let $elm: Element | null = $selectedTab; - let index; - for (index = 0; ($elm = $elm?.previousElementSibling); index++); + // Make sure it's Guide dialog + if (document.querySelector('#gamepass-dialog-root div[class*=GuideDialog]')) { + // Find navigation bar + const $selectedTab = $addedElm.querySelector('div[class^=NavigationMenu] button[aria-selected=true'); + if ($selectedTab) { + let $elm: Element | null = $selectedTab; + let index; + for (index = 0; ($elm = $elm?.previousElementSibling); index++); - if (index === 0) { - BxEvent.dispatch(window, BxEvent.XCLOUD_GUIDE_MENU_SHOWN, {where: GuideMenuTab.HOME}); + if (index === 0) { + BxEvent.dispatch(window, BxEvent.XCLOUD_GUIDE_MENU_SHOWN, {where: GuideMenuTab.HOME}); + } } } } diff --git a/src/utils/bx-event.ts b/src/utils/bx-event.ts index 0a6679c..2bf8162 100644 --- a/src/utils/bx-event.ts +++ b/src/utils/bx-event.ts @@ -66,8 +66,8 @@ export namespace BxEvent { } } - AppInterface && AppInterface.onEvent(eventName); target.dispatchEvent(event); + AppInterface && AppInterface.onEvent(eventName); } }