mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-05-23 11:28:48 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
279069ee34 | ||
|
|
944a9024ff | ||
|
|
0a2220b4b4 | ||
|
|
aa567e9dd0 | ||
|
|
d9e4ff3ebd | ||
|
|
79d73dea2e | ||
|
|
602f93ae6a |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,3 +1,24 @@
|
|||||||
|
## [1.2.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.2.0...v1.2.1) (2022-07-13)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **ProgressBar:** extend correct prop type ([944a902](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/944a9024ff20f0b596869564d014d7dd73e74254))
|
||||||
|
|
||||||
|
# [1.2.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.1.0...v1.2.0) (2022-07-13)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **ProgressBar:** add new progress bars ([d9e4ff3](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/d9e4ff3ebd22a31306f564e7f8ad82879c8fb699))
|
||||||
|
|
||||||
|
# [1.1.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.0.2...v1.1.0) (2022-07-09)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **Router.tsx:** adds more methods to router ([#9](https://github.com/SteamDeckHomebrew/decky-frontend-lib/issues/9)) ([602f93a](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/602f93ae6a5ceca5383b888cd4803638799558c5))
|
||||||
|
|
||||||
## [1.0.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.0.1...v1.0.2) (2022-07-07)
|
## [1.0.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.0.1...v1.0.2) (2022-07-07)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.0.2",
|
"version": "1.2.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.0.2",
|
"version": "1.2.1",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.0.2",
|
"version": "1.2.1",
|
||||||
"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",
|
||||||
|
|||||||
@@ -1,18 +1,44 @@
|
|||||||
import { VFC } from 'react';
|
import { VFC, ReactNode } from 'react';
|
||||||
|
|
||||||
import { findModuleChild } from '../webpack';
|
import { findModuleChild } from '../webpack';
|
||||||
import { ItemProps } from './Item';
|
import { ItemProps } from './Item';
|
||||||
|
|
||||||
export interface ProgressBarItem extends ItemProps {
|
export interface ProgressBarItemProps extends ItemProps {
|
||||||
indeterminate?: boolean;
|
indeterminate?: boolean;
|
||||||
nTransitionSec?: number;
|
nTransitionSec?: number;
|
||||||
nProgress?: number;
|
nProgress?: number;
|
||||||
focusable?: boolean;
|
focusable?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ProgressBarProps {
|
||||||
|
indeterminate?: boolean;
|
||||||
|
nTransitionSec?: number;
|
||||||
|
nProgress?: number;
|
||||||
|
focusable?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ProgressBarWithInfoProps extends ProgressBarItemProps {
|
||||||
|
sTimeRemaining?: ReactNode;
|
||||||
|
sOperationText?: ReactNode;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const ProgressBar = findModuleChild((m) => {
|
||||||
|
if (typeof m !== 'object') return undefined;
|
||||||
|
for (let prop in m) {
|
||||||
|
if (m[prop]?.toString()?.includes('.ProgressBar,"standard"==')) return m[prop];
|
||||||
|
}
|
||||||
|
}) as VFC<ProgressBarProps>;
|
||||||
|
|
||||||
|
export const ProgressBarWithInfo = findModuleChild((m) => {
|
||||||
|
if (typeof m !== 'object') return undefined;
|
||||||
|
for (let prop in m) {
|
||||||
|
if (m[prop]?.toString()?.includes('.ProgressBarFieldStatus},')) return m[prop];
|
||||||
|
}
|
||||||
|
}) as VFC<ProgressBarWithInfoProps>;
|
||||||
|
|
||||||
export const ProgressBarItem = findModuleChild((m) => {
|
export const ProgressBarItem = 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 (m[prop]?.toString()?.includes('"indeterminate","nTransitionSec"')) return m[prop];
|
if (m[prop]?.toString()?.includes('"indeterminate","nTransitionSec"')) return m[prop];
|
||||||
}
|
}
|
||||||
}) as VFC<ProgressBarItem>;
|
}) as VFC<ProgressBarItemProps>;
|
||||||
|
|||||||
@@ -17,6 +17,52 @@ export enum QuickAccessTab {
|
|||||||
Decky,
|
Decky,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum DisplayStatus {
|
||||||
|
Invalid = 0,
|
||||||
|
Launching = 1,
|
||||||
|
Uninstalling = 2,
|
||||||
|
Installing = 3,
|
||||||
|
Running = 4,
|
||||||
|
Validating = 5,
|
||||||
|
Updating = 6,
|
||||||
|
Downloading = 7,
|
||||||
|
Synchronizing = 8,
|
||||||
|
ReadyToInstall = 9,
|
||||||
|
ReadyToPreload = 10,
|
||||||
|
ReadyToLaunch = 11,
|
||||||
|
RegionRestricted = 12,
|
||||||
|
PresaleOnly = 13,
|
||||||
|
InvalidPlatform = 14,
|
||||||
|
PreloadComplete = 16,
|
||||||
|
BorrowerLocked = 17,
|
||||||
|
UpdatePaused = 18,
|
||||||
|
UpdateQueued = 19,
|
||||||
|
UpdateRequired = 20,
|
||||||
|
UpdateDisabled = 21,
|
||||||
|
DownloadPaused = 22,
|
||||||
|
DownloadQueued = 23,
|
||||||
|
DownloadRequired = 24,
|
||||||
|
DownloadDisabled = 25,
|
||||||
|
LicensePending = 26,
|
||||||
|
LicenseExpired = 27,
|
||||||
|
AvailForFree = 28,
|
||||||
|
AvailToBorrow = 29,
|
||||||
|
AvailGuestPass = 30,
|
||||||
|
Purchase = 31,
|
||||||
|
Unavailable = 32,
|
||||||
|
NotLaunchable = 33,
|
||||||
|
CloudError = 34,
|
||||||
|
CloudOutOfDate = 35,
|
||||||
|
Terminating = 36,
|
||||||
|
}
|
||||||
|
|
||||||
|
export type AppOverview = {
|
||||||
|
appid: string
|
||||||
|
display_name: string
|
||||||
|
display_status: DisplayStatus
|
||||||
|
sort_as: string
|
||||||
|
}
|
||||||
|
|
||||||
export interface Router {
|
export interface Router {
|
||||||
CloseSideMenus(): void;
|
CloseSideMenus(): void;
|
||||||
OpenQuickAccessMenu(quickAccessTab?: QuickAccessTab): void;
|
OpenQuickAccessMenu(quickAccessTab?: QuickAccessTab): void;
|
||||||
@@ -24,12 +70,14 @@ export interface Router {
|
|||||||
Navigate(path: string): void;
|
Navigate(path: string): void;
|
||||||
NavigateBackOrOpenMenu(): void;
|
NavigateBackOrOpenMenu(): void;
|
||||||
NavigateToExternalWeb(url: string): void;
|
NavigateToExternalWeb(url: string): void;
|
||||||
|
NavigateToRunningApp(replace?: boolean): void;
|
||||||
NavigateToStore(): void;
|
NavigateToStore(): void;
|
||||||
ToggleSideMenu(sideMenu: SideMenu): void;
|
ToggleSideMenu(sideMenu: SideMenu): void;
|
||||||
CloseSideMenus(): void;
|
CloseSideMenus(): void;
|
||||||
OpenSideMenu(sideMenu: SideMenu): void;
|
OpenSideMenu(sideMenu: SideMenu): void;
|
||||||
OpenPowerMenu(unknown?: any): void;
|
OpenPowerMenu(unknown?: any): void;
|
||||||
get RunningApps(): any;
|
get RunningApps(): any;
|
||||||
|
get MainRunningApp(): AppOverview | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Router = findModuleChild((m: Module) => {
|
export const Router = findModuleChild((m: Module) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user