diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-11-03 00:19:58 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-11-03 00:19:58 -0400 |
commit | 01b3c8be6a3cd143a044c826d7f79ed2128cdd3b (patch) | |
tree | d93ebfa753b1c9fdabc24e7224ee16fe20957657 /extension/src/RadioButtonGroup.tsx | |
parent | 1333bf2b0b86f3e243f3ad19c263a0a24df07244 (diff) | |
download | bookmarks-home-01b3c8be6a3cd143a044c826d7f79ed2128cdd3b.tar.gz bookmarks-home-01b3c8be6a3cd143a044c826d7f79ed2128cdd3b.tar.bz2 bookmarks-home-01b3c8be6a3cd143a044c826d7f79ed2128cdd3b.zip |
Start making settings work
Diffstat (limited to 'extension/src/RadioButtonGroup.tsx')
-rw-r--r-- | extension/src/RadioButtonGroup.tsx | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/extension/src/RadioButtonGroup.tsx b/extension/src/RadioButtonGroup.tsx new file mode 100644 index 0000000..14f348d --- /dev/null +++ b/extension/src/RadioButtonGroup.tsx @@ -0,0 +1,53 @@ +import React, {useId, useState} from "react"; + +interface radioEntry { + label: string, + data: any, +} + +interface IProps { + groupLabel: string, + items: radioEntry[], + defaultData: any +} + +function RadioButtonGroup(props: IProps) { + const [selected, setSelected] = useState(props.defaultData); + + return ( + <> + <h3>{props.groupLabel}</h3> + <div className="radio-group"> + { props.items.map((item) => ( + <label> + <input + type="radio" + name={useId()} + value={item.data} + checked={item.data === selected} + onChange={e => setSelected(e.target.value)} + /> + {item.label} + </label> + )) } + </div> + <span>currently selected: {selected}</span> + </> + ) +} + +export default RadioButtonGroup + +// <h3>Sort</h3> +// <label> +// <input type="radio" name="sort"/> +// From bookmarks +// </label> +// <label> +// <input type="radio" name="sort"/> +// Alphabetical +// </label> +// <label> +// <input type="radio" name="sort"/> +// Frequency +// </label>
\ No newline at end of file |