diff options
author | Dan <danjm.com@gmail.com> | 2018-04-27 00:38:38 +0800 |
---|---|---|
committer | Dan <danjm.com@gmail.com> | 2018-04-27 00:38:38 +0800 |
commit | 8ff7806f1b471a90fa3f45ebc10f0f4452ade541 (patch) | |
tree | fe4c9483f6b7ffadda35f304f15bbf3a02974910 /ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js | |
parent | 02a6d2089ede7d3faf4990c40b85b9f773f82c64 (diff) | |
download | tangerine-wallet-browser-8ff7806f1b471a90fa3f45ebc10f0f4452ade541.tar.gz tangerine-wallet-browser-8ff7806f1b471a90fa3f45ebc10f0f4452ade541.tar.zst tangerine-wallet-browser-8ff7806f1b471a90fa3f45ebc10f0f4452ade541.zip |
Core of the refactor complete
Diffstat (limited to 'ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js')
-rw-r--r-- | ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js b/ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js index e69de29bb..f215179ba 100644 --- a/ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js +++ b/ui/app/components/send_/send-content/send-from-row/from-dropdown/from-dropdown.component.js @@ -0,0 +1,75 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import AccountListItem from '../../../account-list-item/account-list-item.container' + +export default class FromDropdown extends Component { + + static propTypes = { + accounts: PropTypes.array, + closeDropdown: PropTypes.func, + dropdownOpen: PropTypes.bool, + onSelect: PropTypes.func, + openDropdown: PropTypes.func, + selectedAccount: PropTypes.object, + }; + + renderListItemIcon (icon, color) { + return <i className={`fa ${icon} fa-lg`} style={ { color } }/> + } + + getListItemIcon (currentAccount, selectedAccount) { + return currentAccount.address === selectedAccount.address + ? this.renderListItemIcon('fa-check', '#02c9b1') + : null + } + + renderDropdown () { + const { + accounts, + selectedAccount, + closeDropdown, + onSelect, + } = this.props + + return (<div> + <div + className='send-v2__from-dropdown__close-area' + onClick={() => closeDropdown} + /> + <div className='send-v2__from-dropdown__list'> + {...accounts.map(account => <AccountListItem + className='account-list-item__dropdown' + account={account} + handleClick={() => { + onSelect(account) + closeDropdown() + }} + icon={this.getListItemIcon(account, selectedAccount.address)} + />)} + </div> + </div>) + } + + render () { + const { + selectedAccount, + openDropdown, + dropdownOpen, + } = this.props + console.log(`&*& openDropdown`, openDropdown); + console.log(`&*& dropdownOpen`, dropdownOpen); + return <div className='send-v2__from-dropdown'> + <AccountListItem + account={selectedAccount} + handleClick={openDropdown} + icon={this.renderListItemIcon('fa-caret-down', '#dedede')} + /> + {dropdownOpen && this.renderDropdown()}, + </div> + } + +} + +FromDropdown.contextTypes = { + t: PropTypes.func, +} |