From a4022284c581eeb7b6740b948f5e915a860fb27f Mon Sep 17 00:00:00 2001 From: sowgro Date: Wed, 6 Nov 2024 20:41:07 -0500 Subject: Fix settings not updating --- extension/src/RadioButtonGroup.tsx | 7 +++-- extension/src/SettingsEditor.tsx | 56 ++++++++++++++++++++------------------ 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/extension/src/RadioButtonGroup.tsx b/extension/src/RadioButtonGroup.tsx index 12276dd..da1b521 100644 --- a/extension/src/RadioButtonGroup.tsx +++ b/extension/src/RadioButtonGroup.tsx @@ -2,12 +2,15 @@ import React, {ReactElement, useEffect, useId, useState} from "react"; interface RadioProps { children: ReactElement[], - defaultValue: any, + value: any, onChange?: (arg0: any) => void } function RadioButtonGroup(props: RadioProps) { - const [selected, setSelected] = useState(props.defaultValue); + const [selected, setSelected] = useState(props.value); + useEffect(() => { + setSelected(props.value); + }, [props.value]); useEffect(() => { props.onChange && props.onChange(selected); }, [selected]) diff --git a/extension/src/SettingsEditor.tsx b/extension/src/SettingsEditor.tsx index f1f90cf..ca0feeb 100644 --- a/extension/src/SettingsEditor.tsx +++ b/extension/src/SettingsEditor.tsx @@ -9,15 +9,17 @@ function SettingsEditor(props: {tree: BookmarkTreeNode[], isOpen: [boolean, Rea const [open, setOpen] = props.isOpen; return ( -
+

Settings

Sort

- {setSettings({...settings, sort: e})}}> + { + setSettings({...settings, sort: e}) + }}> @@ -32,44 +34,46 @@ function SettingsEditor(props: {tree: BookmarkTreeNode[], isOpen: [boolean, Rea

Background Type

- setSettings({...settings, backgroundMode: e})}> - {(() => { switch (settings.backgroundMode) { - case "image": return (<> -

Background Image URL

- setSettings({...settings, backgroundImage: e.target.value})}/> - ) - case "color": return (<> -

Background Color

- setSettings({...settings, backgroundColor: e.target.value})}/> - ) - }})()} - -

Edit mode

- + {(() => { + switch (settings.backgroundMode) { + case "image": + return (<> +

Background Image URL

+ setSettings({...settings, backgroundImage: e.target.value})}/> + ) + case "color": + return (<> +

Background Color

+ setSettings({...settings, backgroundColor: e.target.value})}/> + ) + } + })()}

Root folder

- + {/*
*/} + {/*sort: {settings.sort}*/} + {/*rootFolder: {settings.rootFolder}*/} + {/*bgmode: {settings.backgroundMode}*/}
- ) +) } function getFoldersFromTree(tree: BookmarkTreeNode[]) { -- cgit v1.2.3