aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/components/SelectList.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2021-08-02 11:34:15 -0300
committerSebastian <sebasjm@gmail.com>2021-08-02 11:34:54 -0300
commit74b2d2fec5b33518ab690f2c962acc5877552459 (patch)
tree29293e4ea26364b0ff8ac6e91d3996e845532b2c /packages/taler-wallet-webextension/src/components/SelectList.tsx
parentc9a6f3d454ffaf8b17f772749b19ac3ae28ee673 (diff)
downloadwallet-core-74b2d2fec5b33518ab690f2c962acc5877552459.tar.xz
add language selector
Diffstat (limited to 'packages/taler-wallet-webextension/src/components/SelectList.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/components/SelectList.tsx46
1 files changed, 36 insertions, 10 deletions
diff --git a/packages/taler-wallet-webextension/src/components/SelectList.tsx b/packages/taler-wallet-webextension/src/components/SelectList.tsx
index 2c4a106ee..74b221777 100644
--- a/packages/taler-wallet-webextension/src/components/SelectList.tsx
+++ b/packages/taler-wallet-webextension/src/components/SelectList.tsx
@@ -14,9 +14,8 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import { VNode } from "preact";
-import { useRef, useState } from "preact/hooks";
import { JSX } from "preact/jsx-runtime";
+import { NiceSelect } from "./styled/index";
interface Props {
value: string;
@@ -27,14 +26,41 @@ interface Props {
}
name: string;
description?: string;
+ canBeNull?: boolean;
}
-export function SelectList({ name, value, list, onChange, label, description }: Props): JSX.Element {
- return <select name={name} id="slct">
- <option selected disabled>Choose an option</option>
- {Object.keys(list)
- .filter((l) => l !== value)
- .map(key => <option value={key} key={key}>{list[key]}</option> )
- }
- </select>
+export function SelectList({ name, value, list, canBeNull, onChange, label, description }: Props): JSX.Element {
+ console.log("==>", name, value)
+ return <div>
+ <label
+ htmlFor={`text-${name}`}
+ style={{ marginLeft: "0.5em", fontWeight: "bold" }}
+ > {label}</label>
+ <NiceSelect>
+ <select name={name} onChange={(e) => {
+ console.log(e.currentTarget.value, value)
+ onChange(e.currentTarget.value)
+ }}>
+ <option selected>
+ {list[value]}
+ </option>
+ {Object.keys(list)
+ .filter((l) => l !== value)
+ .map(key => <option value={key} key={key}>{list[key]}</option>)
+ }
+ </select>
+ </NiceSelect>
+ {description && <span
+ style={{
+ color: "#383838",
+ fontSize: "smaller",
+ display: "block",
+ marginLeft: "2em",
+ }}
+ >
+ {description}
+ </span>}
+
+ </div>
+
}