1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

created AssetTypeDetails component and added it to asset details

This commit is contained in:
Norbi 2021-02-23 12:16:52 +02:00
parent 4a35d08880
commit 80ae4d2bd5
6 changed files with 59 additions and 42 deletions

View File

@ -0,0 +1,24 @@
.typeDetails {
position: absolute;
top: calc(var(--spacer) / 3);
right: calc(var(--spacer) / 3);
width: auto;
font-size: var(--font-size-mini);
}
.icon {
fill: var(--brand-grey-light);
width: 1.1em;
height: 1.1em;
vertical-align: baseline;
margin-bottom: -0.2em;
display: inline-block;
}
.typeLabel {
display: inline-block;
text-transform: uppercase;
border-right: 1px solid var(--border-color);
padding-right: calc(var(--spacer) / 3.5);
margin-right: calc(var(--spacer) / 4);
}

View File

@ -0,0 +1,25 @@
import React, { ReactElement } from 'react'
import styles from './AssetTypeDetails.module.css'
import { ReactComponent as Compute } from '../../images/compute.svg'
import { ReactComponent as Download } from '../../images/download.svg'
export default function AssetTypeDetails({
type,
accessType
}: {
type: string
accessType: string
}): ReactElement {
return (
<aside className={styles.typeDetails}>
<div className={styles.typeLabel}>
{type === 'dataset' ? 'data set' : 'algorithm'}
</div>
{accessType === 'access' ? (
<Download role="img" aria-label="Download" className={styles.icon} />
) : (
<Compute role="img" aria-label="Compute" className={styles.icon} />
)}
</aside>
)
}

View File

@ -61,28 +61,3 @@
font-size: var(--font-size-mini);
margin-top: calc(var(--spacer) / 2);
}
.typeDetails {
position: absolute;
top: calc(var(--spacer) / 3);
right: calc(var(--spacer) / 3);
width: auto;
font-size: var(--font-size-mini);
}
.icon {
fill: var(--brand-grey-light);
width: 1.1em;
height: 1.1em;
vertical-align: baseline;
margin-bottom: -0.2em;
display: inline-block;
}
.typeLabel {
display: inline-block;
text-transform: uppercase;
border-right: 1px solid var(--border-color);
padding-right: calc(var(--spacer) / 3.5);
margin-right: calc(var(--spacer) / 4);
}

View File

@ -8,8 +8,7 @@ import removeMarkdown from 'remove-markdown'
import Publisher from '../atoms/Publisher'
import { useMetadata } from '@oceanprotocol/react'
import Time from '../atoms/Time'
import { ReactComponent as Compute } from '../../images/compute.svg'
import { ReactComponent as Download } from '../../images/download.svg'
import AssetTypeDetails from '../atoms/AssetTypeDetails'
declare type AssetTeaserProps = {
ddo: DDO
@ -33,20 +32,7 @@ const AssetTeaser: React.FC<AssetTeaserProps> = ({ ddo }: AssetTeaserProps) => {
<Publisher account={owner} minimal className={styles.publisher} />
</header>
<aside className={styles.typeDetails}>
<div className={styles.typeLabel}>
{type === 'dataset' ? 'data set' : 'algorithm'}
</div>
{accessType === 'access' ? (
<Download
role="img"
aria-label="Download"
className={styles.icon}
/>
) : (
<Compute role="img" aria-label="Compute" className={styles.icon} />
)}
</aside>
<AssetTypeDetails type={type} accessType={accessType} />
<div className={styles.content}>
<Dotdotdot tagName="p" clamp={3}>

View File

@ -42,3 +42,7 @@
margin-left: calc(var(--spacer) / 4);
margin-right: calc(var(--spacer) / 4);
}
.content [class*='typeDetails'] {
right: calc(var(--spacer) * 2) !important;
}

View File

@ -15,6 +15,7 @@ import Button from '../../atoms/Button'
import Edit from '../AssetActions/Edit'
import DebugOutput from '../../atoms/DebugOutput'
import MetaMain from './MetaMain'
import AssetTypeDetails from '../../atoms/AssetTypeDetails'
// import EditHistory from './EditHistory'
export interface AssetContentProps {
@ -46,8 +47,9 @@ export default function AssetContent(props: AssetContentProps): ReactElement {
const { owner, isInPurgatory, purgatoryData } = useAsset()
const [showPricing, setShowPricing] = useState(false)
const [showEdit, setShowEdit] = useState<boolean>()
const { ddo, price, metadata } = useAsset()
const { ddo, price, metadata, type } = useAsset()
const isOwner = accountId === owner
const accessType = ddo.service[1].type
useEffect(() => {
if (!price) return
@ -67,6 +69,7 @@ export default function AssetContent(props: AssetContentProps): ReactElement {
<div>
{showPricing && <Pricing ddo={ddo} />}
<div className={styles.content}>
<AssetTypeDetails type={type} accessType={accessType} />
<MetaMain />
<Bookmark did={ddo.id} />