nifty-wallet/ui/app/components/transaction-list-item-icon.js

67 lines
1.3 KiB
JavaScript
Raw Normal View History

const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
const Identicon = require('./identicon')
module.exports = TransactionIcon
inherits(TransactionIcon, Component)
2016-06-21 13:18:32 -07:00
function TransactionIcon () {
Component.call(this)
}
2016-06-21 13:18:32 -07:00
TransactionIcon.prototype.render = function () {
2016-06-21 13:56:04 -07:00
const { transaction, txParams, isMsg } = this.props
2017-01-13 10:44:22 -08:00
switch (transaction.status) {
case 'unapproved':
return h( !isMsg ? '.unapproved-tx-icon' : 'i.fa.fa-certificate.fa-lg', {
2017-01-13 10:44:22 -08:00
style: {
width: '24px',
},
})
2017-01-13 10:44:22 -08:00
case 'rejected':
return h('i.fa.fa-exclamation-triangle.fa-lg.warning', {
style: {
width: '24px',
},
})
2017-01-13 10:44:22 -08:00
case 'failed':
return h('i.fa.fa-exclamation-triangle.fa-lg.error', {
style: {
width: '24px',
},
})
case 'submitted':
2017-01-13 10:44:22 -08:00
return h('i.fa.fa-ellipsis-h', {
style: {
fontSize: '27px',
},
})
}
if (isMsg) {
return h('i.fa.fa-certificate.fa-lg', {
style: {
width: '24px',
2016-06-21 13:18:32 -07:00
},
})
}
if (txParams.to) {
return h(Identicon, {
diameter: 24,
address: txParams.to || transaction.hash,
})
} else {
return h('i.fa.fa-file-text-o.fa-lg', {
style: {
width: '24px',
2016-06-21 13:18:32 -07:00
},
})
}
}