From 3aeccdf406ab88e3dc6dd06367d40aba40fcfe18 Mon Sep 17 00:00:00 2001 From: OskarAhl Date: Thu, 16 May 2019 16:40:59 +0200 Subject: [PATCH 1/9] remove extra debouncedProposal from onMount --- src/javascript/app/Stores/Modules/Trading/trade-store.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/javascript/app/Stores/Modules/Trading/trade-store.js b/src/javascript/app/Stores/Modules/Trading/trade-store.js index 95185ce930a2..7cd2444846c4 100644 --- a/src/javascript/app/Stores/Modules/Trading/trade-store.js +++ b/src/javascript/app/Stores/Modules/Trading/trade-store.js @@ -547,7 +547,6 @@ export default class TradeStore extends BaseStore { @action.bound async onMount() { await this.prepareTradeStore(); - this.debouncedProposal(); runInAction(() => { this.is_trade_component_mounted = true; }); From bf78f80571245306a26daac1dce7a700778db994 Mon Sep 17 00:00:00 2001 From: OskarAhl Date: Fri, 17 May 2019 10:21:57 +0200 Subject: [PATCH 2/9] Fix forgetting in trade-store, await forgetAll on tradeStore unmount --- src/javascript/app/Stores/Modules/Trading/trade-store.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/javascript/app/Stores/Modules/Trading/trade-store.js b/src/javascript/app/Stores/Modules/Trading/trade-store.js index 7cd2444846c4..5b70a5335cca 100644 --- a/src/javascript/app/Stores/Modules/Trading/trade-store.js +++ b/src/javascript/app/Stores/Modules/Trading/trade-store.js @@ -574,9 +574,9 @@ export default class TradeStore extends BaseStore { } @action.bound - onUnmount() { + async onUnmount() { this.disposeSwitchAccount(); - WS.forgetAll('proposal', 'ticks_history'); + await WS.forgetAll('proposal'); this.is_trade_component_mounted = false; } } From 0676cd59ae7a8651919e83871de7bf25ff170ffa Mon Sep 17 00:00:00 2001 From: OskarAhl Date: Fri, 17 May 2019 12:41:45 +0200 Subject: [PATCH 3/9] initialize with debouncedProposal instead of proposal --- src/javascript/app/Stores/Modules/Trading/trade-store.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/javascript/app/Stores/Modules/Trading/trade-store.js b/src/javascript/app/Stores/Modules/Trading/trade-store.js index 1a0dd2a19e4c..fe73df4a7e1b 100644 --- a/src/javascript/app/Stores/Modules/Trading/trade-store.js +++ b/src/javascript/app/Stores/Modules/Trading/trade-store.js @@ -108,7 +108,6 @@ export default class TradeStore extends BaseStore { // Query string query = ''; - debouncedProposal = debounce(this.requestProposal, 500); proposal_requests = {}; @action.bound @@ -547,6 +546,7 @@ export default class TradeStore extends BaseStore { @action.bound async onMount() { await this.prepareTradeStore(); + this.debouncedProposal(); runInAction(() => { this.is_trade_component_mounted = true; }); @@ -574,9 +574,9 @@ export default class TradeStore extends BaseStore { } @action.bound - async onUnmount() { + onUnmount() { this.disposeSwitchAccount(); - await WS.forgetAll('proposal'); + WS.forgetAll('proposal'); this.is_trade_component_mounted = false; } } From 5c8f6bb7d07842ca04b3d3bfcaafade08e0d938e Mon Sep 17 00:00:00 2001 From: OskarAhl Date: Fri, 17 May 2019 12:43:52 +0200 Subject: [PATCH 4/9] initialize with debouncedProposal instead of proposal --- src/javascript/app/Stores/Modules/Trading/trade-store.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/javascript/app/Stores/Modules/Trading/trade-store.js b/src/javascript/app/Stores/Modules/Trading/trade-store.js index fe73df4a7e1b..3d3adac5fecd 100644 --- a/src/javascript/app/Stores/Modules/Trading/trade-store.js +++ b/src/javascript/app/Stores/Modules/Trading/trade-store.js @@ -108,6 +108,7 @@ export default class TradeStore extends BaseStore { // Query string query = ''; + debouncedProposal = debounce(this.requestProposal, 500); proposal_requests = {}; @action.bound From cbb4faf557bf1d60135233b9a1edabd803a596f4 Mon Sep 17 00:00:00 2001 From: zakibinary Date: Mon, 20 May 2019 21:07:29 +0800 Subject: [PATCH 5/9] updated logic for mounting contract, wait for longcode string from poc response --- src/javascript/app/Modules/Contract/Containers/info-box.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/javascript/app/Modules/Contract/Containers/info-box.jsx b/src/javascript/app/Modules/Contract/Containers/info-box.jsx index 8f69c8194370..7f2e0d972e25 100644 --- a/src/javascript/app/Modules/Contract/Containers/info-box.jsx +++ b/src/javascript/app/Modules/Contract/Containers/info-box.jsx @@ -18,9 +18,10 @@ const InfoBox = ({ }) => { const Contents = InfoBoxLongcode; const info = is_trade_page ? contract_info : replay_info; + const is_ready = is_contract_mode && !!(info.longcode); return ( Date: Mon, 20 May 2019 15:49:26 +0200 Subject: [PATCH 6/9] smartcharts 0.4.28 --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d09baae751f..be5219e2d0d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8506,9 +8506,9 @@ }, "dependencies": { "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", + "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -12440,9 +12440,9 @@ } }, "smartcharts-beta": { - "version": "0.4.27", - "resolved": "https://registry.npmjs.org/smartcharts-beta/-/smartcharts-beta-0.4.27.tgz", - "integrity": "sha512-1SEwqz1NgUi7Mi8V66JbZRHXno3spET6JJnFcm/s5HqmK3g++QIJeHaleyDdfItbNU+mXCc1MtQwI11MV7DemQ==", + "version": "0.4.28", + "resolved": "https://registry.npmjs.org/smartcharts-beta/-/smartcharts-beta-0.4.28.tgz", + "integrity": "sha512-PlizaOhL7N22kzQ0B4n6TONnUb2IO/4EwboCMg6BiJ5GR0thah6PrX0alH+8uqE9ZnURjpDZq07F3RVXOu4cPw==", "requires": { "event-emitter-es6": "^1.1.5", "lodash.debounce": "^4.0.8", diff --git a/package.json b/package.json index af5545fb2e10..577cb9fe9801 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "react-router-dom": "5.0.0", "react-transition-group": "2.4.0", "sinon": "7.2.2", - "smartcharts-beta": "0.4.27", + "smartcharts-beta": "0.4.28", "tt-react-custom-scrollbars": "4.2.1-tt2", "url-polyfill": "1.0.9", "web-push-notifications": "3.2.15" From cf9a73310e26f5aed8ebdf0a8d5040a2aa48760e Mon Sep 17 00:00:00 2001 From: OskarAhl Date: Tue, 21 May 2019 11:20:08 +0800 Subject: [PATCH 7/9] move durationcheck to render of duration-wrapper --- .../TradeParams/Duration/duration-wrapper.jsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/javascript/app/Modules/Trading/Components/Form/TradeParams/Duration/duration-wrapper.jsx b/src/javascript/app/Modules/Trading/Components/Form/TradeParams/Duration/duration-wrapper.jsx index a455ec87a19c..dc94bd07fcf7 100644 --- a/src/javascript/app/Modules/Trading/Components/Form/TradeParams/Duration/duration-wrapper.jsx +++ b/src/javascript/app/Modules/Trading/Components/Form/TradeParams/Duration/duration-wrapper.jsx @@ -64,18 +64,9 @@ class DurationWrapper extends React.Component { // intercept changes to contract duration and check that trade_store and ui_store are aligned. componentWillReact() { - const simple_is_missing_duration_unit = (!this.props.is_advanced_duration && this.props.simple_duration_unit === 'd' && this.props.duration_units_list.length === 4); - const current_duration_unit = (this.props.is_advanced_duration ? - this.props.advanced_duration_unit : this.props.simple_duration_unit); const current_duration = this.props.getDurationFromUnit(this.props.duration_unit); - const has_missing_duration_unit = !this.hasDurationUnit(current_duration_unit); const simple_is_not_type_duration = (!this.props.is_advanced_duration && this.props.expiry_type !== 'duration'); - if (has_missing_duration_unit || simple_is_missing_duration_unit) { - this.setDurationUnit(); - return; - } - // simple only has expiry type duration if (simple_is_not_type_duration) { this.props.onChange({ target: { name: 'expiry_type', value: 'duration' } }); @@ -91,6 +82,15 @@ class DurationWrapper extends React.Component { } render() { + const current_duration_unit = (this.props.is_advanced_duration ? + this.props.advanced_duration_unit : this.props.simple_duration_unit); + const has_missing_duration_unit = !this.hasDurationUnit(current_duration_unit); + const simple_is_missing_duration_unit = (!this.props.is_advanced_duration && this.props.simple_duration_unit === 'd' && this.props.duration_units_list.length === 4); + + if (has_missing_duration_unit || simple_is_missing_duration_unit) { + this.setDurationUnit(); + } + return ( Date: Tue, 21 May 2019 10:58:11 +0800 Subject: [PATCH 8/9] update deriv logo --- src/images/app/header/symbol.svg | 1 - .../Components/Layout/Header/menu-links.jsx | 11 +++++----- .../app/App/Constants/header-links.js | 6 ++++-- .../app/Assets/Header/NavBar/icon-deriv.jsx | 20 +++++++++++++++++++ .../app/Assets/Header/NavBar/index.js | 1 + src/sass/app/_common/layout/header.scss | 15 ++++---------- 6 files changed, 35 insertions(+), 19 deletions(-) delete mode 100644 src/images/app/header/symbol.svg create mode 100644 src/javascript/app/Assets/Header/NavBar/icon-deriv.jsx diff --git a/src/images/app/header/symbol.svg b/src/images/app/header/symbol.svg deleted file mode 100644 index 6da850ac0274..000000000000 --- a/src/images/app/header/symbol.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/javascript/app/App/Components/Layout/Header/menu-links.jsx b/src/javascript/app/App/Components/Layout/Header/menu-links.jsx index 90bbd5888323..1b3738b48c1b 100644 --- a/src/javascript/app/App/Components/Layout/Header/menu-links.jsx +++ b/src/javascript/app/App/Components/Layout/Header/menu-links.jsx @@ -1,13 +1,9 @@ import PropTypes from 'prop-types'; import React from 'react'; -import Symbol from 'Images/app/header/symbol.svg'; import { BinaryLink } from '../../Routes'; const MenuLinks = ({ is_logged_in, items }) => ( -
- -
{!!items.length &&
{ @@ -16,7 +12,12 @@ const MenuLinks = ({ is_logged_in, items }) => ( null : - {item.icon}{item.text}{item.logo} + {item.text && + {item.icon}{item.text}{item.logo} + } + {item.image && + {item.image}{item.logo} + } )) } diff --git a/src/javascript/app/App/Constants/header-links.js b/src/javascript/app/App/Constants/header-links.js index f728f34c2b2c..196f2bb9d3fa 100644 --- a/src/javascript/app/App/Constants/header-links.js +++ b/src/javascript/app/App/Constants/header-links.js @@ -1,13 +1,15 @@ import React from 'react'; import { localize } from '_common/localize'; import { Icon } from 'Assets/Common'; -import { IconReports } from 'Assets/Header/NavBar/index'; +import { + IconReports, + IconDeriv } from 'Assets/Header/NavBar/index'; import { routes } from 'Constants/index'; const header_links = [ { logo :
{localize('BETA')}
, - text : localize('Deriv'), + image : , link_to: routes.trade, }, { diff --git a/src/javascript/app/Assets/Header/NavBar/icon-deriv.jsx b/src/javascript/app/Assets/Header/NavBar/icon-deriv.jsx new file mode 100644 index 000000000000..9a421ebbfd89 --- /dev/null +++ b/src/javascript/app/Assets/Header/NavBar/icon-deriv.jsx @@ -0,0 +1,20 @@ +import classNames from 'classnames'; +import PropTypes from 'prop-types'; +import React from 'react'; + +const IconDeriv = ({ className }) => ( + + + + + + + + +); + +IconDeriv.propTypes = { + className: PropTypes.string, +}; + +export { IconDeriv }; diff --git a/src/javascript/app/Assets/Header/NavBar/index.js b/src/javascript/app/Assets/Header/NavBar/index.js index 2a1910dc27ae..add56737210d 100644 --- a/src/javascript/app/Assets/Header/NavBar/index.js +++ b/src/javascript/app/Assets/Header/NavBar/index.js @@ -1,5 +1,6 @@ export * from './icon-bell.jsx'; export * from './icon-cashier.jsx'; +export * from './icon-deriv.jsx'; export * from './icon-hamburger.jsx'; export * from './icon-portfolio.jsx'; export * from './icon-reports.jsx'; diff --git a/src/sass/app/_common/layout/header.scss b/src/sass/app/_common/layout/header.scss index f65eba6361a7..c4a95933b51e 100644 --- a/src/sass/app/_common/layout/header.scss +++ b/src/sass/app/_common/layout/header.scss @@ -36,13 +36,6 @@ align-self: center; height: 100%; - &--deriv-logo { - box-sizing: border-box; - display: flex; - justify-content: center; - align-items: center; - padding-right: 0.8em; - } &--notify-toggle { order: 2; order: 2; @@ -88,10 +81,10 @@ &-text { @include typeface(--title-left-normal-black); - padding: 0.5em 0.5em 0.5em 0; + padding: 0.5em 0; position: relative; @include themify($themes) { - @include colorIcon(themed('text_primary_color'), none); + @include colorIcon(themed('text_primary_color'), none, themed('text_primary_color')); color: themed('text_primary_color'); } @@ -139,11 +132,11 @@ font-weight: normal; height: 20px; line-height: 1.43; - margin-left: 0.8rem; text-align: center; width: 50px; } &__icon { - margin-right: 0.8em; + margin-right: 0.8rem; + vertical-align: middle; } } From c461f7929687da55d521bf5c723b4a675e020346 Mon Sep 17 00:00:00 2001 From: negar Date: Tue, 21 May 2019 12:45:26 +0800 Subject: [PATCH 9/9] load light theme by default --- .../app/Stores/Modules/SmartChart/chart-barrier-store.js | 2 +- src/javascript/app/Stores/ui-store.js | 2 +- src/templates/app/components/loading.jsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/javascript/app/Stores/Modules/SmartChart/chart-barrier-store.js b/src/javascript/app/Stores/Modules/SmartChart/chart-barrier-store.js index 704b63cbb217..35d57fa53c5a 100644 --- a/src/javascript/app/Stores/Modules/SmartChart/chart-barrier-store.js +++ b/src/javascript/app/Stores/Modules/SmartChart/chart-barrier-store.js @@ -29,7 +29,7 @@ export class ChartBarrierStore { onChartBarrierChange = null, { color, line_style, not_draggable } = {} ) { - this.color = color; // dark mode is the default mode + this.color = color; this.lineStyle = line_style || BARRIER_LINE_STYLES.SOLID; this.onChange = this.onBarrierChange; diff --git a/src/javascript/app/Stores/ui-store.js b/src/javascript/app/Stores/ui-store.js index fd7575b4ac43..a507cd7fcf78 100644 --- a/src/javascript/app/Stores/ui-store.js +++ b/src/javascript/app/Stores/ui-store.js @@ -17,7 +17,7 @@ export default class UIStore extends BaseStore { @observable is_notifications_drawer_on = false; @observable is_positions_drawer_on = false; - @observable is_dark_mode_on = true; + @observable is_dark_mode_on = false; @observable is_language_dialog_on = false; @observable is_settings_dialog_on = false; @observable is_accounts_switcher_on = false; diff --git a/src/templates/app/components/loading.jsx b/src/templates/app/components/loading.jsx index 8f1e194ceb76..38ed677ac8ca 100644 --- a/src/templates/app/components/loading.jsx +++ b/src/templates/app/components/loading.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; const Loading = ({ theme, id }) => (
-
+
{ Array.from(new Array(5)).map((x, inx) => (
))}