diff options
author | Dan <danjm.com@gmail.com> | 2017-08-30 18:33:00 +0800 |
---|---|---|
committer | Chi Kei Chan <chikeichan@gmail.com> | 2017-09-08 01:25:56 +0800 |
commit | 17b5afb8deb50bf117a888ab24856661f67d3547 (patch) | |
tree | 49eba52441a737f0445d1563354cf9ef4fd51583 /ui/app | |
parent | 6d3b3d42034c88475cd90172ddd97b95f04df60e (diff) | |
download | tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar.gz tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar.bz2 tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar.lz tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar.xz tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.tar.zst tangerine-wallet-browser-17b5afb8deb50bf117a888ab24856661f67d3547.zip |
Create tx-list-item component.
Diffstat (limited to 'ui/app')
-rw-r--r-- | ui/app/components/tx-list-item.js | 92 | ||||
-rw-r--r-- | ui/app/components/tx-list.js | 89 | ||||
-rw-r--r-- | ui/app/css/itcss/components/transaction-list.scss | 16 |
3 files changed, 123 insertions, 74 deletions
diff --git a/ui/app/components/tx-list-item.js b/ui/app/components/tx-list-item.js new file mode 100644 index 000000000..85699ceeb --- /dev/null +++ b/ui/app/components/tx-list-item.js @@ -0,0 +1,92 @@ +const Component = require('react').Component +const h = require('react-hyperscript') +const inherits = require('util').inherits +const Identicon = require('./identicon') + +module.exports = TxListItem + +inherits(TxListItem, Component) +function TxListItem () { + Component.call(this) +} + +TxListItem.prototype.getAddressText = function (address) { + return address + ? `${address.slice(0, 10)}...${address.slice(-4)}` + : 'Contract Published' +} + +TxListItem.prototype.render = function () { + const { + transactionStatus, + onClick, + transActionId, + dateString, + address, + transactionAmount, + className + } = this.props + + return h(`div${className || ''}`, { + key: transActionId, + onClick: () => onClick && onClick(transActionId), + }, [ + h(`div.flex-column.tx-list-item-wrapper`, {}, [ + + h('div.tx-list-date-wrapper', { + style: {}, + }, [ + h('span.tx-list-date', {}, [ + dateString, + ]), + ]), + + h('div.flex-row.tx-list-content-wrapper', { + style: {}, + }, [ + + h('div.tx-list-identicon-wrapper', { + style: {}, + }, [ + h(Identicon, { + address, + diameter: 28, + }), + ]), + + h('div.tx-list-account-and-status-wrapper', {}, [ + h('div.tx-list-account-wrapper', { + style: {}, + }, [ + h('span.tx-list-account', {}, [ + this.getAddressText(address), + ]), + ]), + + h('div.tx-list-status-wrapper', { + style: {}, + }, [ + h('span.tx-list-status', {}, [ + transactionStatus, + ]), + ]), + ]), + + h('div.flex-column.tx-list-details-wrapper', { + style: {}, + }, [ + + h('span.tx-list-value', {}, [ + transactionAmount, + ]), + + h('span.tx-list-fiat-value', {}, [ + '+ $300 USD', + ]), + + ]), + ]), + ]) // holding on icon from design + ]) +} + diff --git a/ui/app/components/tx-list.js b/ui/app/components/tx-list.js index 6cbd123f8..654b95416 100644 --- a/ui/app/components/tx-list.js +++ b/ui/app/components/tx-list.js @@ -3,7 +3,7 @@ const connect = require('react-redux').connect const h = require('react-hyperscript') const inherits = require('util').inherits const selectors = require('../selectors') -const Identicon = require('./identicon') +const TxListItem = require('./tx-list-item') const { formatBalance, formatDate } = require('../util') const { showConfTxPage } = require('../actions') @@ -53,16 +53,6 @@ TxList.prototype.render = function () { ]) } -TxList.prototype.getAddressText = function (transaction) { - const { - txParams: { to }, - } = transaction - - return to - ? `${to.slice(0, 10)}...${to.slice(-4)}` - : 'Contract Published' -} - TxList.prototype.renderTranstions = function () { const { txsToRender } = this.props @@ -92,70 +82,21 @@ TxList.prototype.renderTransactionListItem = function (transaction) { } = props const { showConfTxPage } = this.props - return h('div.tx-list-item', { - key: transaction.id, - }, [ - h('div.flex-column.tx-list-item__wrapper', { - onClick: () => transactionStatus === 'unapproved' && showConfTxPage({id: transActionId}), - style: {}, - }, [ - - h('div.tx-list-date-wrapper', { - style: {}, - }, [ - h('span.tx-list-date', {}, [ - dateString, - ]), - ]), - - h('div.flex-row.tx-list-content-wrapper', { - style: {}, - }, [ - - h('div.tx-list-identicon-wrapper', { - style: {}, - }, [ - h(Identicon, { - address, - diameter: 28, - }), - ]), - - h('div.tx-list-account-and-status-wrapper', {}, [ - h('div.tx-list-account-wrapper', { - style: {}, - }, [ - h('span.tx-list-account', {}, [ - this.getAddressText(transaction), - ]), - ]), - - h('div.tx-list-status-wrapper', { - style: {}, - }, [ - h('span.tx-list-status', {}, [ - transactionStatus, - ]), - ]), - ]), - - h('div.flex-column.tx-list-details-wrapper', { - style: {}, - }, [ - - h('span.tx-list-value', {}, [ - transactionAmount, - ]), - - h('span.tx-list-fiat-value', {}, [ - '+ $300 USD', - ]), - - ]), + if (!address) return null + + const opts = { + transactionStatus, + transActionId, + dateString, + address, + transactionAmount, + } - ]), - ]), + if (transactionStatus === 'unapproved') { + opts.onClick = () => showConfTxPage({id: transActionId}) + opts.className = '.tx-list-pending-item-container' + } - ]) + return h(TxListItem, opts) } diff --git a/ui/app/css/itcss/components/transaction-list.scss b/ui/app/css/itcss/components/transaction-list.scss index bdf84b919..87e8e693e 100644 --- a/ui/app/css/itcss/components/transaction-list.scss +++ b/ui/app/css/itcss/components/transaction-list.scss @@ -61,6 +61,22 @@ flex: 0 0 70px; align-items: stretch; justify-content: flex-start; + + @media screen and (max-width: $break-small) { + padding: 0 1.3em .95em; + } + + @media screen and (min-width: $break-large) { + margin: 0 2.37em; + } +} + +.tx-list-pending-item-container { + cursor: pointer; +} + +.tx-list-pending-item-container:hover { + background: $alto; } .tx-list-date-wrapper { |