From eb439574becb9a82c283d513a98440d7c8efbafe Mon Sep 17 00:00:00 2001
From: TrainDoctor <traindoctor@protonmail.com>
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 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

(limited to 'frontend/src/components/settings/pages/general/BranchSelect.tsx')

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<UpdateBranch>('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
     <Field label="Update Channel">
       <Dropdown
         rgOptions={Object.values(UpdateBranch)
@@ -22,8 +25,10 @@ const BranchSelect: FunctionComponent<{}> = () => {
             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!');
         }}
       />
     </Field>
-- 
cgit v1.2.3

