Merge pull request #299 from status-im/revert-266-revert-260-revert-251-revert-240-fix/metamask-address-not-updated-#187
Revert "Revert "[FIX #187] Fix address dropdown in My Payment Details""
This commit is contained in:
commit
3c55056376
|
@ -12,16 +12,17 @@
|
|||
:on-change #(reset! val-ratom (-> % .-target .-value))})]))
|
||||
|
||||
(defn dropdown [props title val-ratom items]
|
||||
"If val-ratom is set, preselect it in the dropdown.
|
||||
Otherwise, prepend title as a disabled option."
|
||||
(fn []
|
||||
(if (= 1 (count items))
|
||||
(reset! val-ratom (first items)))
|
||||
[:select.ui.basic.selection.dropdown
|
||||
(merge props {:on-change
|
||||
#(reset! val-ratom (-> % .-target .-value))})
|
||||
(doall (for [item items]
|
||||
^{:key item} [:option
|
||||
{:value item}
|
||||
item]))]))
|
||||
#(reset! val-ratom (-> % .-target .-value))
|
||||
:default-value (or @val-ratom title)})
|
||||
(for [item items]
|
||||
^{:key item} [:option {:value item
|
||||
:disabled (= item title)}
|
||||
item])]))
|
||||
|
||||
(defn relative-time [time]
|
||||
"converts time in milliseconds to a relative form of '1 hour ago'"
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
[commiteth.common :refer [input dropdown]]
|
||||
[reagent.core :as r]
|
||||
[reagent.crypt :as crypt]
|
||||
[clojure.string :as str]
|
||||
[cljs-web3.eth :as web3-eth]))
|
||||
|
||||
(defn update-address-page-contents []
|
||||
|
@ -21,13 +22,25 @@
|
|||
[:p "Insert your Ethereum address in hex format."]
|
||||
[:div.field
|
||||
(if-not (empty? web3-accounts)
|
||||
[dropdown {:class "address-input"} "Select address"
|
||||
address
|
||||
(vec
|
||||
(for [acc web3-accounts]
|
||||
acc))]
|
||||
; Add value of address if it's missing from items list.
|
||||
; If address is empty, add title
|
||||
(let [accounts (map str/lower-case web3-accounts)
|
||||
addr @address
|
||||
title "Select address"
|
||||
addr-not-in-web3? (and addr (as-> web3-accounts acc
|
||||
(map str/lower-case acc)
|
||||
(set acc)
|
||||
(contains? acc addr)
|
||||
(not acc)))
|
||||
items (cond->> web3-accounts
|
||||
addr-not-in-web3? (into [addr])
|
||||
(not addr) (into [title]))]
|
||||
[dropdown {:class "address-input"}
|
||||
title
|
||||
address
|
||||
items])
|
||||
[:div.ui.input.address-input
|
||||
[input address {:placeholder "0x0000000000000000000000000000000000000000"
|
||||
[input address {:placeholder "0x0000000000000000000000000000000000000000"
|
||||
:auto-complete "off"
|
||||
:auto-correct "off"
|
||||
:spell-check "false"
|
||||
|
|
Loading…
Reference in New Issue