From 68153f7d4517dccdf715dc06bb7f389cd6f93341 Mon Sep 17 00:00:00 2001 From: george-usynin-binary Date: Mon, 22 Aug 2022 12:08:16 +0300 Subject: [PATCH 1/5] fix(account transfer): fix Transfer button enabling when amount field is empty --- .../account-transfer-form/account-transfer-form.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx index d1b8a67ce4d6..a788eb4eb374 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx @@ -590,6 +590,7 @@ const AccountTransferForm = ({ !!selected_from.error || !!selected_to.error || !+selected_from.balance || + !converter_from_amount || !!converter_from_error || !!converter_to_error } From 64a7ee68572e20913daba1a82e5c9b9c12e3bf65 Mon Sep 17 00:00:00 2001 From: george-usynin-binary Date: Mon, 22 Aug 2022 13:18:07 +0300 Subject: [PATCH 2/5] fix(account transfer): fix Transfer button enabling between account with the same currency --- .../account-transfer-form.jsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx index a788eb4eb374..fb52887a818b 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx @@ -421,7 +421,16 @@ const AccountTransferForm = ({ validateOnBlur={false} enableReinitialize > - {({ errors, handleChange, isSubmitting, touched, setFieldValue, setFieldTouched, setFieldError }) => ( + {({ + errors, + handleChange, + isSubmitting, + touched, + setFieldValue, + setFieldTouched, + setFieldError, + values, + }) => ( {isSubmitting || accounts_list.length === 0 ? (
@@ -590,9 +599,11 @@ const AccountTransferForm = ({ !!selected_from.error || !!selected_to.error || !+selected_from.balance || - !converter_from_amount || !!converter_from_error || - !!converter_to_error + !!converter_to_error || + (selected_from.currency === selected_to.currency + ? !values.amount + : !converter_from_amount) } primary large From 8062040205a6c48bc125c1ec7412e28f11429de1 Mon Sep 17 00:00:00 2001 From: george-usynin-binary Date: Tue, 23 Aug 2022 10:24:36 +0300 Subject: [PATCH 3/5] refactor(account transfer): refactor condition into function --- .../account-transfer-form/account-transfer-form.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx index fb52887a818b..781e54175815 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx @@ -263,6 +263,10 @@ const AccountTransferForm = ({ return undefined; }; + const shouldShowTransferButton = amount => { + return selected_from.currency === selected_to.currency ? !amount : !converter_from_amount; + }; + const getAccounts = (type, { is_mt, is_dxtrade }) => { if (type === 'from') { if (is_mt) return mt_accounts_from; @@ -601,9 +605,7 @@ const AccountTransferForm = ({ !+selected_from.balance || !!converter_from_error || !!converter_to_error || - (selected_from.currency === selected_to.currency - ? !values.amount - : !converter_from_amount) + shouldShowTransferButton(values.amount) } primary large From 2ca43d3c8c291af24b5895dd9ef25c6596a6717a Mon Sep 17 00:00:00 2001 From: george-usynin-binary Date: Tue, 23 Aug 2022 17:42:55 +0300 Subject: [PATCH 4/5] fix(account transfer): disable Transfer button when amount is not valid --- .../account-transfer-form/account-transfer-form.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx index 781e54175815..5b87fb89a5e3 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx @@ -605,6 +605,7 @@ const AccountTransferForm = ({ !+selected_from.balance || !!converter_from_error || !!converter_to_error || + !!errors.amount || shouldShowTransferButton(values.amount) } primary From e7c8cf2a07b2a27a250a723ecf38efe144c55d93 Mon Sep 17 00:00:00 2001 From: george-usynin-binary Date: Wed, 24 Aug 2022 19:38:13 +0300 Subject: [PATCH 5/5] fix(account transfer): fix validation error visibility --- .../account-transfer-form.jsx | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx index 5b87fb89a5e3..f138eda6b583 100644 --- a/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx +++ b/packages/cashier/src/pages/account-transfer/account-transfer-form/account-transfer-form.jsx @@ -425,16 +425,7 @@ const AccountTransferForm = ({ validateOnBlur={false} enableReinitialize > - {({ - errors, - handleChange, - isSubmitting, - touched, - setFieldValue, - setFieldTouched, - setFieldError, - values, - }) => ( + {({ errors, handleChange, isSubmitting, setFieldValue, setFieldError, values }) => ( {isSubmitting || accounts_list.length === 0 ? (
@@ -460,8 +451,7 @@ const AccountTransferForm = ({ onChangeTransferFrom(e); handleChange(e); setFieldValue('amount', ''); - setFieldError('amount', ''); - setFieldTouched('amount', false); + setTimeout(() => setFieldError('amount', '')); }} error={selected_from.error} /> @@ -482,8 +472,7 @@ const AccountTransferForm = ({ onChange={e => { onChangeTransferTo(e); setFieldValue('amount', ''); - setFieldError('amount', ''); - setFieldTouched('amount', false); + setTimeout(() => setFieldError('amount', '')); }} hint={transfer_to_hint} error={selected_to.error} @@ -498,13 +487,12 @@ const AccountTransferForm = ({ setErrorMessage(''); handleChange(e); setAccountTransferAmount(e.target.value); - setFieldTouched('amount', true, false); }} className='cashier__input dc-input--no-placeholder account-transfer-form__input' classNameHint='account-transfer-form__hint' type='text' label={localize('Amount')} - error={touched.amount && errors.amount ? errors.amount : ''} + error={errors.amount ? errors.amount : ''} required trailing_icon={ selected_from.currency ? (