market/src/components/Publish/Preview/index.tsx

51 lines
1.5 KiB
TypeScript
Raw Normal View History

import React, { ReactElement, useEffect, useState } from 'react'
import styles from './index.module.css'
import { FormPublishData } from '../_types'
import { useFormikContext } from 'formik'
import AssetContent from 'src/components/Asset/AssetContent'
import { transformPublishFormToDdo } from '../_utils'
import { ZERO_ADDRESS } from '@oceanprotocol/lib'
export default function Preview(): ReactElement {
const [asset, setAsset] = useState<AssetExtended>()
const { values } = useFormikContext<FormPublishData>()
useEffect(() => {
async function makeDdo() {
const asset = (await transformPublishFormToDdo(values)) as AssetExtended
// dummy BestPrice to trigger certain AssetActions
asset.accessDetails = {
type: values.pricing.type,
addressOrId: ZERO_ADDRESS,
templateId: 1,
2022-08-02 11:53:22 +02:00
price: `${values.pricing.price}`,
baseToken: {
address: ZERO_ADDRESS,
Dynamic token list support for publishing (#1516) * feat: add approved tokens list query to subgraph * feat: add base token selector * feat: add placeholder tooltip message for base token * feat: use user selected base token for publish * fix: publish constants * feat: update base token query to include digits and symbol * feat: display correct token name and symbol in publish pricing tab * fix: publish preview token name * fix: query type * feat: add balance fetch for all approved tokens * fix: balance check for dynamic price with alternative base tokens * feat: update balance to show baseToken instead of ocean * fix: default baseToken in publish form * feat: update text content for pricing publish step * chore: update ocean.js * add decimals to token Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * fix dt decimals Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * update ocean.js Signed-off-by: mihaisc <mihai.scarlat@smartcontrol.ro> * fix: show correct basetoken symbol under button buy * refactor: move baseToken selector to input label [WIP] * refactor: preserve baseToken value value when switching tabs * remove basetoken tooltip from content json * fix: price props * refactor: remove BaseToken component * fix: baseToken name on first load * fix: baseToken display name in dynamic price * fix: conversion tooltip text * fix: error box overlapping in Coin component * feat: add token logo component * feat: add basetoken logo to asset actions pool * fix: token images size * fix: add default appproved token list when disconnected or chainId not supported * fix: datatoken logo on asset details meta * refactor: balance fetch + move approved base tokens list in web3 provider * feat: update all datatokens to display ocean logo in violet * fix: show correct logos on polygon * fix wallet, remove dynamic * fix build * fix: reset baseToken on chainId change during publish * fix: price tabs selection indicator * feat: set the ocean token as default in pricing * add baseToken * fix price * remove firstPrice * cleanup, more affordance for token dropdown Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro> Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
2022-08-03 14:48:57 +02:00
name: values.pricing?.baseToken?.symbol || 'OCEAN',
symbol: values.pricing?.baseToken?.symbol || 'OCEAN'
},
datatoken: {
address: ZERO_ADDRESS,
name: '',
symbol: ''
},
isPurchasable: true,
isOwned: false,
2022-08-02 11:53:22 +02:00
validOrderTx: '',
publisherMarketOrderFee: '0'
}
setAsset(asset)
}
makeDdo()
}, [values])
2021-02-16 10:27:02 +01:00
return (
<div className={styles.preview}>
<h2 className={styles.previewTitle}>Preview</h2>
<h3 className={styles.assetTitle}>{values.metadata.name}</h3>
{asset && <AssetContent asset={asset} />}
2021-02-16 10:27:02 +01:00
</div>
)
}