1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-24 19:10:22 +01:00
metamask-extension/ui/app/components/transaction-list-item-icon.js

69 lines
1.4 KiB
JavaScript
Raw Normal View History

const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
const Tooltip = require('./tooltip')
const Identicon = require('./identicon')
module.exports = TransactionIcon
inherits(TransactionIcon, Component)
2016-06-21 22:18:32 +02:00
function TransactionIcon () {
Component.call(this)
}
2016-06-21 22:18:32 +02:00
TransactionIcon.prototype.render = function () {
2016-06-21 22:56:04 +02:00
const { transaction, txParams, isMsg } = this.props
2017-01-13 19:44:22 +01:00
switch (transaction.status) {
case 'unapproved':
2017-04-27 06:05:45 +02:00
return h(!isMsg ? '.unapproved-tx-icon' : 'i.fa.fa-certificate.fa-lg')
2017-01-13 19:44:22 +01:00
case 'rejected':
return h('i.fa.fa-exclamation-triangle.fa-lg.warning', {
style: {
width: '24px',
},
})
2017-01-13 19:44:22 +01:00
case 'failed':
return h('i.fa.fa-exclamation-triangle.fa-lg.error', {
style: {
width: '24px',
},
})
case 'submitted':
return h(Tooltip, {
title: 'Pending',
position: 'right',
2017-05-21 23:18:23 +02:00
}, [
h('i.fa.fa-ellipsis-h', {
style: {
fontSize: '27px',
},
2017-05-21 23:18:23 +02:00
}),
])
2017-01-13 19:44:22 +01:00
}
if (isMsg) {
return h('i.fa.fa-certificate.fa-lg', {
style: {
width: '24px',
2016-06-21 22:18:32 +02: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 22:18:32 +02:00
},
})
}
}