diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-05-20 10:00:14 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-05-20 10:00:14 +0800 |
commit | ff20543c598ac1534adc531e030373b57e88c891 (patch) | |
tree | 90bbc45d65e14ded0611ae75c5bee1e07dfb05ce | |
parent | 5b30f07d596c9ec24481d6aba5e9f7985c0a4384 (diff) | |
download | tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar.gz tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar.bz2 tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar.lz tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar.xz tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.tar.zst tangerine-wallet-browser-ff20543c598ac1534adc531e030373b57e88c891.zip |
Render failed tx in tx list
-rw-r--r-- | ui/app/account-detail.js | 2 | ||||
-rw-r--r-- | ui/app/components/transaction-list.js | 35 |
2 files changed, 28 insertions, 9 deletions
diff --git a/ui/app/account-detail.js b/ui/app/account-detail.js index 489392473..c708580c4 100644 --- a/ui/app/account-detail.js +++ b/ui/app/account-detail.js @@ -179,8 +179,6 @@ AccountDetailScreen.prototype.transactionList = function() { .filter(tx => tx.txParams.from === state.address) // only transactions that are on the current network .filter(tx => tx.txParams.metamaskNetworkId === state.networkVersion) - // only transactions that have a hash - .filter(tx => tx.hash) // sort by recency .sort((a, b) => b.time - a.time) diff --git a/ui/app/components/transaction-list.js b/ui/app/components/transaction-list.js index 5e9ec8b87..e912e36f6 100644 --- a/ui/app/components/transaction-list.js +++ b/ui/app/components/transaction-list.js @@ -57,10 +57,10 @@ module.exports = function(transactions, network) { ) - function renderTransaction(transaction){ + function renderTransaction(transaction, i){ var panelOpts = { - key: `tx-${transaction.hash}`, + key: `tx-${transaction.id + i}`, identiconKey: transaction.txParams.to, onClick: (event) => { var url = explorerLink(transaction.hash, parseInt(network)) @@ -88,7 +88,7 @@ module.exports = function(transactions, network) { return ( h('.transaction-list-item.flex-row.flex-space-between.cursor-pointer', { - key: `tx-${transaction.hash}`, + key: `tx-${transaction.id + i}`, onClick: (event) => { var url = explorerLink(transaction.hash, parseInt(network)) chrome.tabs.create({ url }) @@ -107,7 +107,7 @@ module.exports = function(transactions, network) { h('div', date), - recipientField(txParams), + recipientField(txParams, transaction), ]), @@ -120,14 +120,17 @@ module.exports = function(transactions, network) { } } -function recipientField(txParams) { +function recipientField(txParams, transaction) { if (txParams.to) { return h('div', { style: { fontSize: 'small', color: '#ABA9AA', }, - }, addressSummary(txParams.to)) + }, [ + addressSummary(txParams.to), + failIfFailed(transaction), + ]) } else { @@ -136,7 +139,11 @@ function recipientField(txParams) { fontSize: 'small', color: '#ABA9AA', }, - }, 'Contract Published') + },[ + 'Contract Published', + failIfFailed(transaction), + ]) + } } @@ -145,6 +152,14 @@ function formatDate(date){ } function identicon(txParams, transaction) { + if (transaction.status === 'rejected') { + return h('i.fa.fa-exclamation-triangle.fa-lg.error', { + style: { + width: '24px', + } + }) + } + if (txParams.to) { return h(Identicon, { diameter: 24, @@ -158,3 +173,9 @@ function identicon(txParams, transaction) { }) } } + +function failIfFailed(transaction) { + if (transaction.status === 'rejected') { + return h('span.error', ' (Failed)') + } +} |