aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWhymarrh Whitby <whymarrh.whitby@gmail.com>2018-09-09 07:18:26 +0800
committerWhymarrh Whitby <whymarrh.whitby@gmail.com>2018-09-09 07:20:31 +0800
commit9662f9b8b5cdb28e46dbbe1288966a75bb500b8d (patch)
tree75520eb1716ba40b40c99e78d364cccaf7a3df35
parent47b32682f33b3f1a3757ea10c2d7e4a04fa584b1 (diff)
downloadtangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar.gz
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar.bz2
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar.lz
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar.xz
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.tar.zst
tangerine-wallet-browser-9662f9b8b5cdb28e46dbbe1288966a75bb500b8d.zip
Show failed tx RPC error messages in tooltips
This changeset displays the error messages attached to txMeta for a failed tx in a tooltip on hover in the tx list view. This will only display for txs with the `txMeta.err.rpc.value` property, not all failed txs.
-rw-r--r--ui/app/components/transaction-list-item/transaction-list-item.component.js5
-rw-r--r--ui/app/components/transaction-status/transaction-status.component.js12
2 files changed, 15 insertions, 2 deletions
diff --git a/ui/app/components/transaction-list-item/transaction-list-item.component.js b/ui/app/components/transaction-list-item/transaction-list-item.component.js
index 4fddd45ef..140763fba 100644
--- a/ui/app/components/transaction-list-item/transaction-list-item.component.js
+++ b/ui/app/components/transaction-list-item/transaction-list-item.component.js
@@ -131,6 +131,11 @@ export default class TransactionListItem extends PureComponent {
<TransactionStatus
className="transaction-list-item__status"
statusKey={transaction.status}
+ title={(
+ (transaction.err && transaction.err.rpc)
+ ? transaction.err.rpc.message
+ : null
+ )}
/>
{ this.renderPrimaryCurrency() }
{ this.renderSecondaryCurrency() }
diff --git a/ui/app/components/transaction-status/transaction-status.component.js b/ui/app/components/transaction-status/transaction-status.component.js
index a4c827ae8..c22baf18a 100644
--- a/ui/app/components/transaction-status/transaction-status.component.js
+++ b/ui/app/components/transaction-status/transaction-status.component.js
@@ -1,6 +1,7 @@
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'
+import Tooltip from '../tooltip-v2'
import {
UNAPPROVED_STATUS,
REJECTED_STATUS,
@@ -29,6 +30,10 @@ const statusToTextHash = {
}
export default class TransactionStatus extends PureComponent {
+ static defaultProps = {
+ title: null,
+ }
+
static contextTypes = {
t: PropTypes.func,
}
@@ -36,15 +41,18 @@ export default class TransactionStatus extends PureComponent {
static propTypes = {
statusKey: PropTypes.string,
className: PropTypes.string,
+ title: PropTypes.string,
}
render () {
- const { className, statusKey } = this.props
+ const { className, statusKey, title } = this.props
const statusText = this.context.t(statusToTextHash[statusKey] || statusKey)
return (
<div className={classnames('transaction-status', className, statusToClassNameHash[statusKey])}>
- { statusText }
+ <Tooltip position="top" title={title}>
+ { statusText }
+ </Tooltip>
</div>
)
}