1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-28 05:12:18 +01:00
metamask-extension/ui/components/app/user-preferenced-currency-display/user-preferenced-currency-display.component.js
Etienne Dusseault 4c341d83ab
Add Approval Confirmation Screen component to Storybook (#10998)
* add metametrics wrapper

* add history dep

* provide test data and mock react router

* add first confirmaion screen

* figure out a way to mock match.params

* render token approval with data

* fix lockfile

* fix lint

* remove use effect

* lintfix

* add . for src paths

* litfix

* Add knobs to change redux store for confirm-approve component (Storybook) (#11135)

* add knob for domain

* knobify

* remove logs

* remove comment

* lintfix

* fix comments

* add background calls + metriccs event to storybook acctions

* lintfixxxx
2021-05-25 08:20:09 +08:00

63 lines
1.8 KiB
JavaScript

import React, { useMemo } from 'react';
import PropTypes from 'prop-types';
import { PRIMARY, SECONDARY, ETH } from '../../../helpers/constants/common';
import CurrencyDisplay from '../../ui/currency-display';
import { useUserPreferencedCurrency } from '../../../hooks/useUserPreferencedCurrency';
export default function UserPreferencedCurrencyDisplay({
'data-testid': dataTestId,
ethLogoHeight = 12,
ethNumberOfDecimals,
fiatNumberOfDecimals,
'numberOfDecimals': propsNumberOfDecimals,
showEthLogo,
type,
...restProps
}) {
const { currency, numberOfDecimals } = useUserPreferencedCurrency(type, {
ethNumberOfDecimals,
fiatNumberOfDecimals,
numberOfDecimals: propsNumberOfDecimals,
});
const prefixComponent = useMemo(() => {
return (
currency === ETH &&
showEthLogo && (
<img src="./images/eth.svg" height={ethLogoHeight} alt="" />
)
);
}, [currency, showEthLogo, ethLogoHeight]);
return (
<CurrencyDisplay
{...restProps}
currency={currency}
data-testid={dataTestId}
numberOfDecimals={numberOfDecimals}
prefixComponent={prefixComponent}
/>
);
}
UserPreferencedCurrencyDisplay.propTypes = {
'className': PropTypes.string,
'data-testid': PropTypes.string,
'prefix': PropTypes.string,
'value': PropTypes.string,
'numberOfDecimals': PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
'hideLabel': PropTypes.bool,
'hideTitle': PropTypes.bool,
'style': PropTypes.object,
'showEthLogo': PropTypes.bool,
'ethLogoHeight': PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
'type': PropTypes.oneOf([PRIMARY, SECONDARY]),
'ethNumberOfDecimals': PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
]),
'fiatNumberOfDecimals': PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
]),
};