Skip to content

Commit e68c588

Browse files
Add for native value display
1 parent 0e39709 commit e68c588

File tree

2 files changed

+40
-27
lines changed

2 files changed

+40
-27
lines changed

ui/pages/confirmations/components/confirm/info/typed-sign/typed-sign-v4-simulation/native-value-display/native-value-display.tsx

+28-13
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,31 @@
1-
import { BigNumber } from 'bignumber.js';
21
import { Hex } from '@metamask/utils';
2+
import { BigNumber } from 'bignumber.js';
33
import React, { useMemo } from 'react';
44
import { useSelector } from 'react-redux';
5-
65
import { TokenStandard } from '../../../../../../../../../shared/constants/transaction';
76
import { calcTokenAmount } from '../../../../../../../../../shared/lib/transactions-controller-utils';
87
import {
98
Box,
109
Text,
1110
} from '../../../../../../../../components/component-library';
11+
import Tooltip from '../../../../../../../../components/ui/tooltip';
1212
import {
1313
BlockSize,
1414
BorderRadius,
1515
Display,
1616
JustifyContent,
1717
TextAlign,
1818
} from '../../../../../../../../helpers/constants/design-system';
19-
import Tooltip from '../../../../../../../../components/ui/tooltip';
2019
import { shortenString } from '../../../../../../../../helpers/utils/util';
20+
import { useI18nContext } from '../../../../../../../../hooks/useI18nContext';
2121
import { selectConversionRateByChainId } from '../../../../../../../../selectors';
2222
import { AssetPill } from '../../../../../simulation-details/asset-pill';
23+
import { IndividualFiatDisplay } from '../../../../../simulation-details/fiat-display';
2324
import {
2425
formatAmount,
2526
formatAmountMaxPrecision,
2627
} from '../../../../../simulation-details/formatAmount';
27-
import { IndividualFiatDisplay } from '../../../../../simulation-details/fiat-display';
28+
import { UNLIMITED_THRESHOLD } from '../../../approve/hooks/use-approve-token-simulation';
2829
import { getAmountColors } from '../../../utils';
2930

3031
const NATIVE_DECIMALS = 18;
@@ -49,13 +50,24 @@ const NativeValueDisplay: React.FC<PermitSimulationValueDisplayParams> = ({
4950
credit,
5051
debit,
5152
}) => {
53+
const t = useI18nContext();
54+
5255
const conversionRate = useSelector((state) =>
5356
selectConversionRateByChainId(state, chainId),
5457
);
5558

56-
const { fiatValue, tokenValue, tokenValueMaxPrecision } = useMemo(() => {
59+
const {
60+
fiatValue,
61+
tokenValue,
62+
tokenValueMaxPrecision,
63+
shouldShowUnlimitedValue,
64+
} = useMemo(() => {
5765
if (!value) {
58-
return { tokenValue: null, tokenValueMaxPrecision: null };
66+
return {
67+
tokenValue: null,
68+
tokenValueMaxPrecision: null,
69+
shouldShowUnlimitedValue: false,
70+
};
5971
}
6072

6173
const tokenAmount = calcTokenAmount(value, NATIVE_DECIMALS);
@@ -66,6 +78,7 @@ const NativeValueDisplay: React.FC<PermitSimulationValueDisplayParams> = ({
6678
: undefined,
6779
tokenValue: formatAmount('en-US', tokenAmount),
6880
tokenValueMaxPrecision: formatAmountMaxPrecision('en-US', tokenAmount),
81+
shouldShowUnlimitedValue: Number(value) > UNLIMITED_THRESHOLD,
6982
};
7083
}, [conversionRate, value]);
7184

@@ -96,13 +109,15 @@ const NativeValueDisplay: React.FC<PermitSimulationValueDisplayParams> = ({
96109
>
97110
{credit && '+ '}
98111
{debit && '- '}
99-
{tokenValue !== null &&
100-
shortenString(tokenValue || '', {
101-
truncatedCharLimit: 15,
102-
truncatedStartChars: 15,
103-
truncatedEndChars: 0,
104-
skipCharacterInEnd: true,
105-
})}
112+
{shouldShowUnlimitedValue
113+
? t('unlimited')
114+
: tokenValue !== null &&
115+
shortenString(tokenValue || '', {
116+
truncatedCharLimit: 15,
117+
truncatedStartChars: 15,
118+
truncatedEndChars: 0,
119+
skipCharacterInEnd: true,
120+
})}
106121
</Text>
107122
</Tooltip>
108123
</Box>

ui/pages/confirmations/components/confirm/info/typed-sign/typed-sign-v4-simulation/value-display/value-display.tsx

+12-14
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
1-
import React, { useMemo } from 'react';
21
import { NameType } from '@metamask/name-controller';
32
import { Hex } from '@metamask/utils';
43
import { captureException } from '@sentry/browser';
5-
4+
import React, { useMemo } from 'react';
65
import { MetaMetricsEventLocation } from '../../../../../../../../../shared/constants/metametrics';
7-
import { shortenString } from '../../../../../../../../helpers/utils/util';
86
import { calcTokenAmount } from '../../../../../../../../../shared/lib/transactions-controller-utils';
97
import useTokenExchangeRate from '../../../../../../../../components/app/currency-input/hooks/useTokenExchangeRate';
10-
import { IndividualFiatDisplay } from '../../../../../simulation-details/fiat-display';
11-
import {
12-
formatAmount,
13-
formatAmountMaxPrecision,
14-
} from '../../../../../simulation-details/formatAmount';
15-
import { useGetTokenStandardAndDetails } from '../../../../../../hooks/useGetTokenStandardAndDetails';
16-
import useTrackERC20WithoutDecimalInformation from '../../../../../../hooks/useTrackERC20WithoutDecimalInformation';
17-
8+
import Name from '../../../../../../../../components/app/name/name';
189
import {
1910
Box,
2011
Text,
@@ -27,11 +18,18 @@ import {
2718
JustifyContent,
2819
TextAlign,
2920
} from '../../../../../../../../helpers/constants/design-system';
30-
import Name from '../../../../../../../../components/app/name/name';
31-
import { TokenDetailsERC20 } from '../../../../../../utils/token';
32-
import { getAmountColors } from '../../../utils';
21+
import { shortenString } from '../../../../../../../../helpers/utils/util';
3322
import { useI18nContext } from '../../../../../../../../hooks/useI18nContext';
23+
import { useGetTokenStandardAndDetails } from '../../../../../../hooks/useGetTokenStandardAndDetails';
24+
import useTrackERC20WithoutDecimalInformation from '../../../../../../hooks/useTrackERC20WithoutDecimalInformation';
25+
import { TokenDetailsERC20 } from '../../../../../../utils/token';
26+
import { IndividualFiatDisplay } from '../../../../../simulation-details/fiat-display';
27+
import {
28+
formatAmount,
29+
formatAmountMaxPrecision,
30+
} from '../../../../../simulation-details/formatAmount';
3431
import { UNLIMITED_THRESHOLD } from '../../../approve/hooks/use-approve-token-simulation';
32+
import { getAmountColors } from '../../../utils';
3533

3634
type PermitSimulationValueDisplayParams = {
3735
/** ID of the associated chain. */

0 commit comments

Comments
 (0)