diff --git a/renderer/components/Activity/Transaction/Transaction.js b/renderer/components/Activity/Transaction/Transaction.js
index c352a86b3a2..316de4b451e 100644
--- a/renderer/components/Activity/Transaction/Transaction.js
+++ b/renderer/components/Activity/Transaction/Transaction.js
@@ -1,7 +1,9 @@
import React from 'react'
import PropTypes from 'prop-types'
+import findLast from 'lodash/findLast'
import { FormattedTime, FormattedMessage, injectIntl } from 'react-intl'
import { Box, Flex } from 'rebass/styled-components'
+import config from 'config'
import { intlShape } from '@zap/i18n'
import { Message, Text } from 'components/UI'
import ChainLink from 'components/Icon/ChainLink'
@@ -9,6 +11,14 @@ import { CryptoValue, FiatValue } from 'containers/UI'
import ErrorLink from '../ErrorLink'
import messages from './messages'
+const { pending, confirmed } = config.onchainFinality
+
+// finality to color mapping
+const DISPLAY_PARAMS = [
+ { finality: pending, msg: messages.pending, color: 'primaryAccent' },
+ { finality: confirmed, msg: messages.confirmed, color: 'superGreen' },
+]
+
const Transaction = ({ activity, showActivityModal, cryptoUnitName, intl, ...rest }) => {
const amount = activity.amount || activity.limboAmount || 0
const isIncoming = activity.received || activity.limboAmount > 0
@@ -18,6 +28,27 @@ const Transaction = ({ activity, showActivityModal, cryptoUnitName, intl, ...res
} else if (activity.isClosing) {
type = 'closing'
}
+ const renderConfirmations = () => {
+ const { num_confirmations } = activity
+
+ // returns color for the current number of confirmations
+ const getDisplayParams = () =>
+ findLast(DISPLAY_PARAMS, ({ finality }) => num_confirmations >= finality)
+
+ if (num_confirmations > confirmed) {
+ return (
+
+
+
+ )
+ }
+ const { color, msg } = getDisplayParams()
+ return (
+
+
+
+ )
+ }
return (
) : (
-
-
-
+ renderConfirmations()
)}