From eb439574becb9a82c283d513a98440d7c8efbafe Mon Sep 17 00:00:00 2001 From: TrainDoctor Date: Thu, 1 Sep 2022 13:46:49 -0700 Subject: Addition of proper branch slection (#168) * This is a bit better, but branch selection still isn't working -_- * I'm the king of oversight * Selecting different branch checks for updates * Stable doesn't detect old versions, which indicates it doesn't work * Start adding deckyState for plugin updating * Few tweaks * Disable nightly selection * Update decky-frontend-lib and move useSetting set setting to async --- .../src/components/settings/pages/general/BranchSelect.tsx | 11 ++++++++--- frontend/src/components/settings/pages/general/Updater.tsx | 10 +--------- frontend/src/components/settings/pages/general/index.tsx | 4 ++-- 3 files changed, 11 insertions(+), 14 deletions(-) (limited to 'frontend/src/components/settings') diff --git a/frontend/src/components/settings/pages/general/BranchSelect.tsx b/frontend/src/components/settings/pages/general/BranchSelect.tsx index 91e814e5..d803f604 100644 --- a/frontend/src/components/settings/pages/general/BranchSelect.tsx +++ b/frontend/src/components/settings/pages/general/BranchSelect.tsx @@ -1,18 +1,21 @@ import { Dropdown, Field } from 'decky-frontend-lib'; import { FunctionComponent } from 'react'; +import { callUpdaterMethod } from '../../../../updater'; import { useSetting } from '../../../../utils/hooks/useSetting'; enum UpdateBranch { Stable, Prerelease, - Nightly, + // Nightly, } const BranchSelect: FunctionComponent<{}> = () => { const [selectedBranch, setSelectedBranch] = useSetting('branch', UpdateBranch.Prerelease); return ( + // Returns numerical values from 0 to 2 (with current branch setup as of 8/28/22) + // 0 being stable, 1 being pre-release and 2 being nightly = () => { data: UpdateBranch[branch], }))} selectedOption={selectedBranch} - onChange={(newVal) => { - setSelectedBranch(newVal.data); + onChange={async (newVal) => { + await setSelectedBranch(newVal.data); + callUpdaterMethod('check_for_updates'); + console.log('switching branches!'); }} /> diff --git a/frontend/src/components/settings/pages/general/Updater.tsx b/frontend/src/components/settings/pages/general/Updater.tsx index 9635162c..7056ed13 100644 --- a/frontend/src/components/settings/pages/general/Updater.tsx +++ b/frontend/src/components/settings/pages/general/Updater.tsx @@ -55,20 +55,12 @@ function PatchNotesModal({ versionInfo, closeModal }: { versionInfo: VerInfo | n } export default function UpdaterSettings() { - const { isLoaderUpdating, setIsLoaderUpdating } = useDeckyState(); + const { isLoaderUpdating, setIsLoaderUpdating, versionInfo, setVersionInfo } = useDeckyState(); - const [versionInfo, setVersionInfo] = useState(null); const [checkingForUpdates, setCheckingForUpdates] = useState(false); const [updateProgress, setUpdateProgress] = useState(-1); const [reloading, setReloading] = useState(false); - useEffect(() => { - (async () => { - const res = (await callUpdaterMethod('get_version')) as { result: VerInfo }; - setVersionInfo(res.result); - })(); - }, []); - useEffect(() => { window.DeckyUpdater = { updateProgress: (i) => { diff --git a/frontend/src/components/settings/pages/general/index.tsx b/frontend/src/components/settings/pages/general/index.tsx index c5f9b9dc..a37d8dab 100644 --- a/frontend/src/components/settings/pages/general/index.tsx +++ b/frontend/src/components/settings/pages/general/index.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import { FaShapes } from 'react-icons/fa'; import { installFromURL } from '../../../../store'; -// import BranchSelect from './BranchSelect'; +import BranchSelect from './BranchSelect'; import RemoteDebuggingSettings from './RemoteDebugging'; import UpdaterSettings from './Updater'; @@ -22,7 +22,7 @@ export default function GeneralSettings() { /> */} - {/* */} +