diff options
author | Alexander Tseung <alextsg@gmail.com> | 2017-12-23 03:00:46 +0800 |
---|---|---|
committer | Alexander Tseung <alextsg@gmail.com> | 2017-12-23 03:00:46 +0800 |
commit | 06410381d4b738fe22aa24973c7f9568d295f570 (patch) | |
tree | 69bd8701cdaa417cb6c0f46deff43414122101db /ui/app/components/send/from-dropdown.js | |
parent | 06f496310ce7d719bbb5690f307db143ba57a1a7 (diff) | |
parent | a218008adf85dfb5fa8ca93c789e14d9f2090813 (diff) | |
download | tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.gz tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.bz2 tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.lz tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.xz tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.zst tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.zip |
Merge branch 'NewUI-flat' into merge-master
Diffstat (limited to 'ui/app/components/send/from-dropdown.js')
-rw-r--r-- | ui/app/components/send/from-dropdown.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/ui/app/components/send/from-dropdown.js b/ui/app/components/send/from-dropdown.js new file mode 100644 index 000000000..0686fbe73 --- /dev/null +++ b/ui/app/components/send/from-dropdown.js @@ -0,0 +1,72 @@ +const Component = require('react').Component +const h = require('react-hyperscript') +const inherits = require('util').inherits +const AccountListItem = require('./account-list-item') + +module.exports = FromDropdown + +inherits(FromDropdown, Component) +function FromDropdown () { + Component.call(this) +} + +FromDropdown.prototype.getListItemIcon = function (currentAccount, selectedAccount) { + const listItemIcon = h(`i.fa.fa-check.fa-lg`, { style: { color: '#02c9b1' } }) + + return currentAccount.address === selectedAccount.address + ? listItemIcon + : null +} + +FromDropdown.prototype.renderDropdown = function () { + const { + accounts, + selectedAccount, + closeDropdown, + onSelect, + } = this.props + + return h('div', {}, [ + + h('div.send-v2__from-dropdown__close-area', { + onClick: closeDropdown, + }), + + h('div.send-v2__from-dropdown__list', {}, [ + + ...accounts.map(account => h(AccountListItem, { + className: 'account-list-item__dropdown', + account, + handleClick: () => { + onSelect(account) + closeDropdown() + }, + icon: this.getListItemIcon(account, selectedAccount), + })), + + ]), + + ]) +} + +FromDropdown.prototype.render = function () { + const { + selectedAccount, + openDropdown, + dropdownOpen, + } = this.props + + return h('div.send-v2__from-dropdown', {}, [ + + h(AccountListItem, { + account: selectedAccount, + handleClick: openDropdown, + icon: h(`i.fa.fa-caret-down.fa-lg`, { style: { color: '#dedede' } }), + }), + + dropdownOpen && this.renderDropdown(), + + ]) + +} + |