mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
prototype
This commit is contained in:
parent
8ce53714a4
commit
07b6495866
@ -0,0 +1,5 @@
|
|||||||
|
.datatoken {
|
||||||
|
border: 1px solid var(--brand-grey-lighter);
|
||||||
|
padding: calc(var(--spacer) / 3);
|
||||||
|
border-radius: var(--border-radius);
|
||||||
|
}
|
@ -5,18 +5,21 @@ import React, { ReactElement } from 'react'
|
|||||||
import styles from './Feedback.module.css'
|
import styles from './Feedback.module.css'
|
||||||
import SuccessConfetti from '../../atoms/SuccessConfetti'
|
import SuccessConfetti from '../../atoms/SuccessConfetti'
|
||||||
import { DDO } from '@oceanprotocol/lib'
|
import { DDO } from '@oceanprotocol/lib'
|
||||||
|
import Pricing from './Pricing'
|
||||||
|
|
||||||
export default function Feedback({
|
export default function Feedback({
|
||||||
error,
|
error,
|
||||||
success,
|
success,
|
||||||
ddo,
|
ddo,
|
||||||
publishStepText,
|
publishStepText,
|
||||||
|
isPricing,
|
||||||
setError
|
setError
|
||||||
}: {
|
}: {
|
||||||
error: string
|
error: string
|
||||||
success: string
|
success: string
|
||||||
ddo: DDO
|
ddo: DDO
|
||||||
publishStepText: string
|
publishStepText: string
|
||||||
|
isPricing: boolean
|
||||||
setError: (error: string) => void
|
setError: (error: string) => void
|
||||||
}): ReactElement {
|
}): ReactElement {
|
||||||
const SuccessAction = () => (
|
const SuccessAction = () => (
|
||||||
@ -46,6 +49,8 @@ export default function Feedback({
|
|||||||
Try Again
|
Try Again
|
||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
|
) : isPricing ? (
|
||||||
|
<Pricing ddo={ddo} />
|
||||||
) : success ? (
|
) : success ? (
|
||||||
<SuccessConfetti success={success} action={<SuccessAction />} />
|
<SuccessConfetti success={success} action={<SuccessAction />} />
|
||||||
) : (
|
) : (
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
import React, { ReactElement } from 'react'
|
import React, { ReactElement } from 'react'
|
||||||
import { Field, FieldInputProps, Formik } from 'formik'
|
import { Field, FieldInputProps, Formik } from 'formik'
|
||||||
import Input from '../../atoms/Input'
|
import Input from '../../atoms/Input'
|
||||||
import { initialValues, validationSchema } from 'models/FormPricing'
|
import { initialValues, validationSchema } from '../../../models/FormPricing'
|
||||||
import { DDO } from '@oceanprotocol/lib'
|
import { DDO } from '@oceanprotocol/lib'
|
||||||
import { usePricing } from '@oceanprotocol/react'
|
import { usePricing } from '@oceanprotocol/react'
|
||||||
import { PriceOptionsMarket } from '../../../@types/MetaData'
|
import { PriceOptionsMarket } from '../../../@types/MetaData'
|
||||||
|
import ddoFixture from '../../../../tests/unit/__fixtures__/ddo'
|
||||||
|
|
||||||
export default function Pricing({ ddo }: { ddo: DDO }): ReactElement {
|
export default function Pricing({ ddo }: { ddo: DDO }): ReactElement {
|
||||||
const { createPricing } = usePricing(ddo)
|
const { createPricing } = usePricing(ddoFixture)
|
||||||
|
|
||||||
async function handleCreatePricing(values: Partial<PriceOptionsMarket>) {
|
async function handleCreatePricing(values: Partial<PriceOptionsMarket>) {
|
||||||
const priceOptions = {
|
const priceOptions = {
|
||||||
price: values.price,
|
...values,
|
||||||
tokensToMint: values.tokensToMint,
|
// swapFee is tricky: to get 0.1% you need to send 0.001 as value
|
||||||
type: values.type,
|
swapFee: `${values.swapFee / 100}`
|
||||||
weightOnDataToken: values.weightOnDataToken,
|
|
||||||
swapFee: values.swapFee
|
|
||||||
}
|
}
|
||||||
const tx = await createPricing(priceOptions)
|
const tx = await createPricing(priceOptions)
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { ReactElement, useState } from 'react'
|
import React, { ReactElement, useState } from 'react'
|
||||||
import { Formik } from 'formik'
|
import { Formik } from 'formik'
|
||||||
import { usePublish } from '@oceanprotocol/react'
|
import { usePublish, usePricing } from '@oceanprotocol/react'
|
||||||
import styles from './index.module.css'
|
import styles from './index.module.css'
|
||||||
import PublishForm from './PublishForm'
|
import PublishForm from './PublishForm'
|
||||||
import Web3Feedback from '../../molecules/Wallet/Feedback'
|
import Web3Feedback from '../../molecules/Wallet/Feedback'
|
||||||
@ -27,6 +27,7 @@ export default function PublishPage({
|
|||||||
|
|
||||||
const [success, setSuccess] = useState<string>()
|
const [success, setSuccess] = useState<string>()
|
||||||
const [error, setError] = useState<string>()
|
const [error, setError] = useState<string>()
|
||||||
|
const [isPricing, setIsPricing] = useState<boolean>()
|
||||||
const [ddo, setDdo] = useState<DDO>()
|
const [ddo, setDdo] = useState<DDO>()
|
||||||
|
|
||||||
const hasFeedback = isLoading || error || success
|
const hasFeedback = isLoading || error || success
|
||||||
@ -59,12 +60,16 @@ export default function PublishPage({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!ddo) return
|
||||||
|
|
||||||
// Publish succeeded
|
// Publish succeeded
|
||||||
if (ddo) {
|
setDdo(ddo)
|
||||||
setDdo(ddo)
|
resetForm()
|
||||||
setSuccess('🎉 Successfully published your data set. 🎉')
|
|
||||||
resetForm()
|
// Create pricing
|
||||||
}
|
setIsPricing(true)
|
||||||
|
|
||||||
|
// setSuccess('🎉 Successfully published your data set. 🎉')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
setError(error.message)
|
setError(error.message)
|
||||||
Logger.error(error.message)
|
Logger.error(error.message)
|
||||||
@ -94,6 +99,7 @@ export default function PublishPage({
|
|||||||
success={success}
|
success={success}
|
||||||
publishStepText={publishStepText}
|
publishStepText={publishStepText}
|
||||||
ddo={ddo}
|
ddo={ddo}
|
||||||
|
isPricing={isPricing}
|
||||||
setError={setError}
|
setError={setError}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user