Commit 3e0f6e67 authored by isstuev's avatar isstuev

erc 404 fix

parent af7a835f
import { chakra } from '@chakra-ui/react';
import React from 'react';
import type { TokenInfo } from 'types/api/token';
import getCurrencyValue from 'lib/getCurrencyValue';
import TokenEntity from 'ui/shared/entities/token/TokenEntity';
interface Props {
token: TokenInfo;
value: string;
decimals: string | null;
}
const FtTokenTransferSnippet = ({ token, value, decimals }: Props) => {
const { valueStr, usd } = getCurrencyValue({
value: value,
exchangeRate: token.exchange_rate,
accuracyUsd: 2,
decimals: decimals,
});
return (
<>
<chakra.span color="text_secondary">for</chakra.span>
<span>{ valueStr }</span>
<TokenEntity
token={{ ...token, name: token.symbol || token.name }}
noCopy
noSymbol
w="auto"
/>
{ usd && <chakra.span color="text_secondary">(${ usd })</chakra.span> }
</>
);
};
export default React.memo(FtTokenTransferSnippet);
import { Flex, chakra } from '@chakra-ui/react'; import { Flex } from '@chakra-ui/react';
import React from 'react'; import React from 'react';
import type { import type {
...@@ -9,11 +9,11 @@ import type { ...@@ -9,11 +9,11 @@ import type {
Erc404TotalPayload, Erc404TotalPayload,
} from 'types/api/tokenTransfer'; } from 'types/api/tokenTransfer';
import getCurrencyValue from 'lib/getCurrencyValue';
import AddressFromTo from 'ui/shared/address/AddressFromTo'; import AddressFromTo from 'ui/shared/address/AddressFromTo';
import TokenEntity from 'ui/shared/entities/token/TokenEntity';
import NftTokenTransferSnippet from 'ui/tx/NftTokenTransferSnippet'; import NftTokenTransferSnippet from 'ui/tx/NftTokenTransferSnippet';
import FtTokenTransferSnippet from '../FtTokenTransferSnippet';
interface Props { interface Props {
data: TTokenTransfer; data: TTokenTransfer;
} }
...@@ -24,26 +24,7 @@ const TxDetailsTokenTransfer = ({ data }: Props) => { ...@@ -24,26 +24,7 @@ const TxDetailsTokenTransfer = ({ data }: Props) => {
switch (data.token.type) { switch (data.token.type) {
case 'ERC-20': { case 'ERC-20': {
const total = data.total as Erc20TotalPayload; const total = data.total as Erc20TotalPayload;
const { valueStr, usd } = getCurrencyValue({ return <FtTokenTransferSnippet token={ data.token } value={ total.value } decimals={ total.decimals }/>;
value: total.value,
exchangeRate: data.token.exchange_rate,
accuracyUsd: 2,
decimals: total.decimals,
});
return (
<>
<chakra.span color="text_secondary">for</chakra.span>
<span>{ valueStr }</span>
<TokenEntity
token={{ ...data.token, name: data.token.symbol || data.token.name }}
noCopy
noSymbol
w="auto"
/>
{ usd && <chakra.span color="text_secondary">(${ usd })</chakra.span> }
</>
);
} }
case 'ERC-721': { case 'ERC-721': {
...@@ -71,16 +52,22 @@ const TxDetailsTokenTransfer = ({ data }: Props) => { ...@@ -71,16 +52,22 @@ const TxDetailsTokenTransfer = ({ data }: Props) => {
case 'ERC-404': { case 'ERC-404': {
const total = data.total as Erc404TotalPayload; const total = data.total as Erc404TotalPayload;
return (
<NftTokenTransferSnippet if ('token_id' in total) {
token={ data.token } return (
tokenId={ 'token_id' in total ? total.token_id : null } <NftTokenTransferSnippet
value={ 'value' in total && total.value ? token={ data.token }
getCurrencyValue({ value: total.value, decimals: total.decimals || '0', accuracy: 2 }).valueStr : tokenId={ total.token_id }
'1' value="1"
} />
/> );
); } else {
if (total.value === null) {
return null;
}
return <FtTokenTransferSnippet token={ data.token } value={ total.value } decimals={ total.decimals }/>;
}
} }
} }
})(); })();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment