diff --git a/src/components/organisms/AssetActions/Consume.tsx b/src/components/organisms/AssetActions/Consume.tsx
index 42b4b4bdb..7ff53b800 100644
--- a/src/components/organisms/AssetActions/Consume.tsx
+++ b/src/components/organisms/AssetActions/Consume.tsx
@@ -48,7 +48,7 @@ export default function Consume({
const { marketFeeAddress } = useSiteMetadata()
const [hasPreviousOrder, setHasPreviousOrder] = useState(false)
const [previousOrderId, setPreviousOrderId] = useState
()
- const { isInPurgatory, price } = useAsset()
+ const { isInPurgatory, price, type } = useAsset()
const { buyDT, pricingStepText, pricingError, pricingIsLoading } = usePricing(
ddo
)
@@ -168,7 +168,6 @@ export default function Consume({
{!isInPurgatory && }
-
@@ -17,6 +25,9 @@ export default function MetaFull(): ReactElement {
title="Owner"
content={
}
/>
+ {type === 'algorithm' && (
+
} />
+ )}
{/*
}
diff --git a/src/components/organisms/AssetContent/MetaMain.module.css b/src/components/organisms/AssetContent/MetaMain.module.css
index 428652473..a93f3d6a7 100644
--- a/src/components/organisms/AssetContent/MetaMain.module.css
+++ b/src/components/organisms/AssetContent/MetaMain.module.css
@@ -9,5 +9,17 @@
.date {
font-size: var(--font-size-mini);
- margin-top: calc(var(--spacer) / 2);
+}
+
+.typeAndDate {
+ margin-top: calc(var(--spacer) / 2);
+ display: flex;
+}
+
+.typeDetails {
+ border-right: 1px solid var(--border-color);
+ padding-right: calc(var(--spacer) / 3.5);
+ margin-right: calc(var(--spacer) / 4);
+ width: auto;
+ font-size: var(--font-size-mini);
}
diff --git a/src/components/organisms/AssetContent/MetaMain.tsx b/src/components/organisms/AssetContent/MetaMain.tsx
index ec5236a37..e4f513d87 100644
--- a/src/components/organisms/AssetContent/MetaMain.tsx
+++ b/src/components/organisms/AssetContent/MetaMain.tsx
@@ -5,10 +5,13 @@ import EtherscanLink from '../../atoms/EtherscanLink'
import Publisher from '../../atoms/Publisher'
import Time from '../../atoms/Time'
import styles from './MetaMain.module.css'
+import AssetType from '../../atoms/AssetType'
export default function MetaMain(): ReactElement {
- const { ddo, owner } = useAsset()
+ const { ddo, owner, type } = useAsset()
const { networkId } = useOcean()
+ const isCompute = Boolean(ddo?.findServiceByType('compute'))
+ const accessType = isCompute ? 'compute' : 'access'
return (
)
}
diff --git a/src/providers/Asset.tsx b/src/providers/Asset.tsx
index aa8629465..c6778892e 100644
--- a/src/providers/Asset.tsx
+++ b/src/providers/Asset.tsx
@@ -7,7 +7,7 @@ import React, {
useCallback,
ReactNode
} from 'react'
-import { Logger, DDO, BestPrice } from '@oceanprotocol/lib'
+import { Logger, DDO, BestPrice, MetadataMain } from '@oceanprotocol/lib'
import { PurgatoryData } from '@oceanprotocol/lib/dist/node/ddo/interfaces/PurgatoryData'
import { getDataTokenPrice, useOcean } from '@oceanprotocol/react'
import getAssetPurgatoryData from '../utils/purgatory'
@@ -25,6 +25,7 @@ interface AssetProviderValue {
title: string | undefined
owner: string | undefined
price: BestPrice | undefined
+ type: MetadataMain['type'] | undefined
error?: string
refreshInterval: number
refreshDdo: (token?: CancelToken) => Promise
@@ -52,6 +53,7 @@ function AssetProvider({
const [price, setPrice] = useState()
const [owner, setOwner] = useState()
const [error, setError] = useState()
+ const [type, setType] = useState()
const refreshPrice = useCallback(async () => {
if (
@@ -160,6 +162,7 @@ function AssetProvider({
const { attributes } = ddo.findServiceByType('metadata')
setMetadata((attributes as unknown) as MetadataMarket)
setTitle(attributes?.main.name)
+ setType(attributes.main.type)
setOwner(ddo.publicKey[0].owner)
setIsInPurgatory(ddo.isInPurgatory === 'true')
@@ -184,6 +187,7 @@ function AssetProvider({
title,
owner,
price,
+ type,
error,
isInPurgatory,
purgatoryData,