Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "feat: sorry amina" #14

Merged
merged 1 commit into from
Jul 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
import React from 'react';
import { Loading } from '@deriv/components';
import { WS } from '@deriv/shared';

import DemoMessage from 'Components/demo-message';
import ErrorMessage from 'Components/error-component';
import Verified from 'Components/poi/status/verified';
import Limited from 'Components/poi/status/limited';
import Expired from 'Components/poi/status/expired';
import UploadComplete from 'Components/poi/status/upload-complete';
import NotRequired from 'Components/poi/status/not-required';
import Onfido from './onfido.jsx';
import IdvContainer from './idv.jsx';
import Unsupported from 'Components/poi/status/unsupported';
import POISubmissionForMT5 from './proof-of-identity-submission-for-mt5.jsx';
import POISubmissionForMT5 from './proof-of-identity-submission-for-mt5';
import { identity_status_codes, service_code } from './proof-of-identity-utils';
import { populateVerificationStatus } from '../Helpers/verification';

Expand All @@ -28,12 +22,9 @@ const ProofOfIdentityContainerforMt5 = ({
citizen_data,
}) => {
const [api_error, setAPIError] = React.useState();
const [has_require_submission, setHasRequireSubmission] = React.useState(false);
const [residence_list, setResidenceList] = React.useState();
const [is_status_loading, setStatusLoading] = React.useState(true);

const handleRequireSubmission = () => setHasRequireSubmission(true);

React.useEffect(() => {
// only re-mount logic when switching is done
if (!is_switching) {
Expand Down Expand Up @@ -81,7 +72,11 @@ const ProofOfIdentityContainerforMt5 = ({
return <NotRequired />;
}

if (identity_status === identity_status_codes.none || allow_poi_resubmission || has_require_submission) {
const idv_resubmission_cases = ['rejected', 'suspected', 'expired'];
const has_idv_error =
identity_last_attempt?.service && service_code.idv && idv_resubmission_cases.includes(idv.status);

if (identity_status === identity_status_codes.none || allow_poi_resubmission || has_idv_error) {
return (
<POISubmissionForMT5
has_attempted_idv={has_attempted_idv}
Expand All @@ -97,54 +92,11 @@ const ProofOfIdentityContainerforMt5 = ({
refreshNotifications={refreshNotifications}
residence_list={residence_list}
citizen_data={citizen_data}
has_idv_error={has_idv_error}
/>
);
} else if (
!identity_last_attempt ||
// Prioritise verified status from back office. How we know this is if there is mismatch between current statuses (Should be refactored)
(identity_status === 'verified' && identity_status !== identity_last_attempt.status)
) {
switch (identity_status) {
case identity_status_codes.pending:
return <UploadComplete is_from_external={is_from_external} needs_poa={needs_poa} />;
case identity_status_codes.verified:
return <Verified is_from_external={is_from_external} needs_poa={needs_poa} />;
case identity_status_codes.expired:
return (
<Expired is_from_external={is_from_external} handleRequireSubmission={handleRequireSubmission} />
);
case identity_status_codes.rejected:
case identity_status_codes.suspected:
return <Limited handleRequireSubmission={handleRequireSubmission} />;
default:
break;
}
}

switch (identity_last_attempt.service) {
case service_code.idv:
return (
<IdvContainer
handleRequireSubmission={handleRequireSubmission}
idv={idv}
is_from_external={!!is_from_external}
needs_poa={needs_poa}
/>
);
case service_code.onfido:
return (
<Onfido
handleRequireSubmission={handleRequireSubmission}
is_from_external={!!is_from_external}
needs_poa={needs_poa}
onfido={onfido}
/>
);
case service_code.manual:
return <Unsupported manual={manual} />;
default:
return null;
}
return null;
};

export default ProofOfIdentityContainerforMt5;
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,19 @@ import Unsupported from 'Components/poi/status/unsupported';
import OnfidoUpload from './onfido-sdk-view.jsx';
import { identity_status_codes, submission_status_code, service_code } from './proof-of-identity-utils';
import { IdvDocSubmitOnSignup } from '../../../Components/poi/poi-form-on-signup/idv-doc-submit-on-signup/idv-doc-submit-on-signup.jsx';
import { AutoHeightWrapper } from '@deriv/components';

const POISubmissionForMT5 = ({
citizen_data,
has_idv_error,
idv,
is_from_external,
is_idv_disallowed,
onfido,
onStateChange,
refreshNotifications,
citizen_data,
has_idv_error,
}) => {
const [submission_status, setSubmissionStatus] = React.useState();
const [submission_status, setSubmissionStatus] = React.useState(); // submitting
const [submission_service, setSubmissionService] = React.useState();

React.useEffect(() => {
Expand Down Expand Up @@ -75,13 +76,20 @@ const POISubmissionForMT5 = ({
const documents_supported = Object.keys(doc_obj).map(d => doc_obj[d].display_name);

return (
<OnfidoUpload
country_code={country_code}
documents_supported={documents_supported}
handleViewComplete={handlePOIComplete}
is_from_external={is_from_external}
refreshNotifications={refreshNotifications}
/>
<AutoHeightWrapper default_height={620} height_offset={50}>
{({ setRef, height }) => (
<div ref={setRef} style={{ height }}>
<OnfidoUpload
country_code={country_code}
documents_supported={documents_supported}
handleViewComplete={handlePOIComplete}
height={height}
is_from_external={is_from_external}
refreshNotifications={refreshNotifications}
/>
</div>
)}
</AutoHeightWrapper>
);
}
case service_code.manual:
Expand Down
25 changes: 9 additions & 16 deletions packages/cfd/src/Components/cfd-poi.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
/* eslint react/prop-types: 0 */
import { ProofOfIdentityContainerforMt5 } from '@deriv/account';
import { AutoHeightWrapper } from '@deriv/components';
import { GetAccountStatus, GetSettings, ResidenceList } from '@deriv/api-types';
import React from 'react';
import RootStore from 'Stores/index';
Expand Down Expand Up @@ -29,6 +27,7 @@ export type TCFDPOIProps = {
account_status?: GetAccountStatus;
addNotificationByKey: (key: string) => void;
fetchResidenceList?: () => void;
height: string;
is_switching: boolean;
is_virtual: boolean;
onSave: (index: number, values: TFormValues) => void;
Expand All @@ -40,7 +39,7 @@ export type TCFDPOIProps = {
residence_list: ResidenceList;
};

const CFDPOI = ({ index, onSave, onSubmit, ...props }: TCFDPOIProps) => {
const CFDPOI = ({ index, onSave, onSubmit, height, ...props }: TCFDPOIProps) => {
const [poi_state, setPOIState] = React.useState<string>('none');
const citizen = props.account_settings?.citizen || props.account_settings?.country_code;
const citizen_data = props.residence_list?.find(item => item.value === citizen);
Expand All @@ -51,19 +50,13 @@ const CFDPOI = ({ index, onSave, onSubmit, ...props }: TCFDPOIProps) => {
onSubmit(index, { poi_state }, false);
};
return (
<AutoHeightWrapper default_height={620}>
{({ setRef, height }: { setRef: React.MutableRefObject<HTMLDivElement>; height: number }) => (
<div ref={setRef} className=''>
<ProofOfIdentityContainerforMt5
height={height}
is_from_external={true}
onStateChange={(status: string) => onStateChange(status)}
citizen_data={citizen_data}
{...props}
/>
</div>
)}
</AutoHeightWrapper>
<ProofOfIdentityContainerforMt5
{...props}
height={height}
is_from_external={true}
onStateChange={(status: string) => onStateChange(status)}
citizen_data={citizen_data}
/>
);
};

Expand Down
39 changes: 19 additions & 20 deletions packages/cfd/src/Containers/jurisdiction-modal-content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -213,20 +213,6 @@ const JurisdictionCard = ({
);
};

type ModalCheckboxProps = {
setChecked: React.Dispatch<React.SetStateAction<boolean>>;
checked: boolean;
};

const ModalCheckbox = ({ setChecked, checked }: ModalCheckboxProps) => (
<div className='cfd-jurisdiction-card__jurisdiction-checkbox'>
<Checkbox onChange={() => setChecked(!checked)} value={checked} />
<Text as='p' align='center' size='xs' line_height='xs'>
{`I confirm and accept Deriv (V) Ltd 's Terms and Conditions`}
</Text>
</div>
);

const JurisdictionModalContent = ({
jurisdiction_selected_card,
account_type,
Expand All @@ -249,18 +235,16 @@ const JurisdictionModalContent = ({
const cardsToBeShown = (type_of_card: string) => {
const is_available =
account_type === 'synthetic'
? synthetic_available_accounts?.some(account => account.shortcode === type_of_card)
: financial_available_accounts?.some(account => account.shortcode === type_of_card);
? synthetic_available_accounts.some(account => account.shortcode === type_of_card)
: financial_available_accounts.some(account => account.shortcode === type_of_card);
return is_available;
};

const disableCard = (type_of_card: string) => {
const is_available =
account_type === 'synthetic'
? real_synthetic_accounts_existing_data?.some(account => account.landing_company_short === type_of_card)
: real_financial_accounts_existing_data?.some(
account => account.landing_company_short === type_of_card
);
? real_synthetic_accounts_existing_data.some(account => account.landing_company_short === type_of_card)
: real_financial_accounts_existing_data.some(account => account.landing_company_short === type_of_card);
return is_available;
};

Expand Down Expand Up @@ -320,6 +304,21 @@ const JurisdictionModalContent = ({
);
};

const ModalCheckbox = ({
setChecked,
checked,
}: {
setChecked: React.Dispatch<React.SetStateAction<boolean>>;
checked: boolean;
}) => (
<div className='cfd-jurisdiction-card__jurisdiction-checkbox'>
<Checkbox onChange={() => setChecked(!checked)} value={checked} />
<Text as='p' align='center' size='xs' line_height='xs'>
I confirm and accept Deriv (V) Ltd 's Terms and Conditions
</Text>
</div>
);

return (
<>
<div className='cfd-jurisdiction-card__wrapper'>
Expand Down
6 changes: 3 additions & 3 deletions packages/cfd/src/Containers/jurisdiction-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ const JurisdictionModal = ({
const poi_status = authentication_status?.identity_status;
const poi_poa_verified = poi_status === 'verified' && poa_status === 'verified';

const disable_bvi_next =
const bvi_checks =
(poi_status === 'pending' && poa_status !== 'pending') ||
(poi_status === 'pending' && poa_status !== 'verified') ||
(poa_status === 'pending' && poi_status !== 'pending') ||
Expand Down Expand Up @@ -170,7 +170,7 @@ const JurisdictionModal = ({
(poi_poa_verified && !checked && jurisdiction_selected_card !== 'svg') ||
(jurisdiction_selected_card === 'labuan' && !checked) ||
!jurisdiction_selected_card ||
(jurisdiction_selected_card !== 'svg' && disable_bvi_next)
(jurisdiction_selected_card !== 'svg' && bvi_checks)
}
primary
onClick={() => {
Expand All @@ -195,7 +195,7 @@ const JurisdictionModal = ({
(poi_poa_verified && !checked && jurisdiction_selected_card !== 'svg') ||
(jurisdiction_selected_card === 'labuan' && !checked) ||
!jurisdiction_selected_card ||
(jurisdiction_selected_card !== 'svg' && disable_bvi_next)
(jurisdiction_selected_card !== 'svg' && bvi_checks)
}
primary
onClick={() => {
Expand Down
1 change: 0 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"compilerOptions": {
"module": "es2022", // Specify module code generation
"experimentalDecorators": true,
"target": "es5", // Specify ECMAScript target version
"jsx": "react", // Support JSX in .tsx files
"lib": ["dom", "dom.iterable", "esnext"], // List of library files to be included in the compilation
Expand Down