diff options
| author | TrainDoctor <traindoctor@protonmail.com> | 2022-08-24 13:47:21 -0700 |
|---|---|---|
| committer | TrainDoctor <traindoctor@protonmail.com> | 2022-08-24 13:47:21 -0700 |
| commit | d0fd2ac6743e5ce129298d383231ef05ba728df6 (patch) | |
| tree | 013e574205ce8036e0b984c8999473e65a23f101 | |
| parent | de1c89af21dff08cf75135228e745bd2e4b1df6d (diff) | |
| download | decky-loader-d0fd2ac6743e5ce129298d383231ef05ba728df6.tar.gz decky-loader-d0fd2ac6743e5ce129298d383231ef05ba728df6.zip | |
Move to using deckyState
| -rw-r--r-- | frontend/src/components/DeckyState.tsx | 6 | ||||
| -rw-r--r-- | frontend/src/components/settings/pages/general/Updater.tsx | 11 |
2 files changed, 11 insertions, 6 deletions
diff --git a/frontend/src/components/DeckyState.tsx b/frontend/src/components/DeckyState.tsx index 739da0e1..386880e9 100644 --- a/frontend/src/components/DeckyState.tsx +++ b/frontend/src/components/DeckyState.tsx @@ -66,6 +66,7 @@ export class DeckyState { } interface DeckyStateContext extends PublicDeckyState { + setIsLoaderUpdating(hasUpdate: boolean): void; setActivePlugin(name: string): void; closeActivePlugin(): void; } @@ -91,11 +92,14 @@ export const DeckyStateContextProvider: FC<Props> = ({ children, deckyState }) = return () => deckyState.eventBus.removeEventListener('update', onUpdate); }, []); + const setIsLoaderUpdating = (hasUpdate: boolean) => deckyState.setIsLoaderUpdating(hasUpdate); const setActivePlugin = (name: string) => deckyState.setActivePlugin(name); const closeActivePlugin = () => deckyState.closeActivePlugin(); return ( - <DeckyStateContext.Provider value={{ ...publicDeckyState, setActivePlugin, closeActivePlugin }}> + <DeckyStateContext.Provider + value={{ ...publicDeckyState, setIsLoaderUpdating, setActivePlugin, closeActivePlugin }} + > {children} </DeckyStateContext.Provider> ); diff --git a/frontend/src/components/settings/pages/general/Updater.tsx b/frontend/src/components/settings/pages/general/Updater.tsx index 4906c435..1e7c35af 100644 --- a/frontend/src/components/settings/pages/general/Updater.tsx +++ b/frontend/src/components/settings/pages/general/Updater.tsx @@ -3,13 +3,14 @@ import { useEffect, useState } from 'react'; import { FaArrowDown } from 'react-icons/fa'; import { VerInfo, callUpdaterMethod, finishUpdate } from '../../../../updater'; +import { useDeckyState } from '../../../DeckyState'; export default function UpdaterSettings() { const [versionInfo, setVersionInfo] = useState<VerInfo | null>(null); + const [checkingForUpdates, setCheckingForUpdates] = useState<boolean>(false); + const { isLoaderUpdating, setIsLoaderUpdating } = useDeckyState(); const [updateProgress, setUpdateProgress] = useState<number>(-1); const [reloading, setReloading] = useState<boolean>(false); - const [checkingForUpdates, setCheckingForUpdates] = useState<boolean>(false); - const [loaderUpdating, setLoaderUpdating] = useState<boolean>(false); useEffect(() => { (async () => { @@ -38,7 +39,7 @@ export default function UpdaterSettings() { > {updateProgress == -1 ? ( <DialogButton - disabled={!versionInfo?.updatable || checkingForUpdates || loaderUpdating} + disabled={!versionInfo?.updatable || checkingForUpdates || isLoaderUpdating} onClick={ !versionInfo?.remote || versionInfo?.remote?.tag_name == versionInfo?.current ? async () => { @@ -51,12 +52,12 @@ export default function UpdaterSettings() { window.DeckyUpdater = { updateProgress: (i) => { setUpdateProgress(i); - setLoaderUpdating(true); + setIsLoaderUpdating(true); }, finish: async () => { setUpdateProgress(0); setReloading(true); - setLoaderUpdating(false); + setIsLoaderUpdating(false); await finishUpdate(); }, }; |
