Skip to content
This repository was archived by the owner on Feb 22, 2024. It is now read-only.

Commit d13cca1

Browse files
fix_mlt_and_uk_market_in_DsmartTrader
1 parent 5f14254 commit d13cca1

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

src/javascript/_common/base/client_base.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,13 @@ const ClientBase = (() => {
434434
}
435435
};
436436

437+
const isMalta = () => {
438+
const malta_countries = ['at', 'be', 'bg', 'cy', 'cz', 'dk', 'ee', 'fi', 'hr', 'hu', 'ie', 'lt', 'lv', 'nl', 'pl', 'pt', 'ro', 'se', 'si', 'sk'];
439+
const country = State.getResponse('authorize.country');
440+
441+
return malta_countries.includes(country);
442+
};
443+
437444
return {
438445
init,
439446
isLoggedIn,
@@ -466,6 +473,7 @@ const ClientBase = (() => {
466473
canTransferFunds,
467474
hasSvgAccount,
468475
canChangeCurrency,
476+
isMalta,
469477
};
470478
})();
471479

src/javascript/app/pages/trade/markets.jsx

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import Defaults from './defaults';
66
import { sortSubmarket, getAvailableUnderlyings } from '../../common/active_symbols';
77
import { getElementById } from '../../../_common/common_functions';
88
import { localize } from '../../../_common/localize';
9+
import Client from '../../base/client';
10+
import { State } from '../../../_common/storage';
911

1012
function scrollToPosition (element, to, duration) {
1113
const requestAnimationFrame = window.requestAnimationFrame ||
@@ -69,7 +71,8 @@ class Markets extends React.Component {
6971
constructor (props) {
7072
super(props);
7173
let market_symbol = Defaults.get('market');
72-
74+
let final_markets_arr,
75+
final_market_obj;
7376
const market_list = Symbols.markets();
7477
this.markets = getAvailableUnderlyings(market_list);
7578

@@ -79,8 +82,20 @@ class Markets extends React.Component {
7982
const submarket = Object.keys(this.markets[market_symbol].submarkets).sort(sortSubmarket)[0];
8083
underlying_symbol = Object.keys(this.markets[market_symbol].submarkets[submarket].symbols).sort()[0];
8184
}
85+
const is_synthetic = symbol => /^(synthetic)/i.test(symbol);
86+
const is_uk = State.getResponse('authorize.country') === 'gb';
8287
const markets_arr = Object.entries(this.markets).sort((a, b) => sortSubmarket(a[0], b[0]));
83-
this.markets_all = markets_arr.slice();
88+
if ((Client.isMalta() || is_uk) && Client.getAccountOfType('virtual')) {
89+
final_markets_arr = markets_arr.filter(market => is_synthetic(market));
90+
final_market_obj = Object.fromEntries(final_markets_arr);
91+
market_symbol = Object.keys(final_market_obj)[0];
92+
const submarket = Object.keys(final_market_obj[market_symbol].submarkets).sort(sortSubmarket)[0];
93+
underlying_symbol = Object.keys(final_market_obj[market_symbol].submarkets[submarket].symbols).sort()[0];
94+
} else {
95+
final_markets_arr = markets_arr;
96+
final_market_obj = Object.fromEntries(final_markets_arr);
97+
}
98+
this.markets_all = final_markets_arr.slice();
8499
if (!(market_symbol in this.markets)) {
85100
market_symbol = Object.keys(this.markets).find(m => this.markets[m].submarkets[market_symbol]);
86101
Defaults.set('market', market_symbol);
@@ -91,13 +106,13 @@ class Markets extends React.Component {
91106
open : false,
92107
market: {
93108
symbol: market_symbol,
94-
name : this.markets[market_symbol].name,
109+
name : final_market_obj[market_symbol].name,
95110
},
96111
underlying: {
97112
symbol: underlying_symbol,
98113
name : this.underlyings[underlying_symbol],
99114
},
100-
markets : markets_arr,
115+
markets : final_markets_arr,
101116
active_market : market_symbol,
102117
query : '',
103118
open_dropdown_scroll_id: 0,

0 commit comments

Comments
 (0)