1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-22 17:33:23 +01:00

Render failed tx in tx list

This commit is contained in:
Dan Finlay 2016-05-19 19:00:14 -07:00
parent 5b30f07d59
commit ff20543c59
2 changed files with 28 additions and 9 deletions

View File

@ -179,8 +179,6 @@ AccountDetailScreen.prototype.transactionList = function() {
.filter(tx => tx.txParams.from === state.address) .filter(tx => tx.txParams.from === state.address)
// only transactions that are on the current network // only transactions that are on the current network
.filter(tx => tx.txParams.metamaskNetworkId === state.networkVersion) .filter(tx => tx.txParams.metamaskNetworkId === state.networkVersion)
// only transactions that have a hash
.filter(tx => tx.hash)
// sort by recency // sort by recency
.sort((a, b) => b.time - a.time) .sort((a, b) => b.time - a.time)

View File

@ -57,10 +57,10 @@ module.exports = function(transactions, network) {
) )
function renderTransaction(transaction){ function renderTransaction(transaction, i){
var panelOpts = { var panelOpts = {
key: `tx-${transaction.hash}`, key: `tx-${transaction.id + i}`,
identiconKey: transaction.txParams.to, identiconKey: transaction.txParams.to,
onClick: (event) => { onClick: (event) => {
var url = explorerLink(transaction.hash, parseInt(network)) var url = explorerLink(transaction.hash, parseInt(network))
@ -88,7 +88,7 @@ module.exports = function(transactions, network) {
return ( return (
h('.transaction-list-item.flex-row.flex-space-between.cursor-pointer', { h('.transaction-list-item.flex-row.flex-space-between.cursor-pointer', {
key: `tx-${transaction.hash}`, key: `tx-${transaction.id + i}`,
onClick: (event) => { onClick: (event) => {
var url = explorerLink(transaction.hash, parseInt(network)) var url = explorerLink(transaction.hash, parseInt(network))
chrome.tabs.create({ url }) chrome.tabs.create({ url })
@ -107,7 +107,7 @@ module.exports = function(transactions, network) {
h('div', date), 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) { if (txParams.to) {
return h('div', { return h('div', {
style: { style: {
fontSize: 'small', fontSize: 'small',
color: '#ABA9AA', color: '#ABA9AA',
}, },
}, addressSummary(txParams.to)) }, [
addressSummary(txParams.to),
failIfFailed(transaction),
])
} else { } else {
@ -136,7 +139,11 @@ function recipientField(txParams) {
fontSize: 'small', fontSize: 'small',
color: '#ABA9AA', color: '#ABA9AA',
}, },
}, 'Contract Published') },[
'Contract Published',
failIfFailed(transaction),
])
} }
} }
@ -145,6 +152,14 @@ function formatDate(date){
} }
function identicon(txParams, transaction) { function identicon(txParams, transaction) {
if (transaction.status === 'rejected') {
return h('i.fa.fa-exclamation-triangle.fa-lg.error', {
style: {
width: '24px',
}
})
}
if (txParams.to) { if (txParams.to) {
return h(Identicon, { return h(Identicon, {
diameter: 24, diameter: 24,
@ -158,3 +173,9 @@ function identicon(txParams, transaction) {
}) })
} }
} }
function failIfFailed(transaction) {
if (transaction.status === 'rejected') {
return h('span.error', ' (Failed)')
}
}