mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* feat: add decodeTokenUri helper * refactor: restructure of MetaMain component * feat: add nft tooltip * feat: add opensea link for nfts * style: adjust nft image size in tooltip * feat: add nft data to publish preview * fix: readd owner to nft metadata * refactor: conditional display of nft tooltip * style: fix link styles in nft tooltip * feat: add placeholder graphic as fallback if nft data does not contain one * fix: display openSea link only on supported networks * fix: rename ddo props to asset in metamain related components * feat: add original publisher to asset details * chore: remove unused imports * fix: remove unused prop * feat: convert publisher address to checksum address * chore: remove console.error when decoding tokenURI * Revert "chore: remove console.error when decoding tokenURI" This reverts commit f387175970f763b4921af10d938d47920af08b4f. * feat: shorten nft address in tooltip preview * fix: use Web3.utils instead of the actual web3 instance to convert wei in ether Co-authored-by: Luca Milanese <luca.milanese90@gmail.com> Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
import { Asset } from '@oceanprotocol/lib'
|
|
import AssetType from '@shared/AssetType'
|
|
import Time from '@shared/atoms/Time'
|
|
import Publisher from '@shared/Publisher'
|
|
import { getServiceByName } from '@utils/ddo'
|
|
import React, { ReactElement } from 'react'
|
|
import styles from './MetaInfo.module.css'
|
|
|
|
export default function MetaInfo({
|
|
asset,
|
|
nftPublisher
|
|
}: {
|
|
asset: Asset
|
|
nftPublisher: string
|
|
}): ReactElement {
|
|
const isCompute = Boolean(getServiceByName(asset, 'compute'))
|
|
const accessType = isCompute ? 'compute' : 'access'
|
|
const nftOwner = asset?.nft?.owner
|
|
|
|
return (
|
|
<div className={styles.wrapper}>
|
|
<AssetType
|
|
type={asset?.metadata.type}
|
|
accessType={accessType}
|
|
className={styles.assetType}
|
|
/>
|
|
<div className={styles.byline}>
|
|
<p>
|
|
Published <Time date={asset?.metadata.created} relative />
|
|
{nftPublisher && nftPublisher !== nftOwner && (
|
|
<span>
|
|
{' by '} <Publisher account={nftPublisher} />
|
|
</span>
|
|
)}
|
|
{asset?.metadata.created !== asset?.metadata.updated && (
|
|
<>
|
|
{' — '}
|
|
<span className={styles.updated}>
|
|
updated <Time date={asset?.metadata.updated} relative />
|
|
</span>
|
|
</>
|
|
)}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|