aboutsummaryrefslogtreecommitdiff
path: root/extension/src/SettingsEditor.tsx
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-11-06 20:41:07 -0500
committersowgro <tpoke.ferrari@gmail.com>2024-11-06 20:41:07 -0500
commita4022284c581eeb7b6740b948f5e915a860fb27f (patch)
treefc6c3e24551178595ad57db826500cc50dbbf22c /extension/src/SettingsEditor.tsx
parent4f103e6e2210e313438b6f0f46e9549db5ccad1a (diff)
downloadbookmarks-home-a4022284c581eeb7b6740b948f5e915a860fb27f.tar.gz
bookmarks-home-a4022284c581eeb7b6740b948f5e915a860fb27f.tar.bz2
bookmarks-home-a4022284c581eeb7b6740b948f5e915a860fb27f.zip
Fix settings not updating
Diffstat (limited to 'extension/src/SettingsEditor.tsx')
-rw-r--r--extension/src/SettingsEditor.tsx56
1 files changed, 30 insertions, 26 deletions
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 (
- <div id="settings-menu" className={open? "open": "closed"}>
+ <div id="settings-menu" className={open ? "open" : "closed"}>
<button id="settings-close" onClick={_ => setOpen(false)}>
<img alt="close settings" src={imageUrl}/>
</button>
<h1>Settings</h1>
<h3>Sort</h3>
- <RadioButtonGroup defaultValue={settings.sort}
- onChange={e => {setSettings({...settings, sort: e})}}>
+ <RadioButtonGroup value={settings.sort}
+ onChange={e => {
+ setSettings({...settings, sort: e})
+ }}>
<option value={"from-bookmarks"}>From Bookmarks</option>
<option value={"alphabetical"}>Alphabetical</option>
<option value={"frequency"}>Frequency</option>
@@ -32,44 +34,46 @@ function SettingsEditor(props: {tree: BookmarkTreeNode[], isOpen: [boolean, Rea
</label>
<h3>Background Type</h3>
- <RadioButtonGroup defaultValue={settings.backgroundMode}
+ <RadioButtonGroup value={settings.backgroundMode}
onChange={e => setSettings({...settings, backgroundMode: e})}>
<option value={"theme"}>Default</option>
<option value={"color"}>Solid Color</option>
<option value={"image"}>Image</option>
</RadioButtonGroup>
- {(() => { switch (settings.backgroundMode) {
- case "image": return (<>
- <h3>Background Image URL</h3>
- <input type={"url"}
- defaultValue={settings.backgroundImage}
- onChange={e => setSettings({...settings, backgroundImage: e.target.value})}/>
- </>)
- case "color": return (<>
- <h3>Background Color</h3>
- <input type={"color"}
- defaultValue={settings.backgroundColor}
- onChange={e => setSettings({...settings, backgroundColor: e.target.value})}/>
- </>)
- }})()}
-
- <h3>Edit mode</h3>
- <label>
- <input type={"checkbox"}/>
- Enable Edit mode
- </label>
+ {(() => {
+ switch (settings.backgroundMode) {
+ case "image":
+ return (<>
+ <h3>Background Image URL</h3>
+ <input type={"url"}
+ value={settings.backgroundImage}
+ onChange={e => setSettings({...settings, backgroundImage: e.target.value})}/>
+ </>)
+ case "color":
+ return (<>
+ <h3>Background Color</h3>
+ <input type={"color"}
+ value={settings.backgroundColor}
+ onChange={e => setSettings({...settings, backgroundColor: e.target.value})}/>
+ </>)
+ }
+ })()}
<h3>Root folder</h3>
- <select defaultValue={settings.rootFolder!}
+ <select value={settings.rootFolder!}
onChange={e => setSettings({...settings, rootFolder: e.target.value})}>
{getFoldersFromTree(props.tree).map(i =>
<option value={i.id}>{i.title ? i.title : "Untitled (id:" + i.id + ")"}</option>
)}
</select>
+ {/*<br/>*/}
+ {/*<span>sort: {settings.sort}</span>*/}
+ {/*<span>rootFolder: {settings.rootFolder}</span>*/}
+ {/*<span>bgmode: {settings.backgroundMode}</span>*/}
</div>
- )
+)
}
function getFoldersFromTree(tree: BookmarkTreeNode[]) {