on master help sign in
- Update views/Wallet.js to use new dropdown code
commit3feb29d56f590992dd1eaa048aed66c3cbbfd06d authorChris Johnson <chris@cjohnson.io> dateTue 9 Apr 2019, 14:30 (8 years ago) parent5e6f67a
1 file changed+30−74
src/bridge/views/Wallet.js+30−74
src/bridge/views/Wallet.js+30−74
@@ -12,17 +12,8 @@ import { ROUTE_NAMES } from '../lib/router'
1212import { WALLET_NAMES, renderWalletType } from '../lib/wallet'
1313
1414class Wallet extends React.Component {
15−
1615 constructor(props) {
1716 super(props)
18−
19− this.state = {
20− dropdownOpen: false
21− }
22−
23− this.toggle = this.toggle.bind(this)
24− this.close = this.close.bind(this)
25−
2617 }
2718
2819 componentDidMount() {
@@ -30,23 +21,38 @@ class Wallet extends React.Component {
3021 setWallet(Maybe.Nothing())
3122 }
3223
33− toggle() {
34− this.setState((state, _) => ({
35− dropdownOpen: !state.dropdownOpen
36− }))
37− }
38−
39− selectClose(f) {
40− f()
41− this.setState({ dropdownOpen: false })
42− }
43−
44− close () {
45− this.setState({ dropdownOpen: false })
24+ getWalletOptions() {
25+ return [{
26+ title: 'Urbit Master Ticket',
27+ value: WALLET_NAMES.TICKET
28+ }, {
29+ title: 'Urbit Master Ticket (Shards)',
30+ value: WALLET_NAMES.SHARDS
31+ }, {
32+ type: 'divider'
33+ }, {
34+ title: 'Ledger',
35+ value: WALLET_NAMES.LEDGER
36+ }, {
37+ title: 'Trezor',
38+ value: WALLET_NAMES.TREZOR
39+ }, {
40+ type: 'divider'
41+ }, {
42+ title: 'BIP39 Mnemonic',
43+ value: WALLET_NAMES.MNEMONIC
44+ }, {
45+ title: 'Ethereum Private Key',
46+ value: WALLET_NAMES.PRIVATE_KEY
47+ }, {
48+ title: 'Ethereum Keystore File',
49+ value: WALLET_NAMES.KEYSTORE
50+ }, ]
4651 }
4752
4853 render() {
4954 const { props, state } = this
55+ const walletOptions = this.getWalletOptions()
5056
5157 return (
5258 <Row>
@@ -63,60 +69,10 @@ class Wallet extends React.Component {
6369
6470 <InnerLabelDropdown
6571 className={'mb-10 mt-6'}
66− handleToggle={this.toggle}
67− handleClose={this.close}
68− isOpen={state.dropdownOpen}
6972 title={'Wallet Type:'}
73+ options={walletOptions}
74+ handleUpdate={props.setWalletType}
7075 currentSelectionTitle={renderWalletType(props.walletType)}>
71−
72− <DropdownItem
73− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.TICKET)) }
74− >
75− { 'Urbit Master Ticket' }
76− </DropdownItem>
77−
78− <DropdownItem
79− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.SHARDS)) }
80− >
81− { 'Urbit Master Ticket (Shards)' }
82− </DropdownItem>
83−
84− <DropdownDivider />
85−
86− <DropdownItem
87− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.LEDGER)) }
88− >
89− { 'Ledger' }
90− </DropdownItem>
91−
92− <DropdownItem
93− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.TREZOR)) }
94− >
95− { 'Trezor' }
96− </DropdownItem>
97−
98− <DropdownDivider />
99−
100− <DropdownItem
101− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.MNEMONIC)) }
102− >
103− { 'BIP39 Mnemonic' }
104− </DropdownItem>
105−
106− <DropdownItem
107− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.PRIVATE_KEY)) }
108− >
109− { 'Ethereum Private Key' }
110− </DropdownItem>
111−
112− <DropdownItem
113− onClick={ () => this.selectClose(() => props.setWalletType(WALLET_NAMES.KEYSTORE)) }
114− >
115− { 'Ethereum Keystore File' }
116− </DropdownItem>
117−
118−
119−
12076 </InnerLabelDropdown>
12177
12278 <Button