import React, { FormEvent, ReactElement, useState } from 'react' import { File as FileMetadata } from '@oceanprotocol/lib/dist/node/ddo/interfaces/File' import Markdown from '../../atoms/Markdown' import Tags from '../../atoms/Tags' import MetaItem from '../../organisms/AssetContent/MetaItem' import styles from './Preview.module.css' import File from '../../atoms/File' import { MetadataPublishForm } from '../../../@types/MetaData' import Button from '../../atoms/Button' import { transformTags } from './utils' export default function Preview({ values }: { values: Partial }): ReactElement { const [fullDescription, setFullDescription] = useState(false) const textLimit = 500 // string.length const description = fullDescription === true ? values.description : `${values.description.substring(0, textLimit)}${ values.description.length > textLimit ? `...` : '' }` function handleDescriptionToggle(e: FormEvent) { e.preventDefault() setFullDescription(!fullDescription) } return (

Preview

{values.name &&

{values.name}

} {values.description && (
{values.description.length > textLimit && ( )}
)}
{values.files?.length > 0 && typeof values.files !== 'string' && ( )}
{typeof values.links !== 'string' && values.links?.length && ( )} {values.tags && }
{Object.entries(values) .filter( ([key, value]) => !( key.includes('name') || key.includes('description') || key.includes('tags') || key.includes('files') || key.includes('links') || key.includes('termsAndConditions') || key.includes('dataTokenOptions') || value === undefined || value === '' ) ) .map(([key, value]) => ( ))}
) }