aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/transaction-status/transaction-status.component.js
diff options
context:
space:
mode:
authorAlexander Tseung <alextsg@gmail.com>2018-07-31 02:53:54 +0800
committerAlexander Tseung <alextsg@gmail.com>2018-08-24 07:44:43 +0800
commit40d4ac9ae1ed9557d066c184abd90e51a380cf06 (patch)
tree5eeb55cfd64af660af0cce72b0227e3174062b62 /ui/app/components/transaction-status/transaction-status.component.js
parent8a7547b9cd2d9e636883af55fd6382ebcbabf4f1 (diff)
downloadtangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar.gz
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar.bz2
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar.lz
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar.xz
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.tar.zst
tangerine-wallet-browser-40d4ac9ae1ed9557d066c184abd90e51a380cf06.zip
Add TransactionStatus component
Diffstat (limited to 'ui/app/components/transaction-status/transaction-status.component.js')
-rw-r--r--ui/app/components/transaction-status/transaction-status.component.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/ui/app/components/transaction-status/transaction-status.component.js b/ui/app/components/transaction-status/transaction-status.component.js
new file mode 100644
index 000000000..cf688558f
--- /dev/null
+++ b/ui/app/components/transaction-status/transaction-status.component.js
@@ -0,0 +1,44 @@
+import React, { PureComponent } from 'react'
+import PropTypes from 'prop-types'
+import classnames from 'classnames'
+
+const UNAPPROVED_STATUS = 'unapproved'
+const REJECTED_STATUS = 'rejected'
+const APPROVED_STATUS = 'approved'
+const SIGNED_STATUS = 'signed'
+const SUBMITTED_STATUS = 'submitted'
+const CONFIRMED_STATUS = 'confirmed'
+const FAILED_STATUS = 'failed'
+const DROPPED_STATUS = 'dropped'
+
+const statusToClassNameHash = {
+ [UNAPPROVED_STATUS]: 'transaction-status--unapproved',
+ [REJECTED_STATUS]: 'transaction-status--rejected',
+ [APPROVED_STATUS]: 'transaction-status--approved',
+ [SIGNED_STATUS]: 'transaction-status--signed',
+ [SUBMITTED_STATUS]: 'transaction-status--submitted',
+ [CONFIRMED_STATUS]: 'transaction-status--confirmed',
+ [FAILED_STATUS]: 'transaction-status--failed',
+ [DROPPED_STATUS]: 'transaction-status--dropped',
+}
+
+const statusToTextHash = {
+ [APPROVED_STATUS]: 'pending',
+ [SUBMITTED_STATUS]: 'pending',
+}
+
+export default class TransactionStatus extends PureComponent {
+ static propTypes = {
+ status: PropTypes.string,
+ }
+
+ render () {
+ const { status } = this.props
+
+ return (
+ <div className={classnames('transaction-status', statusToClassNameHash[status])}>
+ { statusToTextHash[status] || status }
+ </div>
+ )
+ }
+}