aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/accounts
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2016-05-26 07:54:43 +0800
committerDan Finlay <dan@danfinlay.com>2016-05-26 07:54:43 +0800
commit5669f44300fc0493ce2c1221f0c5531eb3850882 (patch)
tree07d36638c98cf0c8a6a450cdf0d1b05d0d442236 /ui/app/accounts
parent294b16a275d35983eb9f0e720a84ef95e0fad186 (diff)
downloadtangerine-wallet-browser-5669f44300fc0493ce2c1221f0c5531eb3850882.tar.gz
tangerine-wallet-browser-5669f44300fc0493ce2c1221f0c5531eb3850882.tar.zst
tangerine-wallet-browser-5669f44300fc0493ce2c1221f0c5531eb3850882.zip
Add number indicating pending txs to account list
Diffstat (limited to 'ui/app/accounts')
-rw-r--r--ui/app/accounts/account-panel.js7
-rw-r--r--ui/app/accounts/index.js16
2 files changed, 23 insertions, 0 deletions
diff --git a/ui/app/accounts/account-panel.js b/ui/app/accounts/account-panel.js
index 5ade7fe0e..8afb7308d 100644
--- a/ui/app/accounts/account-panel.js
+++ b/ui/app/accounts/account-panel.js
@@ -34,6 +34,7 @@ NewComponent.prototype.render = function() {
}, [
h('.identicon-wrapper.flex-column.flex-center.select-none', [
+ this.pendingOrNot(),
h(Identicon, {
address: identity.address
}),
@@ -61,3 +62,9 @@ NewComponent.prototype.render = function() {
])
)
}
+
+NewComponent.prototype.pendingOrNot = function() {
+ const pending = this.props.pending
+ if (pending.length === 0) return null
+ return h('.pending-dot', pending.length)
+}
diff --git a/ui/app/accounts/index.js b/ui/app/accounts/index.js
index 1a42f7470..9cfab54e5 100644
--- a/ui/app/accounts/index.js
+++ b/ui/app/accounts/index.js
@@ -12,6 +12,10 @@ module.exports = connect(mapStateToProps)(AccountsScreen)
function mapStateToProps(state) {
+ const pendingTxs = valuesFor(state.metamask.unconfTxs)
+ const pendingMsgs = valuesFor(state.metamask.unconfMsgs)
+ const pending = pendingTxs.concat(pendingMsgs)
+
return {
accounts: state.metamask.accounts,
identities: state.metamask.identities,
@@ -19,6 +23,7 @@ function mapStateToProps(state) {
selectedAddress: state.metamask.selectedAddress,
currentDomain: state.appState.currentDomain,
scrollToBottom: state.appState.scrollToBottom,
+ pending,
}
}
@@ -62,12 +67,23 @@ AccountsScreen.prototype.render = function() {
},
[
identityList.map((identity) => {
+ const pending = this.props.pending.filter((txOrMsg) => {
+ if ('txParams' in txOrMsg) {
+ return txOrMsg.txParams.from === identity.address
+ } else if ('msgParams' in txOrMsg) {
+ return txOrMsg.msgParams.from === identity.address
+ } else {
+ return false
+ }
+ })
+
return h(AccountPanel, {
key: `acct-panel-${identity.address}`,
identity,
selectedAddress: this.props.selectedAddress,
accounts: this.props.accounts,
onShowDetail: this.onShowDetail.bind(this),
+ pending,
})
}),