aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-10-18 08:30:07 +0800
committerGitHub <noreply@github.com>2018-10-18 08:30:07 +0800
commitc2f97717c0fbf9a64cf527891f7a1f35049fb023 (patch)
treef62dabf7a62798ad82641305422fb4e0bcc0a74a /ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js
parent85884b21afe6e5e85b58123b24e72776d1437cc6 (diff)
parent17372e150d7070e9f4870e65a7d6c1d88568f2f5 (diff)
downloadtangerine-wallet-browser-c2f97717c0fbf9a64cf527891f7a1f35049fb023.tar.gz
tangerine-wallet-browser-c2f97717c0fbf9a64cf527891f7a1f35049fb023.tar.zst
tangerine-wallet-browser-c2f97717c0fbf9a64cf527891f7a1f35049fb023.zip
Merge pull request #5539 from MetaMask/v4.16.0
Version 4.16.0
Diffstat (limited to 'ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js')
-rw-r--r--ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js b/ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js
new file mode 100644
index 000000000..23240c649
--- /dev/null
+++ b/ui/app/components/user-preferenced-currency-display/user-preferenced-currency-display.container.js
@@ -0,0 +1,52 @@
+import { connect } from 'react-redux'
+import UserPreferencedCurrencyDisplay from './user-preferenced-currency-display.component'
+import { preferencesSelector } from '../../selectors'
+import { ETH, PRIMARY, SECONDARY } from '../../constants/common'
+
+const mapStateToProps = (state, ownProps) => {
+ const { useETHAsPrimaryCurrency } = preferencesSelector(state)
+
+ return {
+ useETHAsPrimaryCurrency,
+ }
+}
+
+const mergeProps = (stateProps, dispatchProps, ownProps) => {
+ const { useETHAsPrimaryCurrency, ...restStateProps } = stateProps
+ const {
+ type,
+ numberOfDecimals: propsNumberOfDecimals,
+ ethNumberOfDecimals,
+ fiatNumberOfDecimals,
+ ethPrefix,
+ fiatPrefix,
+ prefix: propsPrefix,
+ ...restOwnProps
+ } = ownProps
+
+ let currency, numberOfDecimals, prefix
+
+ if (type === PRIMARY && useETHAsPrimaryCurrency ||
+ type === SECONDARY && !useETHAsPrimaryCurrency) {
+ // Display ETH
+ currency = ETH
+ numberOfDecimals = propsNumberOfDecimals || ethNumberOfDecimals || 6
+ prefix = propsPrefix || ethPrefix
+ } else if (type === SECONDARY && useETHAsPrimaryCurrency ||
+ type === PRIMARY && !useETHAsPrimaryCurrency) {
+ // Display Fiat
+ numberOfDecimals = propsNumberOfDecimals || fiatNumberOfDecimals || 2
+ prefix = propsPrefix || fiatPrefix
+ }
+
+ return {
+ ...restStateProps,
+ ...dispatchProps,
+ ...restOwnProps,
+ currency,
+ numberOfDecimals,
+ prefix,
+ }
+}
+
+export default connect(mapStateToProps, null, mergeProps)(UserPreferencedCurrencyDisplay)