mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-05-21 02:19:12 +02:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a5170e412 | ||
|
|
11dd82bbb1 | ||
|
|
153bb209d1 | ||
|
|
e27b638d26 | ||
|
|
7d287f10d6 | ||
|
|
9925bc8cfb |
@@ -7,6 +7,7 @@
|
||||
"preset": "angular",
|
||||
"releaseRules": [
|
||||
{"type": "chore", "scope": "classes", "release": "patch"},
|
||||
{"type": "docs", "scope": "steamclient", "release": "patch"},
|
||||
{"type": "*", "scope": "docs", "release": false}
|
||||
]
|
||||
}
|
||||
|
||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,3 +1,17 @@
|
||||
## [3.24.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.24.0...v3.24.1) (2023-12-13)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **utils/react:** support react 18, add getReactRoot ([11dd82b](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/11dd82bbb1814ac4d2fa9d381372e325daba2558))
|
||||
|
||||
# [3.24.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.23.1...v3.24.0) (2023-12-03)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **static-classes:** add BasicAppDetailsSectionStylerClasses ([#99](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/99)) ([e27b638](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/e27b638d26e41332b1554dbd55ca0c55a1821138))
|
||||
|
||||
## [3.23.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v3.23.0...v3.23.1) (2023-11-09)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "decky-frontend-lib",
|
||||
"version": "3.23.1",
|
||||
"version": "3.24.1",
|
||||
"description": "A library for building decky plugins",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -667,6 +667,32 @@ type MainMenuAppRunningClasses = Record<
|
||||
string
|
||||
>;
|
||||
|
||||
type BasicAppDetailsSectionStylerClasses = Record<
|
||||
| "duration-app-launch"
|
||||
| "headerPadding"
|
||||
| "Header"
|
||||
| "AppDetailsContent"
|
||||
| "AppDetailsContainer"
|
||||
| "AppDetailsRoot"
|
||||
| "GameInfoContainer"
|
||||
| "GameInfoQuickLinks"
|
||||
| "GameInfoCollections"
|
||||
| "CollectionsHeader"
|
||||
| "PlaySection"
|
||||
| "ActionRow"
|
||||
| "AppDetailSectionList"
|
||||
| "AppActionButton"
|
||||
| "ActionButtonAndStatusPanel"
|
||||
| "AppButtons"
|
||||
| "InvertFocusedIcon"
|
||||
| "DeckVerifiedFeedbackContainer"
|
||||
| "DeckVerifiedFeedbackConfirmationContainer"
|
||||
| "DeckVerifiedFeedbackButton"
|
||||
| "DeckVerifiedFeedbackQuestion"
|
||||
| "DeckVerifiedFeedbackConfirmation",
|
||||
string
|
||||
>;
|
||||
|
||||
export const quickAccessMenuClasses: QuickAccessMenuClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.Title?.includes('quickaccessmenu'),
|
||||
);
|
||||
@@ -716,4 +742,7 @@ export const achievementClasses: AchievementClasses = findModule(
|
||||
);
|
||||
export const mainMenuAppRunningClasses: MainMenuAppRunningClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.MainMenuAppRunning?.includes('mainmenuapprunning')
|
||||
);
|
||||
);
|
||||
export const basicAppDetailsSectionStylerClasses: BasicAppDetailsSectionStylerClasses = findModule(
|
||||
(mod) => typeof mod === 'object' && mod?.AppDetailsRoot?.includes('basicappdetailssectionstyler_')
|
||||
);
|
||||
|
||||
@@ -58,13 +58,25 @@ export function wrapReactClass(node: any, prop: any = 'type') {
|
||||
return node[prop];
|
||||
} else {
|
||||
const cls = node[prop];
|
||||
const wrappedCls = class extends cls { static __DECKY_WRAPPED = true; };
|
||||
const wrappedCls = class extends cls {
|
||||
static __DECKY_WRAPPED = true;
|
||||
};
|
||||
return (node[prop] = wrappedCls);
|
||||
}
|
||||
}
|
||||
|
||||
export function getReactRoot(o: HTMLElement | Element | Node) {
|
||||
return (
|
||||
o[Object.keys(o).find((k) => k.startsWith('__reactContainer$')) as string] ||
|
||||
o['_reactRootContainer']?._internalRoot?.current
|
||||
);
|
||||
}
|
||||
|
||||
export function getReactInstance(o: HTMLElement | Element | Node) {
|
||||
return o[Object.keys(o).find((k) => k.startsWith('__reactInternalInstance')) as string];
|
||||
return (
|
||||
o[Object.keys(o).find((k) => k.startsWith('__reactFiber')) as string] ||
|
||||
o[Object.keys(o).find((k) => k.startsWith('__reactInternalInstance')) as string]
|
||||
);
|
||||
}
|
||||
|
||||
// Based on https://github.com/GooseMod/GooseMod/blob/9ef146515a9e59ed4e25665ed365fd72fc0dcf23/src/util/react.js#L20
|
||||
|
||||
Reference in New Issue
Block a user