summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorTrainDoctor <traindoctor@protonmail.com>2022-08-24 13:47:21 -0700
committerTrainDoctor <traindoctor@protonmail.com>2022-08-24 13:47:21 -0700
commitd0fd2ac6743e5ce129298d383231ef05ba728df6 (patch)
tree013e574205ce8036e0b984c8999473e65a23f101 /frontend
parentde1c89af21dff08cf75135228e745bd2e4b1df6d (diff)
downloaddecky-loader-d0fd2ac6743e5ce129298d383231ef05ba728df6.tar.gz
decky-loader-d0fd2ac6743e5ce129298d383231ef05ba728df6.zip
Move to using deckyState
Diffstat (limited to 'frontend')
-rw-r--r--frontend/src/components/DeckyState.tsx6
-rw-r--r--frontend/src/components/settings/pages/general/Updater.tsx11
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();
},
};