Compare commits

...

3 Commits

Author SHA1 Message Date
semantic-release-bot
e48c7bbadd chore(release): 3.18.4 [CI SKIP] 2022-12-16 02:04:28 +00:00
TrainDoctor
727fcc8186 Merge pull request #67 from SteamDeckHomebrew/aa/fix-modals-dec2022
fix(modals): fix ModalRoot again
2022-12-15 18:03:27 -08:00
AAGaming
fd94842647 fix(modals): fix ModalRoot again 2022-12-11 19:52:20 -05:00
3 changed files with 34 additions and 14 deletions

View File

@@ -1,3 +1,10 @@
## [3.18.4](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.18.3...v3.18.4) (2022-12-16)
### Bug Fixes
* **modals:** fix ModalRoot again ([fd94842](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/fd94842647e51dd9a104e170e0c5ee2bebce12d6))
## [3.18.3](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.18.2...v3.18.3) (2022-12-12) ## [3.18.3](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.18.2...v3.18.3) (2022-12-12)

View File

@@ -1,6 +1,6 @@
{ {
"name": "decky-frontend-lib", "name": "decky-frontend-lib",
"version": "3.18.3", "version": "3.18.4",
"description": "A library for building decky plugins", "description": "A library for building decky plugins",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",

View File

@@ -38,7 +38,7 @@ const showModalRaw:
unknown1?: unknown, unknown1?: unknown,
hideActions?: { bHideActions?: boolean }, hideActions?: { bHideActions?: boolean },
modalManager?: unknown, modalManager?: unknown,
) => Promise<ShowModalResult>) ) => ShowModalResult)
| void = findModuleChild((m) => { | void = findModuleChild((m) => {
if (typeof m !== 'object') return undefined; if (typeof m !== 'object') return undefined;
for (let prop in m) { for (let prop in m) {
@@ -52,16 +52,15 @@ const showModalRaw:
} }
}); });
const oldShowModalRaw: const oldShowModalRaw: ((modal: ReactNode, parent?: EventTarget, props?: ShowModalProps) => ShowModalResult) | void =
| ((modal: ReactNode, parent?: EventTarget, props?: ShowModalProps) => Promise<ShowModalResult>) findModuleChild((m) => {
| void = findModuleChild((m) => { if (typeof m !== 'object') return undefined;
if (typeof m !== 'object') return undefined; for (let prop in m) {
for (let prop in m) { if (typeof m[prop] === 'function' && m[prop].toString().includes('bHideMainWindowForPopouts:!0')) {
if (typeof m[prop] === 'function' && m[prop].toString().includes('bHideMainWindowForPopouts:!0')) { return m[prop];
return m[prop]; }
} }
} });
});
export const showModal = ( export const showModal = (
modal: ReactNode, modal: ReactNode,
@@ -70,7 +69,7 @@ export const showModal = (
strTitle: 'Decky Dialog', strTitle: 'Decky Dialog',
bHideMainWindowForPopouts: false, bHideMainWindowForPopouts: false,
}, },
): Promise<ShowModalResult> => { ): ShowModalResult => {
if (showModalRaw) { if (showModalRaw) {
return showModalRaw(modal, parent || findSP(), props.strTitle, props, undefined, { return showModalRaw(modal, parent || findSP(), props.strTitle, props, undefined, {
bHideActions: props.bHideActionIcons, bHideActions: props.bHideActionIcons,
@@ -118,13 +117,13 @@ export const ConfirmModal = findModuleChild((m) => {
} }
}) as FC<ConfirmModalProps>; }) as FC<ConfirmModalProps>;
// new // new as of december 2022 on beta
export const ModalRoot = (Object.values( export const ModalRoot = (Object.values(
findModule((m: any) => { findModule((m: any) => {
if (typeof m !== 'object') return false; if (typeof m !== 'object') return false;
for (let prop in m) { for (let prop in m) {
if (m[prop]?.toString()?.includes('"ModalManager","DialogWrapper"')) { if (m[prop]?.m_mapModalManager) {
return true; return true;
} }
} }
@@ -132,6 +131,20 @@ export const ModalRoot = (Object.values(
return false; return false;
}) || {}, }) || {},
)?.find((x: any) => x?.type?.toString()?.includes('((function(){')) || )?.find((x: any) => x?.type?.toString()?.includes('((function(){')) ||
// before december 2022 beta
Object.values(
findModule((m: any) => {
if (typeof m !== 'object') return false;
for (let prop in m) {
if (m[prop]?.toString()?.includes('"ModalManager","DialogWrapper"')) {
return true;
}
}
return false;
}) || {},
)?.find((x: any) => x?.type?.toString()?.includes('((function(){')) ||
// old // old
findModuleChild((m) => { findModuleChild((m) => {
if (typeof m !== 'object') return undefined; if (typeof m !== 'object') return undefined;