1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-06-26 03:06:49 +02:00

hack in success state for first steps

This commit is contained in:
Matthias Kretschmann 2021-11-19 14:05:07 +00:00
parent 713de2eb94
commit 5bb7f327e3
Signed by: m
GPG Key ID: 606EEEF3C479A91F
2 changed files with 28 additions and 17 deletions

View File

@ -5,28 +5,39 @@ import { wizardSteps } from '../_constants'
import styles from './index.module.css' import styles from './index.module.css'
export default function Navigation(): ReactElement { export default function Navigation(): ReactElement {
const { values, setFieldValue }: FormikContextType<FormPublishData> = const { values, errors, setFieldValue }: FormikContextType<FormPublishData> =
useFormikContext() useFormikContext()
function handleStepClick(step: number) { function handleStepClick(step: number) {
setFieldValue('stepCurrent', step) setFieldValue('user.stepCurrent', step)
} }
console.log(errors)
return ( return (
<nav className={styles.navigation}> <nav className={styles.navigation}>
<ol> <ol>
{wizardSteps.map((step) => ( {wizardSteps.map((step) => {
<li const isSuccessMetadata = errors.metadata === undefined
key={step.title} const isSuccessServices = errors.services === undefined
onClick={() => handleStepClick(step.step)}
// TODO: add success class return (
className={ <li
values.user.stepCurrent === step.step ? styles.current : null key={step.title}
} onClick={() => handleStepClick(step.step)}
> // TODO: add success class for all steps
{step.title} className={`${
</li> values.user.stepCurrent === step.step ? styles.current : null
))} } ${
step.step === 1 && isSuccessMetadata ? styles.success : null
} ${
step.step === 2 && isSuccessServices ? styles.success : null
}`}
>
{step.title}
</li>
)
})}
</ol> </ol>
</nav> </nav>
) )

View File

@ -53,7 +53,7 @@ export const initialValues: FormPublishData = {
}, },
services: [ services: [
{ {
files: [], files: undefined,
dataTokenOptions: { name: '', symbol: '' }, dataTokenOptions: { name: '', symbol: '' },
timeout: '', timeout: '',
access: '', access: '',
@ -88,7 +88,7 @@ const validationMetadata = {
.required('Required'), .required('Required'),
author: Yup.string().required('Required'), author: Yup.string().required('Required'),
tags: Yup.string().nullable(), tags: Yup.string().nullable(),
termsAndConditions: Yup.boolean().required('Required') termsAndConditions: Yup.boolean().required('Required').isTrue()
} }
const validationService = { const validationService = {
@ -102,7 +102,7 @@ const validationService = {
}), }),
timeout: Yup.string().required('Required'), timeout: Yup.string().required('Required'),
access: Yup.string() access: Yup.string()
.matches(/compute|download/g, { excludeEmptyString: true }) .matches(/compute|download/g)
.required('Required'), .required('Required'),
providerUrl: Yup.string().url().nullable() providerUrl: Yup.string().url().nullable()
} }