mirror of
https://github.com/oceanprotocol/market.git
synced 2024-12-02 05:57:29 +01:00
* feat: add autocomplete tag component * feat: pass tags aggregated list to autocomplete component * feat: add initial styling to autocomplete tag component * fix: autocomplete style types * feat: move styling elements to module.css file * feat: update placeholder text for tag input field * feat: add default value to tags if present * feat: add edit tags functionality * fix: default tag value * fix: style for automplete menu's keyboard navigation * fix: tags aggregation query size * feat: return sorted tags aggregated list suggestion in publish * fix: set tags value touched state in edit mode * add package back * enhancement: autocomplete tag component config (#1679) * fix publishing when connecting wallet on publish form * fix reset pricing on tx execution * removed changing steps * cleanup * Fix headers (#1663) * test * test * test * test * test * test * test * remove link * enhancement: tag autocomplete settings * feat: add cursor type text * feat: tweak filter and sort for matched tags * fix: tags input font color * fix: tag autocomplete component input color Co-authored-by: EnzoVezzaro <enzo-vezzaro@live.it> Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro> Co-authored-by: Ana <84312885+AnaLoznianu@users.noreply.github.com> * fix lock * test * fix * fix * minor fixes * fix cursor on remove item (x) * style updates * UX tweaks * start suggestions upon first key stroke * remove redundant help tooltip * change placeholder copy * remove input clear action * edit updates Co-authored-by: mihaisc <mihai.scarlat@smartcontrol.ro> Co-authored-by: EnzoVezzaro <enzo-vezzaro@live.it> Co-authored-by: Ana <84312885+AnaLoznianu@users.noreply.github.com> Co-authored-by: Matthias Kretschmann <m@kretschmann.io>
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { FileInfo } from '@oceanprotocol/lib'
|
|
import * as Yup from 'yup'
|
|
|
|
export const validationSchema = Yup.object().shape({
|
|
name: Yup.string()
|
|
.min(4, (param) => `Title must be at least ${param.min} characters`)
|
|
.required('Required'),
|
|
description: Yup.string().required('Required').min(10),
|
|
price: Yup.number().required('Required'),
|
|
files: Yup.array<FileInfo[]>()
|
|
.of(
|
|
Yup.object().shape({
|
|
url: Yup.string().url('Must be a valid URL.'),
|
|
valid: Yup.boolean().isTrue()
|
|
})
|
|
)
|
|
.nullable(),
|
|
links: Yup.array<FileInfo[]>()
|
|
.of(
|
|
Yup.object().shape({
|
|
url: Yup.string().url('Must be a valid URL.'),
|
|
valid: Yup.boolean().isTrue()
|
|
})
|
|
)
|
|
.nullable(),
|
|
timeout: Yup.string().required('Required'),
|
|
author: Yup.string().nullable(),
|
|
tags: Yup.array<string[]>().nullable()
|
|
})
|
|
|
|
export const computeSettingsValidationSchema = Yup.object().shape({
|
|
allowAllPublishedAlgorithms: Yup.boolean().nullable(),
|
|
publisherTrustedAlgorithms: Yup.array().nullable(),
|
|
publisherTrustedAlgorithmPublishers: Yup.array().nullable()
|
|
})
|