mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-04 23:14:56 +01:00
4c341d83ab
* 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
63 lines
1.8 KiB
JavaScript
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,
|
|
]),
|
|
};
|