diff --git a/new-lamassu-admin/src/components/editableTable/Row.js b/new-lamassu-admin/src/components/editableTable/Row.js
index 764b9987..9c55ff6d 100644
--- a/new-lamassu-admin/src/components/editableTable/Row.js
+++ b/new-lamassu-admin/src/components/editableTable/Row.js
@@ -165,7 +165,7 @@ const groupStriped = elements => {
}
const ERow = ({ editing, disabled, lastOfGroup }) => {
- const { errors } = useFormikContext()
+ const { touched, errors, values } = useFormikContext()
const {
elements,
enableEdit,
@@ -177,7 +177,6 @@ const ERow = ({ editing, disabled, lastOfGroup }) => {
const classes = useStyles()
- const { values } = useFormikContext()
const shouldStripe = stripeWhen && stripeWhen(values) && !editing
const innerElements = shouldStripe ? groupStriped(elements) : elements
@@ -199,12 +198,14 @@ const ERow = ({ editing, disabled, lastOfGroup }) => {
[classes.lastOfGroup]: lastOfGroup
}
+ const touchedErrors = R.pick(R.keys(touched), errors)
+
return (
+ error={touchedErrors && R.keys(touchedErrors).length > 0}
+ errorMessage={touchedErrors && R.values(touchedErrors).join(', ')}>
{innerElements.map((it, idx) => {
return (
{
diff --git a/new-lamassu-admin/src/pages/Cashout/helper.js b/new-lamassu-admin/src/pages/Cashout/helper.js
index f1599d8f..2567f9d8 100644
--- a/new-lamassu-admin/src/pages/Cashout/helper.js
+++ b/new-lamassu-admin/src/pages/Cashout/helper.js
@@ -5,15 +5,18 @@ import { NumberInput } from 'src/components/inputs/formik'
const currencyMax = 999999999
const DenominationsSchema = Yup.object().shape({
top: Yup.number()
- .required('Required')
+ .label('Cassette 1 (Top)')
+ .required()
.min(0)
.max(currencyMax),
bottom: Yup.number()
- .required('Required')
+ .label('Cassette 2 (Bottom)')
+ .required()
.min(0)
.max(currencyMax),
zeroConfLimit: Yup.number()
- .required('Required')
+ .label('0-conf Limit')
+ .required()
.min(0)
.max(currencyMax)
})
diff --git a/new-lamassu-admin/src/pages/Commissions/helper.js b/new-lamassu-admin/src/pages/Commissions/helper.js
index 4806fc7a..02bcca43 100644
--- a/new-lamassu-admin/src/pages/Commissions/helper.js
+++ b/new-lamassu-admin/src/pages/Commissions/helper.js
@@ -204,42 +204,55 @@ const percentMax = 100
const currencyMax = 9999999
const schema = Yup.object().shape({
cashIn: Yup.number()
+ .label('Cash-in')
.min(0)
.max(percentMax)
- .required('Required'),
+ .required(),
cashOut: Yup.number()
+ .label('Cash-out')
.min(0)
.max(percentMax)
- .required('Required'),
+ .required(),
fixedFee: Yup.number()
+ .label('Fixed Fee')
.min(0)
.max(currencyMax)
- .required('Required'),
+ .required(),
minimumTx: Yup.number()
+ .label('Minimum Tx')
.min(0)
.max(currencyMax)
- .required('Required')
+ .required()
})
const OverridesSchema = Yup.object().shape({
- machine: Yup.string().required('Required'),
- cryptoCurrencies: Yup.array().required('Required'),
+ machine: Yup.string()
+ .nullable()
+ .label('Machine')
+ .required(),
+ cryptoCurrencies: Yup.array()
+ .label('Crypto Currencies')
+ .required(),
cashIn: Yup.number()
+ .label('Cash-in')
.min(0)
.max(percentMax)
- .required('Required'),
+ .required(),
cashOut: Yup.number()
+ .label('Cash-out')
.min(0)
.max(percentMax)
- .required('Required'),
+ .required(),
fixedFee: Yup.number()
+ .label('Fixed Fee')
.min(0)
.max(currencyMax)
- .required('Required'),
+ .required(),
minimumTx: Yup.number()
+ .label('Minimum Tx')
.min(0)
.max(currencyMax)
- .required('Required')
+ .required()
})
const defaults = {
diff --git a/new-lamassu-admin/src/pages/Locales/helper.js b/new-lamassu-admin/src/pages/Locales/helper.js
index 7743de8b..b7ee6933 100644
--- a/new-lamassu-admin/src/pages/Locales/helper.js
+++ b/new-lamassu-admin/src/pages/Locales/helper.js
@@ -3,8 +3,6 @@ import * as Yup from 'yup'
import Autocomplete from 'src/components/inputs/formik/Autocomplete.js'
-const LANGUAGE_SELECTION_LIMIT = 4
-
const getFields = (getData, names, configureCoin, auxElements = []) => {
return R.filter(
it => R.includes(it.name, names),
@@ -92,8 +90,7 @@ const allFields = (getData, configureCoin, auxElements = []) => {
options: languageData,
valueProp: 'code',
getLabel: R.path(['display']),
- multiple: true,
- limit: LANGUAGE_SELECTION_LIMIT
+ multiple: true
}
},
{
@@ -137,17 +134,34 @@ const overrides = (auxData, auxElements, configureCoin) => {
}
const LocaleSchema = Yup.object().shape({
- country: Yup.string().required('Required'),
- fiatCurrency: Yup.string().required('Required'),
- languages: Yup.array().required('Required'),
- cryptoCurrencies: Yup.array().required('Required')
+ country: Yup.string()
+ .label('Country')
+ .required(),
+ fiatCurrency: Yup.string()
+ .label('Fiat Currency')
+ .required(),
+ languages: Yup.array()
+ .label('Languages')
+ .required()
+ .max(4),
+ cryptoCurrencies: Yup.array()
+ .label('Crypto Currencies')
+ .required()
})
const OverridesSchema = Yup.object().shape({
- machine: Yup.string().required('Required'),
- country: Yup.string().required('Required'),
- languages: Yup.array().required('Required'),
- cryptoCurrencies: Yup.array().required('Required')
+ machine: Yup.string()
+ .label('Machine')
+ .required(),
+ country: Yup.string()
+ .label('Country')
+ .required(),
+ languages: Yup.array()
+ .label('Languages')
+ .required(),
+ cryptoCurrencies: Yup.array()
+ .label('Crypto Currencies')
+ .required()
})
const localeDefaults = {
diff --git a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
index ea2b2207..ff7bdf05 100644
--- a/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
+++ b/new-lamassu-admin/src/pages/Maintenance/CashCassettes.js
@@ -15,14 +15,16 @@ import styles from './CashCassettes.styles.js'
const useStyles = makeStyles(styles)
const ValidationSchema = Yup.object().shape({
- name: Yup.string().required('Required'),
+ name: Yup.string().required(),
cassette1: Yup.number()
- .required('Required')
+ .label('Cassette 1 (top)')
+ .required()
.integer()
.min(0)
.max(500),
cassette2: Yup.number()
- .required('Required')
+ .label('Cassette 2 (bottom)')
+ .required()
.integer()
.min(0)
.max(500)
diff --git a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceOverrides.js b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceOverrides.js
index 013a5257..0280c3c5 100644
--- a/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceOverrides.js
+++ b/new-lamassu-admin/src/pages/Notifications/sections/CryptoBalanceOverrides.js
@@ -56,8 +56,12 @@ const CryptoBalanceOverrides = ({ section }) => {
const currencyMax = 9999999
const validationSchema = Yup.object().shape(
{
- [CRYPTOCURRENCY_KEY]: Yup.string().required(),
+ [CRYPTOCURRENCY_KEY]: Yup.string()
+ .label('Cryptocurrency')
+ .nullable()
+ .required(),
[LOW_BALANCE_KEY]: Yup.number()
+ .label('Low Balance')
.when(HIGH_BALANCE_KEY, {
is: HIGH_BALANCE_KEY => !HIGH_BALANCE_KEY,
then: Yup.number().required()
@@ -68,6 +72,7 @@ const CryptoBalanceOverrides = ({ section }) => {
.max(currencyMax)
.nullable(),
[HIGH_BALANCE_KEY]: Yup.number()
+ .label('High Balance')
.when(LOW_BALANCE_KEY, {
is: LOW_BALANCE_KEY => !LOW_BALANCE_KEY,
then: Yup.number().required()
diff --git a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceOverrides.js b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceOverrides.js
index 47e345ef..2cf4aaf2 100644
--- a/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceOverrides.js
+++ b/new-lamassu-admin/src/pages/Notifications/sections/FiatBalanceOverrides.js
@@ -43,8 +43,12 @@ const FiatBalanceOverrides = ({ section }) => {
const notesMax = 9999999
const validationSchema = Yup.object().shape(
{
- [MACHINE_KEY]: Yup.string().required(),
+ [MACHINE_KEY]: Yup.string()
+ .label('Machine')
+ .nullable()
+ .required(),
[CASSETTE_1_KEY]: Yup.number()
+ .label('Cassette 1 (top)')
.when(CASSETTE_2_KEY, {
is: CASSETTE_2_KEY => !CASSETTE_2_KEY,
then: Yup.number().required()
@@ -55,6 +59,7 @@ const FiatBalanceOverrides = ({ section }) => {
.max(notesMax)
.nullable(),
[CASSETTE_2_KEY]: Yup.number()
+ .label('Cassette 1 (bottom)')
.when(CASSETTE_1_KEY, {
is: CASSETTE_1_KEY => !CASSETTE_1_KEY,
then: Yup.number().required()
diff --git a/new-lamassu-admin/src/pages/Services/schemas/bitgo.js b/new-lamassu-admin/src/pages/Services/schemas/bitgo.js
index 74b60420..d79d1e2f 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/bitgo.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/bitgo.js
@@ -83,7 +83,7 @@ export default {
validationSchema: Yup.object().shape({
token: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
BTCWalletId: Yup.string().max(100, 'Too long'),
BTCWalletPassphrase: Yup.string()
.max(100, 'Too long')
@@ -121,6 +121,6 @@ export default {
}),
environment: Yup.string()
.matches(/(prod|test)/)
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/bitstamp.js b/new-lamassu-admin/src/pages/Services/schemas/bitstamp.js
index bf91b2f2..7341cf44 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/bitstamp.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/bitstamp.js
@@ -32,12 +32,12 @@ export default {
validationSchema: Yup.object().shape({
clientId: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
key: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
secret: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/blockcypher.js b/new-lamassu-admin/src/pages/Services/schemas/blockcypher.js
index dd6107af..acdfc2f1 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/blockcypher.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/blockcypher.js
@@ -25,10 +25,10 @@ export default {
validationSchema: Yup.object().shape({
token: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
confidenceFactor: Yup.number()
.integer('Please input a positive integer')
.positive('Please input a positive integer')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/infura.js b/new-lamassu-admin/src/pages/Services/schemas/infura.js
index 76db6d58..d5e885ea 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/infura.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/infura.js
@@ -30,12 +30,12 @@ export default {
validationSchema: Yup.object().shape({
apiKey: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
apiSecret: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
endpoint: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/itbit.js b/new-lamassu-admin/src/pages/Services/schemas/itbit.js
index eb1bcc38..16e7fbfa 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/itbit.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/itbit.js
@@ -36,15 +36,15 @@ export default {
validationSchema: Yup.object().shape({
userId: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
walletId: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
clientKey: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
clientSecret: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/kraken.js b/new-lamassu-admin/src/pages/Services/schemas/kraken.js
index 7a00bd8f..ab3c772c 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/kraken.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/kraken.js
@@ -24,9 +24,9 @@ export default {
validationSchema: Yup.object().shape({
apiKey: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
privateKey: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/mailgun.js b/new-lamassu-admin/src/pages/Services/schemas/mailgun.js
index b9f43f4b..1ed0d050 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/mailgun.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/mailgun.js
@@ -33,17 +33,17 @@ export default {
validationSchema: Yup.object().shape({
apiKey: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
domain: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
fromEmail: Yup.string()
.max(100, 'Too long')
.email('Please input a valid email address')
- .required('Required'),
+ .required(),
toEmail: Yup.string()
.max(100, 'Too long')
.email('Please input a valid email address')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Services/schemas/singlebitgo.js b/new-lamassu-admin/src/pages/Services/schemas/singlebitgo.js
index aa15e0f6..76972906 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/singlebitgo.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/singlebitgo.js
@@ -41,15 +41,15 @@ export default code => ({
validationSchema: Yup.object().shape({
token: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
environment: Yup.string()
.matches(/(prod|test)/)
- .required('Required'),
+ .required(),
[`${code}WalletId`]: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
[`${code}WalletPassphrase`]: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
})
diff --git a/new-lamassu-admin/src/pages/Services/schemas/twilio.js b/new-lamassu-admin/src/pages/Services/schemas/twilio.js
index db96989b..fc5b6f3d 100644
--- a/new-lamassu-admin/src/pages/Services/schemas/twilio.js
+++ b/new-lamassu-admin/src/pages/Services/schemas/twilio.js
@@ -34,15 +34,15 @@ export default {
validationSchema: Yup.object().shape({
accountSid: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
authToken: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
fromNumber: Yup.string()
.max(100, 'Too long')
- .required('Required'),
+ .required(),
toNumber: Yup.string()
.max(100, 'Too long')
- .required('Required')
+ .required()
})
}
diff --git a/new-lamassu-admin/src/pages/Triggers/helper.js b/new-lamassu-admin/src/pages/Triggers/helper.js
index eb77d15d..cc7b1ce8 100644
--- a/new-lamassu-admin/src/pages/Triggers/helper.js
+++ b/new-lamassu-admin/src/pages/Triggers/helper.js
@@ -68,14 +68,14 @@ const useStyles = makeStyles({
}
})
-// const direction = Yup.string().required('Required')
-const triggerType = Yup.string().required('Required')
+// const direction = Yup.string().required()
+const triggerType = Yup.string().required()
const threshold = Yup.object().shape({
threshold: Yup.number(),
thresholdDays: Yup.number()
})
const requirement = Yup.object().shape({
- requirement: Yup.string().required('Required'),
+ requirement: Yup.string().required(),
suspensionDays: Yup.number()
})
diff --git a/new-lamassu-admin/src/pages/Wallet/helper.js b/new-lamassu-admin/src/pages/Wallet/helper.js
index 8db5acc4..79609123 100644
--- a/new-lamassu-admin/src/pages/Wallet/helper.js
+++ b/new-lamassu-admin/src/pages/Wallet/helper.js
@@ -7,10 +7,10 @@ const filterClass = type => R.filter(it => it.class === type)
const filterCoins = ({ id }) => R.filter(it => R.contains(id)(it.cryptos))
const WalletSchema = Yup.object().shape({
- ticker: Yup.string().required('Required'),
- wallet: Yup.string().required('Required'),
- exchange: Yup.string().required('Required'),
- zeroConf: Yup.string().required('Required')
+ ticker: Yup.string().required(),
+ wallet: Yup.string().required(),
+ exchange: Yup.string().required(),
+ zeroConf: Yup.string().required()
})
const getElements = (