import Copy from '@shared/atoms/Copy' import External from '@images/external.svg' import ExplorerLink from '@shared/ExplorerLink' import { NftMetadata } from '@utils/nft' import React, { ReactElement } from 'react' import styles from './NftTooltip.module.css' import explorerLinkStyles from '@shared/ExplorerLink/index.module.css' import { accountTruncate } from '@utils/web3' // Supported OpenSea networks: // https://support.opensea.io/hc/en-us/articles/4404027708051-Which-blockchains-does-OpenSea-support- const openSeaNetworks = [1, 137] const openSeaTestNetworks = [4] export default function NftTooltip({ nft, address, chainId, isBlockscoutExplorer }: { nft: NftMetadata address: string chainId: number isBlockscoutExplorer: boolean }): ReactElement { const openSeaSupported = openSeaNetworks .concat(openSeaTestNetworks) .includes(chainId) const openSeaBaseUri = openSeaSupported ? openSeaTestNetworks.includes(chainId) ? 'https://testnets.opensea.io' : 'https://opensea.io' : undefined const openSeaUrl = `${openSeaBaseUri}/assets/${ chainId === 137 ? 'matic' : '' }/${address}/1` return (
{nft && {nft?.name}}
{nft &&
{nft.name}
} {address && ( {accountTruncate(address)} )}
{address && ( View on Explorer )} {openSeaSupported && address && ( View on OpenSea )}
{!nft?.image_data && !nft?.image && (

This Data NFT has no image set.

)}
) }