diff options
| author | AAGaming <aagaming@riseup.net> | 2024-10-04 23:59:53 -0400 |
|---|---|---|
| committer | AAGaming <aagaming@riseup.net> | 2024-10-11 15:05:15 -0400 |
| commit | 7b32df09487383897927356547f1ba5a73e8cc94 (patch) | |
| tree | 18932621c4d2ac794e5fd1b5cb6968c4554b66e0 /frontend/src/components/DeckyState.tsx | |
| parent | 306b0ff8d6206a912478ed1e3d3dbf82b8a85c41 (diff) | |
| download | decky-loader-7b32df09487383897927356547f1ba5a73e8cc94.tar.gz decky-loader-7b32df09487383897927356547f1ba5a73e8cc94.zip | |
Add routerhook for desktop UI and a basic sidebar menu for Decky in desktop UI
Diffstat (limited to 'frontend/src/components/DeckyState.tsx')
| -rw-r--r-- | frontend/src/components/DeckyState.tsx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/src/components/DeckyState.tsx b/frontend/src/components/DeckyState.tsx index 75106e62..ddd8e052 100644 --- a/frontend/src/components/DeckyState.tsx +++ b/frontend/src/components/DeckyState.tsx @@ -17,6 +17,7 @@ interface PublicDeckyState { versionInfo: VerInfo | null; notificationSettings: NotificationSettings; userInfo: UserInfo | null; + desktopMenuOpen: boolean; } export interface UserInfo { @@ -36,6 +37,7 @@ export class DeckyState { private _versionInfo: VerInfo | null = null; private _notificationSettings = DEFAULT_NOTIFICATION_SETTINGS; private _userInfo: UserInfo | null = null; + private _desktopMenuOpen: boolean = false; public eventBus = new EventTarget(); @@ -52,6 +54,7 @@ export class DeckyState { versionInfo: this._versionInfo, notificationSettings: this._notificationSettings, userInfo: this._userInfo, + desktopMenuOpen: this._desktopMenuOpen, }; } @@ -115,6 +118,11 @@ export class DeckyState { this.notifyUpdate(); } + setDesktopMenuOpen(open: boolean) { + this._desktopMenuOpen = open; + this.notifyUpdate(); + } + private notifyUpdate() { this.eventBus.dispatchEvent(new Event('update')); } @@ -126,6 +134,7 @@ interface DeckyStateContext extends PublicDeckyState { setActivePlugin(name: string): void; setPluginOrder(pluginOrder: string[]): void; closeActivePlugin(): void; + setDesktopMenuOpen(open: boolean): void; } const DeckyStateContext = createContext<DeckyStateContext>(null as any); @@ -155,6 +164,7 @@ export const DeckyStateContextProvider: FC<Props> = ({ children, deckyState }) = const setActivePlugin = deckyState.setActivePlugin.bind(deckyState); const closeActivePlugin = deckyState.closeActivePlugin.bind(deckyState); const setPluginOrder = deckyState.setPluginOrder.bind(deckyState); + const setDesktopMenuOpen = deckyState.setDesktopMenuOpen.bind(deckyState); return ( <DeckyStateContext.Provider @@ -165,6 +175,7 @@ export const DeckyStateContextProvider: FC<Props> = ({ children, deckyState }) = setActivePlugin, closeActivePlugin, setPluginOrder, + setDesktopMenuOpen, }} > {children} |
