@@ -6,6 +6,8 @@ import Defaults from './defaults';
6
6
import { sortSubmarket , getAvailableUnderlyings } from '../../common/active_symbols' ;
7
7
import { getElementById } from '../../../_common/common_functions' ;
8
8
import { localize } from '../../../_common/localize' ;
9
+ import Client from '../../base/client' ;
10
+ import { State } from '../../../_common/storage' ;
9
11
10
12
function scrollToPosition ( element , to , duration ) {
11
13
const requestAnimationFrame = window . requestAnimationFrame ||
@@ -69,7 +71,8 @@ class Markets extends React.Component {
69
71
constructor ( props ) {
70
72
super ( props ) ;
71
73
let market_symbol = Defaults . get ( 'market' ) ;
72
-
74
+ let final_markets_arr ,
75
+ final_market_obj ;
73
76
const market_list = Symbols . markets ( ) ;
74
77
this . markets = getAvailableUnderlyings ( market_list ) ;
75
78
@@ -79,8 +82,20 @@ class Markets extends React.Component {
79
82
const submarket = Object . keys ( this . markets [ market_symbol ] . submarkets ) . sort ( sortSubmarket ) [ 0 ] ;
80
83
underlying_symbol = Object . keys ( this . markets [ market_symbol ] . submarkets [ submarket ] . symbols ) . sort ( ) [ 0 ] ;
81
84
}
85
+ const is_synthetic = symbol => / ^ ( s y n t h e t i c ) / i. test ( symbol ) ;
86
+ const is_uk = State . getResponse ( 'authorize.country' ) === 'gb' ;
82
87
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 ( ) ;
84
99
if ( ! ( market_symbol in this . markets ) ) {
85
100
market_symbol = Object . keys ( this . markets ) . find ( m => this . markets [ m ] . submarkets [ market_symbol ] ) ;
86
101
Defaults . set ( 'market' , market_symbol ) ;
@@ -91,13 +106,13 @@ class Markets extends React.Component {
91
106
open : false ,
92
107
market : {
93
108
symbol : market_symbol ,
94
- name : this . markets [ market_symbol ] . name ,
109
+ name : final_market_obj [ market_symbol ] . name ,
95
110
} ,
96
111
underlying : {
97
112
symbol : underlying_symbol ,
98
113
name : this . underlyings [ underlying_symbol ] ,
99
114
} ,
100
- markets : markets_arr ,
115
+ markets : final_markets_arr ,
101
116
active_market : market_symbol ,
102
117
query : '' ,
103
118
open_dropdown_scroll_id : 0 ,
0 commit comments