Commit e2d67563 authored by tom's avatar tom

fix account menu text for token info item

parent ef5cd3f7
...@@ -35,7 +35,8 @@ const AddressActions = ({ isLoading }: Props) => { ...@@ -35,7 +35,8 @@ const AddressActions = ({ isLoading }: Props) => {
</MenuButton> </MenuButton>
</Skeleton> </Skeleton>
<MenuList minWidth="180px" zIndex="popover"> <MenuList minWidth="180px" zIndex="popover">
{ isTokenPage && appConfig.contractInfoApi.endpoint && appConfig.adminServiceApi.endpoint && <TokenInfoMenuItem py={ 2 } px={ 4 } hash={ hash }/> } { isTokenPage && appConfig.contractInfoApi.endpoint && appConfig.adminServiceApi.endpoint && appConfig.isAccountSupported &&
<TokenInfoMenuItem py={ 2 } px={ 4 } hash={ hash }/> }
<PrivateTagMenuItem py={ 2 } px={ 4 } hash={ hash }/> <PrivateTagMenuItem py={ 2 } px={ 4 } hash={ hash }/>
<PublicTagMenuItem py={ 2 } px={ 4 } hash={ hash }/> <PublicTagMenuItem py={ 2 } px={ 4 } hash={ hash }/>
</MenuList> </MenuList>
......
import { MenuItem, Icon, chakra, useDisclosure } from '@chakra-ui/react'; import { MenuItem, Icon, chakra, useDisclosure } from '@chakra-ui/react';
import { useQueryClient } from '@tanstack/react-query';
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import React from 'react'; import React from 'react';
import appConfig from 'configs/app/config'; import appConfig from 'configs/app/config';
import iconEdit from 'icons/edit.svg'; import iconEdit from 'icons/edit.svg';
import useApiQuery from 'lib/api/useApiQuery'; import useApiQuery, { getResourceKey } from 'lib/api/useApiQuery';
import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth'; import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth';
import AddressVerificationModal from 'ui/addressVerification/AddressVerificationModal'; import AddressVerificationModal from 'ui/addressVerification/AddressVerificationModal';
...@@ -17,6 +18,7 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => { ...@@ -17,6 +18,7 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => {
const router = useRouter(); const router = useRouter();
const modal = useDisclosure(); const modal = useDisclosure();
const redirectIfNotAuth = useRedirectIfNotAuth(); const redirectIfNotAuth = useRedirectIfNotAuth();
const queryClient = useQueryClient();
const verifiedAddressesQuery = useApiQuery('verified_addresses', { const verifiedAddressesQuery = useApiQuery('verified_addresses', {
pathParams: { chainId: appConfig.network.id }, pathParams: { chainId: appConfig.network.id },
...@@ -48,21 +50,25 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => { ...@@ -48,21 +50,25 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => {
const icon = <Icon as={ iconEdit } boxSize={ 6 } mr={ 2 } p={ 1 }/>; const icon = <Icon as={ iconEdit } boxSize={ 6 } mr={ 2 } p={ 1 }/>;
const content = (() => { const content = (() => {
const verifiedTokenInfo = queryClient.getQueryData(getResourceKey('token_verified_info', { pathParams: { hash, chainId: appConfig.network.id } }));
if (!verifiedAddressesQuery.data?.verifiedAddresses.find(({ contractAddress }) => contractAddress.toLowerCase() === hash.toLowerCase())) { if (!verifiedAddressesQuery.data?.verifiedAddresses.find(({ contractAddress }) => contractAddress.toLowerCase() === hash.toLowerCase())) {
return ( return (
<MenuItem className={ className } onClick={ handleAddAddressClick }> <MenuItem className={ className } onClick={ handleAddAddressClick }>
{ icon } { icon }
<span>Add token info</span> <span>{ verifiedTokenInfo ? 'Update token info' : 'Add token info' }</span>
</MenuItem> </MenuItem>
); );
} }
const hasApplication = applicationsQuery.data?.submissions.some(({ tokenAddress }) => tokenAddress.toLowerCase() === hash.toLowerCase());
return ( return (
<MenuItem className={ className } onClick={ handleAddApplicationClick }> <MenuItem className={ className } onClick={ handleAddApplicationClick }>
{ icon } { icon }
<span> <span>
{ {
applicationsQuery.data?.submissions.some(({ tokenAddress }) => tokenAddress.toLowerCase() === hash.toLowerCase()) ? hasApplication || verifiedTokenInfo ?
'Update token info' : 'Update token info' :
'Add token info' 'Add token info'
} }
......
import { Text, Flex, Icon, useColorModeValue, Skeleton } from '@chakra-ui/react'; import { Flex, Icon, useColorModeValue, Skeleton } from '@chakra-ui/react';
import BigNumber from 'bignumber.js'; import BigNumber from 'bignumber.js';
import React from 'react'; import React from 'react';
...@@ -63,13 +63,11 @@ const TokenTransferListItem = ({ ...@@ -63,13 +63,11 @@ const TokenTransferListItem = ({
</Address> </Address>
</Flex> </Flex>
{ timestamp && ( { timestamp && (
<Text variant="secondary" fontWeight="400" fontSize="sm"> <Skeleton isLoaded={ !isLoading } display="inline-block" fontWeight="400" fontSize="sm" color="text_secondary">
<Skeleton isLoaded={ !isLoading } display="inline-block"> <span>
<span> { timeAgo }
{ timeAgo } </span>
</span> </Skeleton>
</Skeleton>
</Text>
) } ) }
</Flex> </Flex>
{ method && <Tag isLoading={ isLoading }>{ method }</Tag> } { method && <Tag isLoading={ isLoading }>{ method }</Tag> }
......
...@@ -38,7 +38,7 @@ const TokenVerifiedInfo = ({ verifiedInfoQuery, isVerifiedInfoEnabled, hash }: P ...@@ -38,7 +38,7 @@ const TokenVerifiedInfo = ({ verifiedInfoQuery, isVerifiedInfoEnabled, hash }: P
} }
if (isError) { if (isError) {
return null; return explorers;
} }
const websiteLink = (() => { const websiteLink = (() => {
......
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