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

prototype

This commit is contained in:
Matthias Kretschmann 2020-10-19 16:40:09 +02:00
parent 8ce53714a4
commit 07b6495866
Signed by: m
GPG Key ID: 606EEEF3C479A91F
4 changed files with 28 additions and 13 deletions

View File

@ -0,0 +1,5 @@
.datatoken {
border: 1px solid var(--brand-grey-lighter);
padding: calc(var(--spacer) / 3);
border-radius: var(--border-radius);
}

View File

@ -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 />} />
) : ( ) : (

View File

@ -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)
} }

View File

@ -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)
setSuccess('🎉 Successfully published your data set. 🎉')
resetForm() 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}
/> />
) : ( ) : (