import React, { ReactElement, useState, useEffect } from 'react' import MetaItem from './MetaItem' import styles from './MetaFull.module.css' import Publisher from '@shared/Publisher' import { useAsset } from '@context/Asset' import { getDummyWeb3 } from '@utils/web3' import { Asset, Datatoken, LoggerInstance } from '@oceanprotocol/lib' export default function MetaFull({ ddo }: { ddo: Asset }): ReactElement { const [paymentCollector, setPaymentCollector] = useState() const { isInPurgatory, assetState } = useAsset() useEffect(() => { async function getInitialPaymentCollector() { try { if (!ddo) return const web3 = await getDummyWeb3(ddo.chainId) const datatoken = new Datatoken(web3) setPaymentCollector( await datatoken.getPaymentCollector(ddo.datatokens[0].address) ) } catch (error) { LoggerInstance.error('[MetaFull: getInitialPaymentCollector]', error) } } getInitialPaymentCollector() }, [ddo]) function DockerImage() { const containerInfo = ddo?.metadata?.algorithm?.container const { image, tag } = containerInfo return {`${image}:${tag}`} } return ddo ? (
{!isInPurgatory && ( )} } /> {assetState !== 'Active' && ( )} {paymentCollector && paymentCollector !== ddo?.nft?.owner && ( } /> )} {ddo?.metadata?.type === 'algorithm' && ddo?.metadata?.algorithm && ( } /> )} {ddo?.id}} />
) : null }