Commit b220d03c authored by tom's avatar tom

add icons to menu

parent 4681f509
...@@ -31,8 +31,8 @@ const AddressActions = () => { ...@@ -31,8 +31,8 @@ const AddressActions = () => {
</MenuButton> </MenuButton>
<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 && <TokenInfoMenuItem py={ 2 } px={ 4 } hash={ hash }/> }
<PublicTagMenuItem 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 }/>
</MenuList> </MenuList>
</Menu> </Menu>
); );
......
import { MenuItem, chakra, useDisclosure } from '@chakra-ui/react'; import { MenuItem, Icon, chakra, useDisclosure } from '@chakra-ui/react';
import { useQueryClient } from '@tanstack/react-query'; import { useQueryClient } from '@tanstack/react-query';
import React from 'react'; import React from 'react';
import type { Address } from 'types/api/address'; import type { Address } from 'types/api/address';
import iconPrivateTags from 'icons/privattags.svg';
import { getResourceKey } from 'lib/api/useApiQuery'; import { getResourceKey } from 'lib/api/useApiQuery';
import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth'; import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth';
import PrivateTagModal from 'ui/privateTags/AddressModal/AddressModal'; import PrivateTagModal from 'ui/privateTags/AddressModal/AddressModal';
...@@ -46,8 +47,9 @@ const PrivateTagMenuItem = ({ className, hash }: Props) => { ...@@ -46,8 +47,9 @@ const PrivateTagMenuItem = ({ className, hash }: Props) => {
return ( return (
<> <>
<MenuItem className={ className }onClick={ handleClick }> <MenuItem className={ className } onClick={ handleClick }>
Add private tag <Icon as={ iconPrivateTags } boxSize={ 6 } mr={ 2 }/>
<span>Add private tag</span>
</MenuItem> </MenuItem>
<PrivateTagModal isOpen={ modal.isOpen } onClose={ modal.onClose } onSuccess={ handleAddPrivateTag } data={ formData }/> <PrivateTagModal isOpen={ modal.isOpen } onClose={ modal.onClose } onSuccess={ handleAddPrivateTag } data={ formData }/>
</> </>
......
import { MenuItem, chakra } from '@chakra-ui/react'; import { MenuItem, Icon, chakra } from '@chakra-ui/react';
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import React from 'react'; import React from 'react';
import iconPublicTags from 'icons/publictags.svg';
import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth'; import useRedirectIfNotAuth from 'lib/hooks/useRedirectIfNotAuth';
interface Props { interface Props {
...@@ -23,7 +24,8 @@ const PublicTagMenuItem = ({ className, hash }: Props) => { ...@@ -23,7 +24,8 @@ const PublicTagMenuItem = ({ className, hash }: Props) => {
return ( return (
<MenuItem className={ className }onClick={ handleClick }> <MenuItem className={ className }onClick={ handleClick }>
Add public tag <Icon as={ iconPublicTags } boxSize={ 6 } mr={ 2 }/>
<span>Add public tag</span>
</MenuItem> </MenuItem>
); );
}; };
......
import { MenuItem, chakra, useDisclosure } from '@chakra-ui/react'; import { MenuItem, Icon, chakra, useDisclosure } from '@chakra-ui/react';
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 useApiQuery from 'lib/api/useApiQuery'; import useApiQuery 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';
...@@ -44,22 +45,28 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => { ...@@ -44,22 +45,28 @@ const TokenInfoMenuItem = ({ className, hash }: Props) => {
router.push({ pathname: '/account/verified_addresses' }); router.push({ pathname: '/account/verified_addresses' });
}, [ router ]); }, [ router ]);
const icon = <Icon as={ iconEdit } boxSize={ 6 } mr={ 2 } p={ 1 }/>;
const content = (() => { const content = (() => {
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 }>
Add token info { icon }
<span>Add token info</span>
</MenuItem> </MenuItem>
); );
} }
return ( return (
<MenuItem className={ className } onClick={ handleAddApplicationClick }> <MenuItem className={ className } onClick={ handleAddApplicationClick }>
{ { icon }
applicationsQuery.data?.submissions.some(({ tokenAddress }) => tokenAddress.toLowerCase() === hash.toLowerCase()) ? <span>
'Update token info' : {
'Add token info' applicationsQuery.data?.submissions.some(({ tokenAddress }) => tokenAddress.toLowerCase() === hash.toLowerCase()) ?
} 'Update token info' :
'Add token info'
}
</span>
</MenuItem> </MenuItem>
); );
})(); })();
......
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