Skip to content

Commit

Permalink
Added disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
hirad-deriv committed Jul 7, 2022
1 parent 2f2327a commit 3261397
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 3 deletions.
8 changes: 7 additions & 1 deletion packages/cfd/src/Components/cfd-real-account-display.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ type TCFDRealAccountDisplayProps = {
isFinancialCardVisible: () => boolean;
landing_companies: LandingCompany;
onSelectAccount: (objCFDAccount: TObjectCFDAccount) => void;
realSyntheticAccountsExistingData: (getRealExistingData: DetailsOfEachMT5Loginid[] | undefined) => void;
realFinancialAccountsExistingData: (getRealExistingData: DetailsOfEachMT5Loginid[] | undefined) => void;
openAccountTransfer: (
data: DetailsOfEachMT5Loginid | TTradingPlatformAccounts,
meta: TOpenAccountTransferMeta
Expand Down Expand Up @@ -71,6 +73,8 @@ const CFDRealAccountDisplay = ({
isFinancialCardVisible,
landing_companies,
onSelectAccount,
realSyntheticAccountsExistingData,
realFinancialAccountsExistingData,
openAccountTransfer,
isAccountOfTypeDisabled,
current_list,
Expand Down Expand Up @@ -170,10 +174,12 @@ const CFDRealAccountDisplay = ({
return _acc;
}, [] as DetailsOfEachMT5Loginid[])
: undefined;

return acc;
};

realSyntheticAccountsExistingData(existing_accounts_data('synthetic'));
realFinancialAccountsExistingData(existing_accounts_data('financial@'));

const synthetic_account_items = isSyntheticCardVisible('real') && (
<CFDAccountCard
key='real.synthetic'
Expand Down
12 changes: 12 additions & 0 deletions packages/cfd/src/Containers/cfd-dashboard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,12 @@ type TCFDDashboardProps = {
setCurrentAccount: (data: DetailsOfEachMT5Loginid, meta: TOpenAccountTransferMeta) => void;
setAccountType: (account_type: TOpenAccountTransferMeta) => void;
mt5_status_server: TMt5StatusServer;
getRealSyntheticAccountsExistingData: (
getRealSyntheticAccountsExistingData: DetailsOfEachMT5Loginid[] | undefined
) => void;
getRealFinancialAccountsExistingData: (
getRealSyntheticAccountsExistingData: DetailsOfEachMT5Loginid[] | undefined
) => void;
openDerivRealAccountNeededModal: () => void;
};

Expand Down Expand Up @@ -389,6 +395,8 @@ const CFDDashboard = (props: TCFDDashboardProps) => {
mt5_verification_code,
dxtrade_verification_code,
mt5_status_server,
getRealSyntheticAccountsExistingData,
getRealFinancialAccountsExistingData,
openDerivRealAccountNeededModal,
} = props;

Expand Down Expand Up @@ -503,6 +511,8 @@ const CFDDashboard = (props: TCFDDashboardProps) => {
account_status={account_status}
has_cfd_account={has_cfd_account}
onSelectAccount={createCFDAccount}
realSyntheticAccountsExistingData={getRealSyntheticAccountsExistingData}
realFinancialAccountsExistingData={getRealFinancialAccountsExistingData}
account_settings={account_settings}
landing_companies={landing_companies}
is_virtual={is_virtual}
Expand Down Expand Up @@ -726,6 +736,8 @@ export default withRouter(
openPasswordModal: modules.cfd.enableCFDPasswordModal,
openAccountNeededModal: ui.openAccountNeededModal,
toggleCFDPersonalDetailsModal: modules.cfd.toggleCFDPersonalDetailsModal,
getRealSyntheticAccountsExistingData: modules.cfd.getRealSyntheticAccountsExistingData,
getRealFinancialAccountsExistingData: modules.cfd.getRealFinancialAccountsExistingData,
is_loading: client.is_populating_mt5_account_list,
residence: client.residence,
residence_list: client.residence_list,
Expand Down
24 changes: 22 additions & 2 deletions packages/cfd/src/Containers/jurisdiction-modal-content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import classNames from 'classnames';
import { jurisdiction_contents } from 'Constants/jurisdiction-contents';
import RootStore from 'Stores/index';
import { connect } from 'Stores/connect';
import { TExistingData } from 'Components/props.types';

type TAvailableAccountAPI = [
{
Expand Down Expand Up @@ -33,6 +34,8 @@ type TJurisdictionModalContent = {
is_pending_authentication: boolean;
checked: boolean;
setChecked: React.Dispatch<React.SetStateAction<boolean>>;
real_synthetic_accounts_existing_data: TExistingData;
real_financial_accounts_existing_data: TExistingData;
};

type TJurisdictionCard = {
Expand All @@ -46,6 +49,7 @@ type TJurisdictionCard = {
is_pending_authentication: boolean;
selectTypeOfCard: (card_type: string | undefined) => string | undefined;
type_of_card: string;
disabled: boolean;
};

const JurisdictionCard = ({
Expand All @@ -59,6 +63,7 @@ const JurisdictionCard = ({
is_pending_authentication,
selectTypeOfCard,
type_of_card,
disabled,
}: TJurisdictionCard) => {
const number_of_synthetic_accounts_to_be_shown = synthetic_available_accounts.length;
const number_of_financial_accounts_to_be_shown = financial_available_accounts.length;
Expand All @@ -69,8 +74,6 @@ const JurisdictionCard = ({
: number_of_financial_accounts_to_be_shown
);

const [disabled] = React.useState(false);

const poa_verified = poa_status === PoaStatusCodes.verified;
const poa_none = poa_status === PoaStatusCodes.none;
const poi_verified = poi_status === PoaStatusCodes.verified;
Expand Down Expand Up @@ -223,6 +226,8 @@ const JurisdictionModalContent = ({
is_pending_authentication,
checked,
setChecked,
real_synthetic_accounts_existing_data,
real_financial_accounts_existing_data,
}: TJurisdictionModalContent) => {
const poa_none = poa_status === PoaStatusCodes.none;
const poi_none = poi_status === PoaStatusCodes.none;
Expand All @@ -235,6 +240,14 @@ const JurisdictionModalContent = ({
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);
return is_available;
};

const ModalFootNote = () => {
return (
<>
Expand Down Expand Up @@ -321,6 +334,7 @@ const JurisdictionModalContent = ({
poa_status={poa_status}
poi_status={poi_status}
selectTypeOfCard={selectTypeOfCard}
disabled={disableCard('bvi')}
/>
)}

Expand All @@ -336,6 +350,7 @@ const JurisdictionModalContent = ({
poa_status={poa_status}
poi_status={poi_status}
selectTypeOfCard={selectTypeOfCard}
disabled={disableCard('mf')}
/>
)}

Expand All @@ -351,6 +366,7 @@ const JurisdictionModalContent = ({
poa_status={poa_status}
poi_status={poi_status}
selectTypeOfCard={selectTypeOfCard}
disabled={disableCard('vanuatu')}
/>
)}
{cardsToBeShown('labuan') && (
Expand All @@ -365,6 +381,7 @@ const JurisdictionModalContent = ({
poa_status={poa_status}
poi_status={poi_status}
selectTypeOfCard={selectTypeOfCard}
disabled={disableCard('labuan')}
/>
)}

Expand All @@ -380,6 +397,7 @@ const JurisdictionModalContent = ({
poa_status={poa_status}
poi_status={poi_status}
selectTypeOfCard={selectTypeOfCard}
disabled={disableCard('svg')}
/>
)}
</div>
Expand All @@ -402,4 +420,6 @@ export default connect(({ modules: { cfd }, client }: RootStore) => ({
account_status: client.account_status,
selectTypeOfCard: cfd.selectTypeOfCard,
jurisdiction_selected_card: cfd.jurisdiction_selected_card,
real_financial_accounts_existing_data: cfd.real_financial_accounts_existing_data,
real_synthetic_accounts_existing_data: cfd.real_synthetic_accounts_existing_data,
}))(JurisdictionModalContent);
12 changes: 12 additions & 0 deletions packages/cfd/src/Stores/Modules/CFD/cfd-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export default class CFDStore extends BaseStore {
};

@observable new_account_response = {};
@observable real_synthetic_accounts_existing_data = [];
@observable real_financial_accounts_existing_data = [];
@observable map_type = {};
@observable has_cfd_error = false;
@observable error_message = '';
Expand Down Expand Up @@ -424,6 +426,16 @@ export default class CFDStore extends BaseStore {
this.is_compare_accounts_visible = !this.is_compare_accounts_visible;
}

@action.bound
getRealSyntheticAccountsExistingData(real_synthetic_accounts_existing_data) {
this.real_synthetic_accounts_existing_data = real_synthetic_accounts_existing_data;
}

@action.bound
getRealFinancialAccountsExistingData(real_financial_accounts_existing_data) {
this.real_financial_accounts_existing_data = real_financial_accounts_existing_data;
}

@action.bound
toggleJurisdictionModal() {
this.is_jurisdiction_modal_visible = !this.is_jurisdiction_modal_visible;
Expand Down

0 comments on commit 3261397

Please sign in to comment.