summaryrefslogtreecommitdiff
path: root/frontend/src/components/settings/pages/general/BranchSelect.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/components/settings/pages/general/BranchSelect.tsx')
-rw-r--r--frontend/src/components/settings/pages/general/BranchSelect.tsx33
1 files changed, 33 insertions, 0 deletions
diff --git a/frontend/src/components/settings/pages/general/BranchSelect.tsx b/frontend/src/components/settings/pages/general/BranchSelect.tsx
new file mode 100644
index 00000000..91e814e5
--- /dev/null
+++ b/frontend/src/components/settings/pages/general/BranchSelect.tsx
@@ -0,0 +1,33 @@
+import { Dropdown, Field } from 'decky-frontend-lib';
+import { FunctionComponent } from 'react';
+
+import { useSetting } from '../../../../utils/hooks/useSetting';
+
+enum UpdateBranch {
+ Stable,
+ Prerelease,
+ Nightly,
+}
+
+const BranchSelect: FunctionComponent<{}> = () => {
+ const [selectedBranch, setSelectedBranch] = useSetting<UpdateBranch>('branch', UpdateBranch.Prerelease);
+
+ return (
+ <Field label="Update Channel">
+ <Dropdown
+ rgOptions={Object.values(UpdateBranch)
+ .filter((branch) => typeof branch == 'string')
+ .map((branch) => ({
+ label: branch,
+ data: UpdateBranch[branch],
+ }))}
+ selectedOption={selectedBranch}
+ onChange={(newVal) => {
+ setSelectedBranch(newVal.data);
+ }}
+ />
+ </Field>
+ );
+};
+
+export default BranchSelect;