From b99fed3539940b4b96145b5506116316aa219f5f Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Thu, 17 Oct 2024 09:50:13 +0400 Subject: [PATCH 1/7] fix: eslint errors occured during merge (#17227) --- packages/account/build/constants.js | 1 - packages/account/build/webpack.config.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/account/build/constants.js b/packages/account/build/constants.js index c0a569d80482..13739e5c4c1e 100644 --- a/packages/account/build/constants.js +++ b/packages/account/build/constants.js @@ -30,7 +30,6 @@ const ALIASES = { Stores: path.resolve(__dirname, '../src/Stores'), Styles: path.resolve(__dirname, '../src/Styles'), Types: path.resolve(__dirname, '../src/Types'), - 'react/jsx-runtime': 'react/jsx-runtime.js', }; const rules = (is_test_env = false) => [ diff --git a/packages/account/build/webpack.config.js b/packages/account/build/webpack.config.js index 03e1de3f9d5f..3089aefb44f4 100644 --- a/packages/account/build/webpack.config.js +++ b/packages/account/build/webpack.config.js @@ -22,7 +22,7 @@ module.exports = function (env) { 'terms-of-use-config': 'Configs/terms-of-use-config', 'trading-assessment-config': 'Configs/trading-assessment-config', 'test-warning-modal': 'Components/trading-assessment/test-warning-modal', - 'employment-tax-info-config':'Configs/employment-tax-info-config', + 'employment-tax-info-config': 'Configs/employment-tax-info-config', }, mode: IS_RELEASE ? 'production' : 'development', module: { From 007374e87730a4b7ecab254e08c13602004e6b0c Mon Sep 17 00:00:00 2001 From: prince-deriv <82309725+prince-deriv@users.noreply.github.com> Date: Thu, 17 Oct 2024 11:32:01 +0400 Subject: [PATCH 2/7] fix: destroy instead of minimize (#17229) --- .../core/src/App/Components/Elements/LiveChat/live-chat.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/src/App/Components/Elements/LiveChat/live-chat.tsx b/packages/core/src/App/Components/Elements/LiveChat/live-chat.tsx index 71ec82da410d..742f88d1639a 100644 --- a/packages/core/src/App/Components/Elements/LiveChat/live-chat.tsx +++ b/packages/core/src/App/Components/Elements/LiveChat/live-chat.tsx @@ -28,7 +28,7 @@ const LiveChat = observer(({ showPopover }: { showPopover?: boolean }) => { // We will add a refactor after this setInterval(() => { if (enable_freshworks_live_chat) { - window.LiveChatWidget?.call('minimize'); + window.LiveChatWidget?.call('destroy'); } }, 10); From ea4efbb17f6b169f853a796f28c077f01e47c139 Mon Sep 17 00:00:00 2001 From: nada-deriv <122768621+nada-deriv@users.noreply.github.com> Date: Thu, 17 Oct 2024 13:28:10 +0400 Subject: [PATCH 3/7] fix: redirection fro staging to p2p staging (#17231) --- packages/p2p/src/pages/app.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/p2p/src/pages/app.jsx b/packages/p2p/src/pages/app.jsx index bb67167937c4..a679f5cc6008 100644 --- a/packages/p2p/src/pages/app.jsx +++ b/packages/p2p/src/pages/app.jsx @@ -19,7 +19,7 @@ import Routes from 'Components/routes'; import './app.scss'; const App = () => { - const is_production = process.env.NODE_ENV === 'production'; + const is_production = window.location.origin === URLConstants.derivAppProduction; const [is_p2p_standalone_enabled, isGBLoaded] = useGrowthbookGetFeatureValue({ featureFlag: 'p2p_standalone_enabled', defaultValue: false, From 9ed88b1e74f396a278156a802643a45b2a6f47b1 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Thu, 17 Oct 2024 19:12:15 +0400 Subject: [PATCH 4/7] fix: idv update in real account creation (#17235) --- packages/account/src/Configs/kyc-validation-config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/account/src/Configs/kyc-validation-config.ts b/packages/account/src/Configs/kyc-validation-config.ts index dd190a2b7b22..3175bf4e6468 100644 --- a/packages/account/src/Configs/kyc-validation-config.ts +++ b/packages/account/src/Configs/kyc-validation-config.ts @@ -29,7 +29,10 @@ export const getIDVFormValidationSchema = () => { .test({ name: 'testAdditionalDocumentNumber', test: (value, context) => { - if (context.parent.document_type.id === IDV_NOT_APPLICABLE_OPTION.id) { + if ( + context.parent.document_type.id === IDV_NOT_APPLICABLE_OPTION.id || + !context.parent.document_type?.additional + ) { return true; } return validateAdditionalDocumentNumber(value as string, context); From 819bf072f2dbc3a16fd265ca739dd6311e954e49 Mon Sep 17 00:00:00 2001 From: Likhith Kolayari <98398322+likhith-deriv@users.noreply.github.com> Date: Fri, 18 Oct 2024 10:43:49 +0400 Subject: [PATCH 5/7] fix: misaligned employment-status field (#17242) --- .../src/Components/forms/form-fields/employment-status.tsx | 2 +- packages/account/src/Styles/account.scss | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/account/src/Components/forms/form-fields/employment-status.tsx b/packages/account/src/Components/forms/form-fields/employment-status.tsx index 319089e852fb..bcec4f8cc013 100644 --- a/packages/account/src/Components/forms/form-fields/employment-status.tsx +++ b/packages/account/src/Components/forms/form-fields/employment-status.tsx @@ -19,7 +19,7 @@ const EmploymentStatusField = ({ required, is_disabled, fieldFocused }: TEmploym return ( {({ field, form: { setFieldValue, setFieldTouched, handleBlur, handleChange }, meta }: FieldProps) => ( -
+
{isDesktop ? ( Date: Mon, 21 Oct 2024 08:45:03 +0400 Subject: [PATCH 6/7] fix: incorporated CSS changes --- packages/core/src/sass/account-wizard.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/core/src/sass/account-wizard.scss b/packages/core/src/sass/account-wizard.scss index 17f7df531980..ee73126baf8b 100644 --- a/packages/core/src/sass/account-wizard.scss +++ b/packages/core/src/sass/account-wizard.scss @@ -826,4 +826,8 @@ width: 100%; } } + + .employment-status-field { + margin-top: 0.5rem; + } } From ab023325b251a17f1c3a7fa82d64f971d53621c3 Mon Sep 17 00:00:00 2001 From: likhith Date: Mon, 21 Oct 2024 09:52:07 +0400 Subject: [PATCH 7/7] fix: issue with duplicate account --- .../account/src/Configs/user-profile-validation-config.ts | 3 ++- .../employment-tax-details-container.tsx | 6 +++++- .../Containers/employment-tax-info/employment-tax-info.tsx | 3 +++ .../Profile/PersonalDetails/personal-details-form.tsx | 3 ++- .../src/Sections/Profile/PersonalDetails/validation.ts | 5 ++++- packages/account/src/Types/common.type.ts | 1 + 6 files changed, 17 insertions(+), 4 deletions(-) diff --git a/packages/account/src/Configs/user-profile-validation-config.ts b/packages/account/src/Configs/user-profile-validation-config.ts index dac792b7823e..b149bee6f759 100644 --- a/packages/account/src/Configs/user-profile-validation-config.ts +++ b/packages/account/src/Configs/user-profile-validation-config.ts @@ -55,6 +55,7 @@ export const getEmploymentAndTaxValidationSchema = ({ is_mf = false, is_real = false, is_tin_auto_set = false, + is_duplicate_account = false, }: TEmployeeDetailsTinValidationConfig) => { return Yup.object({ employment_status: Yup.string().required(localize('Employment status is required.')), @@ -66,7 +67,7 @@ export const getEmploymentAndTaxValidationSchema = ({ tin_skipped: Yup.number().oneOf([0, 1]).default(0), tax_identification_confirm: Yup.bool().when(['tax_identification_number', 'tax_residence', 'tin_skipped'], { is: (tax_identification_number: string, tax_residence: string, tin_skipped: boolean) => - tax_identification_number && tax_residence && !tin_skipped, + tax_identification_number && tax_residence && !tin_skipped && !is_duplicate_account, then: Yup.bool().required().oneOf([true]), otherwise: Yup.bool().notRequired(), }), diff --git a/packages/account/src/Containers/employment-tax-details-container/employment-tax-details-container.tsx b/packages/account/src/Containers/employment-tax-details-container/employment-tax-details-container.tsx index d9cbf5bed2f7..ad06305ab640 100644 --- a/packages/account/src/Containers/employment-tax-details-container/employment-tax-details-container.tsx +++ b/packages/account/src/Containers/employment-tax-details-container/employment-tax-details-container.tsx @@ -132,11 +132,15 @@ const EmploymentTaxDetailsContainer = observer( const isFieldDisabled = (field_name: string) => isFieldImmutable(field_name, editable_fields); + // [TODO] - This should come from BE + const should_disable_employment_status = + isFieldDisabled('employment_status') || Boolean(is_virtual && client.account_settings.employment_status); + return (
diff --git a/packages/account/src/Containers/employment-tax-info/employment-tax-info.tsx b/packages/account/src/Containers/employment-tax-info/employment-tax-info.tsx index 45e6e69930c1..bba318b6e101 100644 --- a/packages/account/src/Containers/employment-tax-info/employment-tax-info.tsx +++ b/packages/account/src/Containers/employment-tax-info/employment-tax-info.tsx @@ -62,6 +62,9 @@ const EmploymentTaxInfo = observer( tin_config: tin_validation_config, is_mf: is_eu, is_real: !client.is_virtual, + is_duplicate_account: + client.account_settings.immutable_fields?.includes('tax_identification_number') || + client.account_settings.immutable_fields?.includes('tax_residence'), }); const handleCancel = (values: FormikValues) => { diff --git a/packages/account/src/Sections/Profile/PersonalDetails/personal-details-form.tsx b/packages/account/src/Sections/Profile/PersonalDetails/personal-details-form.tsx index cc0ece245643..1095fd73b1b8 100644 --- a/packages/account/src/Sections/Profile/PersonalDetails/personal-details-form.tsx +++ b/packages/account/src/Sections/Profile/PersonalDetails/personal-details-form.tsx @@ -304,7 +304,8 @@ const PersonalDetailsForm = observer(() => { is_virtual, is_svg, tin_validation_config, - is_tin_auto_set + is_tin_auto_set, + account_settings?.immutable_fields ); const displayErrorMessage = (status: { code: string; msg: string }) => { if (status?.code === 'PhoneNumberTaken') { diff --git a/packages/account/src/Sections/Profile/PersonalDetails/validation.ts b/packages/account/src/Sections/Profile/PersonalDetails/validation.ts index 630f37ae2cf0..3e93de1394f1 100644 --- a/packages/account/src/Sections/Profile/PersonalDetails/validation.ts +++ b/packages/account/src/Sections/Profile/PersonalDetails/validation.ts @@ -132,7 +132,8 @@ export const getPersonalDetailsValidationSchema = ( is_virtual?: boolean, is_svg?: boolean, tin_validation_config?: TinValidations, - is_tin_auto_set?: boolean + is_tin_auto_set?: boolean, + immutable_fields?: string[] ) => { if (is_virtual) return Yup.object(); @@ -151,6 +152,8 @@ export const getPersonalDetailsValidationSchema = ( is_mf: !is_svg, is_real: !is_virtual, is_tin_auto_set, + is_duplicate_account: + immutable_fields?.includes('tax_identification_number') || immutable_fields?.includes('tax_residence'), }); return personal_details_schema.concat(address_detail_schema).concat(employment_tin_schema); diff --git a/packages/account/src/Types/common.type.ts b/packages/account/src/Types/common.type.ts index 20340f27f616..342ec0fffeb7 100644 --- a/packages/account/src/Types/common.type.ts +++ b/packages/account/src/Types/common.type.ts @@ -339,6 +339,7 @@ export type TEmployeeDetailsTinValidationConfig = { is_mf?: boolean; is_real?: boolean; is_tin_auto_set?: boolean; + is_duplicate_account?: boolean; }; type ReqRule = ['req', React.ReactNode];