Commit 54b63a3e authored by Max Alekseenko's avatar Max Alekseenko

use bens api for domain query

parent 981f1fce
...@@ -231,6 +231,12 @@ export const RESOURCES = { ...@@ -231,6 +231,12 @@ export const RESOURCES = {
basePath: getFeaturePayload(config.features.nameService)?.api.basePath, basePath: getFeaturePayload(config.features.nameService)?.api.basePath,
filterFields: [ 'address' as const, 'resolved_to' as const, 'owned_by' as const, 'only_active' as const, 'protocols' as const ], filterFields: [ 'address' as const, 'resolved_to' as const, 'owned_by' as const, 'only_active' as const, 'protocols' as const ],
}, },
address_domain: {
path: '/api/v1/:chainId/addresses/:address',
pathParams: [ 'chainId' as const, 'address' as const ],
endpoint: getFeaturePayload(config.features.nameService)?.api.endpoint,
basePath: getFeaturePayload(config.features.nameService)?.api.basePath,
},
domain_info: { domain_info: {
path: '/api/v1/:chainId/domains/:name', path: '/api/v1/:chainId/domains/:name',
pathParams: [ 'chainId' as const, 'name' as const ], pathParams: [ 'chainId' as const, 'name' as const ],
...@@ -1081,6 +1087,7 @@ Q extends 'zksync_l2_txn_batch' ? ZkSyncBatch : ...@@ -1081,6 +1087,7 @@ Q extends 'zksync_l2_txn_batch' ? ZkSyncBatch :
Q extends 'zksync_l2_txn_batch_txs' ? ZkSyncBatchTxs : Q extends 'zksync_l2_txn_batch_txs' ? ZkSyncBatchTxs :
Q extends 'contract_security_audits' ? SmartContractSecurityAudits : Q extends 'contract_security_audits' ? SmartContractSecurityAudits :
Q extends 'addresses_lookup' ? bens.LookupAddressResponse : Q extends 'addresses_lookup' ? bens.LookupAddressResponse :
Q extends 'address_domain' ? bens.GetAddressResponse :
Q extends 'domain_info' ? bens.DetailedDomain : Q extends 'domain_info' ? bens.DetailedDomain :
Q extends 'domain_events' ? bens.ListDomainEventsResponse : Q extends 'domain_events' ? bens.ListDomainEventsResponse :
Q extends 'domains_lookup' ? bens.LookupDomainNameResponse : Q extends 'domains_lookup' ? bens.LookupDomainNameResponse :
......
...@@ -2,10 +2,11 @@ import type { ButtonProps } from '@chakra-ui/react'; ...@@ -2,10 +2,11 @@ import type { ButtonProps } from '@chakra-ui/react';
import { PopoverContent, PopoverBody, PopoverTrigger, Button, Box, useBoolean, chakra, useColorModeValue } from '@chakra-ui/react'; import { PopoverContent, PopoverBody, PopoverTrigger, Button, Box, useBoolean, chakra, useColorModeValue } from '@chakra-ui/react';
import React from 'react'; import React from 'react';
import config from 'configs/app';
import useApiQuery from 'lib/api/useApiQuery';
import { useMarketplaceContext } from 'lib/contexts/marketplace'; import { useMarketplaceContext } from 'lib/contexts/marketplace';
import useIsMobile from 'lib/hooks/useIsMobile'; import useIsMobile from 'lib/hooks/useIsMobile';
import * as mixpanel from 'lib/mixpanel/index'; import * as mixpanel from 'lib/mixpanel/index';
import useAddressQuery from 'ui/address/utils/useAddressQuery';
import Popover from 'ui/shared/chakra/Popover'; import Popover from 'ui/shared/chakra/Popover';
import HashStringShorten from 'ui/shared/HashStringShorten'; import HashStringShorten from 'ui/shared/HashStringShorten';
import IconSvg from 'ui/shared/IconSvg'; import IconSvg from 'ui/shared/IconSvg';
...@@ -40,7 +41,15 @@ export const WalletMenuDesktopComponent = ({ ...@@ -40,7 +41,15 @@ export const WalletMenuDesktopComponent = ({
const [ isPopoverOpen, setIsPopoverOpen ] = useBoolean(false); const [ isPopoverOpen, setIsPopoverOpen ] = useBoolean(false);
const isMobile = useIsMobile(); const isMobile = useIsMobile();
const { isAutoConnectDisabled } = useMarketplaceContext(); const { isAutoConnectDisabled } = useMarketplaceContext();
const addressQuery = useAddressQuery({ hash: address }); const addressDomainQuery = useApiQuery('address_domain', {
pathParams: {
chainId: config.chain.id,
address,
},
queryOptions: {
enabled: config.features.nameService.isEnabled,
},
});
const variant = React.useMemo(() => { const variant = React.useMemo(() => {
if (isWalletConnected) { if (isWalletConnected) {
...@@ -99,7 +108,7 @@ export const WalletMenuDesktopComponent = ({ ...@@ -99,7 +108,7 @@ export const WalletMenuDesktopComponent = ({
flexShrink={ 0 } flexShrink={ 0 }
isLoading={ isLoading={
((isModalOpening || isModalOpen) && !isWalletConnected) || ((isModalOpening || isModalOpen) && !isWalletConnected) ||
(addressQuery.isPlaceholderData && isWalletConnected) (addressDomainQuery.isLoading && isWalletConnected)
} }
loadingText="Connect wallet" loadingText="Connect wallet"
onClick={ isWalletConnected ? openPopover : connect } onClick={ isWalletConnected ? openPopover : connect }
...@@ -111,8 +120,8 @@ export const WalletMenuDesktopComponent = ({ ...@@ -111,8 +120,8 @@ export const WalletMenuDesktopComponent = ({
{ isWalletConnected ? ( { isWalletConnected ? (
<> <>
<WalletIdenticon address={ address } isAutoConnectDisabled={ isAutoConnectDisabled } mr={ 2 }/> <WalletIdenticon address={ address } isAutoConnectDisabled={ isAutoConnectDisabled } mr={ 2 }/>
{ addressQuery.data?.ens_domain_name ? ( { addressDomainQuery.data?.domain?.name ? (
<chakra.span>{ addressQuery.data.ens_domain_name }</chakra.span> <chakra.span>{ addressDomainQuery.data.domain?.name }</chakra.span>
) : ( ) : (
<HashStringShorten hash={ address } isTooltipDisabled/> <HashStringShorten hash={ address } isTooltipDisabled/>
) } ) }
...@@ -132,7 +141,7 @@ export const WalletMenuDesktopComponent = ({ ...@@ -132,7 +141,7 @@ export const WalletMenuDesktopComponent = ({
<PopoverBody padding="24px 16px 16px 16px"> <PopoverBody padding="24px 16px 16px 16px">
<WalletMenuContent <WalletMenuContent
address={ address } address={ address }
ensDomainName={ addressQuery.data?.ens_domain_name } ensDomainName={ addressDomainQuery.data?.domain?.name }
disconnect={ disconnect } disconnect={ disconnect }
isAutoConnectDisabled={ isAutoConnectDisabled } isAutoConnectDisabled={ isAutoConnectDisabled }
openWeb3Modal={ openModal } openWeb3Modal={ openModal }
......
import { Drawer, DrawerOverlay, DrawerContent, DrawerBody, useDisclosure, IconButton } from '@chakra-ui/react'; import { Drawer, DrawerOverlay, DrawerContent, DrawerBody, useDisclosure, IconButton } from '@chakra-ui/react';
import React from 'react'; import React from 'react';
import config from 'configs/app';
import useApiQuery from 'lib/api/useApiQuery';
import { useMarketplaceContext } from 'lib/contexts/marketplace'; import { useMarketplaceContext } from 'lib/contexts/marketplace';
import useIsMobile from 'lib/hooks/useIsMobile'; import useIsMobile from 'lib/hooks/useIsMobile';
import * as mixpanel from 'lib/mixpanel/index'; import * as mixpanel from 'lib/mixpanel/index';
import useAddressQuery from 'ui/address/utils/useAddressQuery';
import IconSvg from 'ui/shared/IconSvg'; import IconSvg from 'ui/shared/IconSvg';
import useWallet from 'ui/snippets/walletMenu/useWallet'; import useWallet from 'ui/snippets/walletMenu/useWallet';
import WalletMenuContent from 'ui/snippets/walletMenu/WalletMenuContent'; import WalletMenuContent from 'ui/snippets/walletMenu/WalletMenuContent';
...@@ -30,7 +31,15 @@ export const WalletMenuMobileComponent = ( ...@@ -30,7 +31,15 @@ export const WalletMenuMobileComponent = (
const { themedBackground, themedBackgroundOrange, themedBorderColor, themedColor } = useMenuButtonColors(); const { themedBackground, themedBackgroundOrange, themedBorderColor, themedColor } = useMenuButtonColors();
const isMobile = useIsMobile(); const isMobile = useIsMobile();
const { isAutoConnectDisabled } = useMarketplaceContext(); const { isAutoConnectDisabled } = useMarketplaceContext();
const addressQuery = useAddressQuery({ hash: address }); const addressDomainQuery = useApiQuery('address_domain', {
pathParams: {
chainId: config.chain.id,
address,
},
queryOptions: {
enabled: config.features.nameService.isEnabled,
},
});
const openPopover = React.useCallback(() => { const openPopover = React.useCallback(() => {
mixpanel.logEvent(mixpanel.EventTypes.WALLET_ACTION, { Action: 'Open' }); mixpanel.logEvent(mixpanel.EventTypes.WALLET_ACTION, { Action: 'Open' });
...@@ -63,7 +72,7 @@ export const WalletMenuMobileComponent = ( ...@@ -63,7 +72,7 @@ export const WalletMenuMobileComponent = (
onClick={ isWalletConnected ? openPopover : connect } onClick={ isWalletConnected ? openPopover : connect }
isLoading={ isLoading={
((isModalOpening || isModalOpen) && !isWalletConnected) || ((isModalOpening || isModalOpen) && !isWalletConnected) ||
(addressQuery.isPlaceholderData && isWalletConnected) (addressDomainQuery.isLoading && isWalletConnected)
} }
/> />
</WalletTooltip> </WalletTooltip>
...@@ -79,7 +88,7 @@ export const WalletMenuMobileComponent = ( ...@@ -79,7 +88,7 @@ export const WalletMenuMobileComponent = (
<DrawerBody p={ 6 }> <DrawerBody p={ 6 }>
<WalletMenuContent <WalletMenuContent
address={ address } address={ address }
ensDomainName={ addressQuery.data?.ens_domain_name } ensDomainName={ addressDomainQuery.data?.domain?.name }
disconnect={ disconnect } disconnect={ disconnect }
isAutoConnectDisabled={ isAutoConnectDisabled } isAutoConnectDisabled={ isAutoConnectDisabled }
openWeb3Modal={ openModal } openWeb3Modal={ openModal }
......
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