Skip to content
This repository was archived by the owner on Feb 22, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
9776c7e
Binary Pop Up Warning Message
suisin-deriv Sep 12, 2022
b8d3fac
Merge branch 'master' of github.com:binary-com/binary-static into sui…
suisin-deriv Sep 13, 2022
aa4ff89
Updated Latest File Display for warning message pop up
suisin-deriv Sep 13, 2022
06036d6
Update File Location
suisin-deriv Sep 13, 2022
600974b
Update icons and scss for popup
suisin-deriv Sep 14, 2022
45c920e
Update Logics for not displaying on New Sign Up Account
suisin-deriv Sep 15, 2022
8ee61d7
Merge branch 'master' into suisin/scam_message_warning_for_brazil_binary
suisin-deriv Sep 15, 2022
d8e08bc
Merge branch 'master' of github.com:binary-com/binary-static into sui…
suisin-deriv Sep 15, 2022
01bfb13
Merge branch 'suisin/scam_message_warning_for_brazil_binary' of githu…
suisin-deriv Sep 15, 2022
3bf6899
Update to a better naming and spacing
suisin-deriv Sep 19, 2022
80bd1f4
test
suisin-deriv Sep 19, 2022
a296286
revert
suisin-deriv Sep 19, 2022
d37eebe
rename is_at_brazil to is_brazil_client
suisin-deriv Sep 19, 2022
d19343e
Update ID and ClassName
suisin-deriv Sep 19, 2022
fbc22be
Merge branch 'master' into suisin/scam_message_warning_for_brazil_binary
suisin-deriv Sep 20, 2022
5f0b97f
Merge branch 'master' into suisin/scam_message_warning_for_brazil_binary
suisin-deriv Sep 20, 2022
7c23388
Merge branch 'master' into suisin/scam_message_warning_for_brazil_binary
suisin-deriv Sep 20, 2022
4547e54
Remove Conflict
suisin-deriv Sep 20, 2022
115a245
Merge branch 'suisin/scam_message_warning_for_brazil_binary' of githu…
suisin-deriv Sep 20, 2022
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
1 change: 1 addition & 0 deletions src/images/pages/warning_scam_message/ic-account-cross.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/images/pages/warning_scam_message/ic-account-tick.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/javascript/app/base/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,9 @@ const Client = (() => {
if (response.logout !== 1) return;
removeCookies('login', 'loginid', 'loginid_list', 'email', 'residence', 'settings'); // backward compatibility
removeCookies('reality_check', 'affiliate_token', 'affiliate_tracking', 'onfido_token', 'hide_guide');
// clear local storage
localStorage.removeItem('read_scam_message');
localStorage.removeItem('new_user_account');
// clear elev.io session storage
sessionStorage.removeItem('_elevaddon-6app');
sessionStorage.removeItem('_elevaddon-6create');
Expand Down
72 changes: 38 additions & 34 deletions src/javascript/app/base/page.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,38 @@
const Cookies = require('js-cookie');
const moment = require('moment');
const Client = require('./client');
const Contents = require('./contents');
const Header = require('./header');
const Footer = require('./footer');
const Menu = require('./menu');
const BinarySocket = require('./socket');
const TrafficSource = require('../common/traffic_source');
const RealityCheck = require('../pages/user/reality_check/reality_check');
const Login = require('../../_common/base/login');
const ClientBase = require('../../_common/base/client_base');
const elementInnerHtml = require('../../_common/common_functions').elementInnerHtml;
const getElementById = require('../../_common/common_functions').getElementById;
const Crowdin = require('../../_common/crowdin');
const GTM = require('../../_common/gtm');
const Language = require('../../_common/language');
const PushNotification = require('../../_common/lib/push_notification');
const localize = require('../../_common/localize').localize;
const isMobile = require('../../_common/os_detect').isMobile;
const LocalStore = require('../../_common/storage').LocalStore;
const State = require('../../_common/storage').State;
const scrollToTop = require('../../_common/scroll').scrollToTop;
const toISOFormat = require('../../_common/string_util').toISOFormat;
const Url = require('../../_common/url');
const createElement = require('../../_common/utility').createElement;
const isLoginPages = require('../../_common/utility').isLoginPages;
const isProduction = require('../../config').isProduction;
const ClosePopup = require('../common/game_close_popup');
const EuClosePopup = require('../common/eu_close_popup');
const EuCloseBanner = require('../common/eu_close_baner');
const CloseBanner = require('../common/game_close_banner');
const RedirectBanner = require('../common/redirect_banner');
const DerivBanner = require('../common/deriv_banner');
const Cookies = require('js-cookie');
const moment = require('moment');
const Client = require('./client');
const Contents = require('./contents');
const Header = require('./header');
const Footer = require('./footer');
const Menu = require('./menu');
const BinarySocket = require('./socket');
const TrafficSource = require('../common/traffic_source');
const RealityCheck = require('../pages/user/reality_check/reality_check');
const Login = require('../../_common/base/login');
const ClientBase = require('../../_common/base/client_base');
const elementInnerHtml = require('../../_common/common_functions').elementInnerHtml;
const getElementById = require('../../_common/common_functions').getElementById;
const Crowdin = require('../../_common/crowdin');
const GTM = require('../../_common/gtm');
const Language = require('../../_common/language');
const PushNotification = require('../../_common/lib/push_notification');
const localize = require('../../_common/localize').localize;
const isMobile = require('../../_common/os_detect').isMobile;
const LocalStore = require('../../_common/storage').LocalStore;
const State = require('../../_common/storage').State;
const scrollToTop = require('../../_common/scroll').scrollToTop;
const toISOFormat = require('../../_common/string_util').toISOFormat;
const Url = require('../../_common/url');
const createElement = require('../../_common/utility').createElement;
const isLoginPages = require('../../_common/utility').isLoginPages;
const isProduction = require('../../config').isProduction;
const WarningScamMessage = require('../pages/user/warning_scam_message');
const ClosePopup = require('../common/game_close_popup');
const EuClosePopup = require('../common/eu_close_popup');
const EuCloseBanner = require('../common/eu_close_baner');
const CloseBanner = require('../common/game_close_banner');
const RedirectBanner = require('../common/redirect_banner');
const DerivBanner = require('../common/deriv_banner');
const { removeLoadingImage } = require('../../_common/utility');
require('../../_common/lib/polyfills/array.includes');
require('../../_common/lib/polyfills/string.includes');
Expand Down Expand Up @@ -128,13 +129,16 @@ const Page = (() => {
}, 1000);
RealityCheck.onLoad();
Menu.init();
const is_brazil_client = State.getResponse('website_status.clients_country') === 'br';
const read_scam_message = localStorage.getItem('read_scam_message') || false;
const is_uk_residence = (Client.get('residence') === 'gb' || State.getResponse('website_status.clients_country') === 'gb');
const is_iom_client = (Client.get('residence') === 'im' || State.getResponse('website_status.clients_country') === 'im');
const is_be_client = (Client.get('residence') === 'be' || State.getResponse('website_status.clients_country') === 'be') && Client.hasAccountType('gaming');
const is_at_client = (Client.get('residence') === 'at' || State.getResponse('website_status.clients_country') === 'at') && Client.hasAccountType('gaming');
const mlt_check = ClientBase.get('landing_company_shortcode') === 'malta';
const mf_check = ClientBase.get('landing_company_shortcode') === 'maltainvest';
const virtual_account = Client.get('landing_company_shortcode') === 'virtual';
if (is_brazil_client && !read_scam_message) { WarningScamMessage.has_read_warning_scam_message(); }
if (!is_iom_client || is_uk_residence && !Client.hasAccountType('gaming') || mf_check || mlt_check) RedirectBanner.loginOnLoad();
if (is_uk_residence && Client.hasAccountType('gaming')) {
CloseBanner.onLoad();
Expand Down
50 changes: 50 additions & 0 deletions src/javascript/app/pages/user/warning_scam_message.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
const getElementById = require('../../../_common/common_functions').getElementById;
const BinarySocket = require('../../base/socket');
const Client = require('../../base/client');
const State = require('../../../_common/storage').State;

const WarningScamMessage = (()=>{
const urlParams = new URLSearchParams(window.location.search);
const actionParams = urlParams.get('action');
let warning_scam_message, warning_scam_message_button, warning_scam_message_checkbox;

if (actionParams === 'signup') {
localStorage.setItem('new_user_account', true);
}

const has_read_warning_scam_message = () => {
BinarySocket.wait('authorize', 'website_status').then(()=> {
const is_logged_in = !!Client.isLoggedIn();
const is_brazil = State.getResponse('website_status.clients_country') === 'br';
const is_message_read = !!localStorage.getItem('read_scam_message');
const is_new_account = !!localStorage.getItem('new_user_account');

if (is_logged_in && is_brazil && !is_message_read && !is_new_account) {
warning_scam_message = getElementById('warning_scam_message');
warning_scam_message_checkbox = getElementById('warning_scam_message_checkbox');
}
warning_scam_message.setVisibility(1);
warning_scam_message_checkbox.addEventListener('change', acknowledgeMessage);
});
};

const acknowledgeMessage = () => {
warning_scam_message_button = getElementById('warning_scam_message_button');
if (warning_scam_message_button.classList.contains('button-disabled')) {
warning_scam_message_button.classList.remove('button-disabled');
} else {
warning_scam_message_button.classList.add('button-disabled');
}

warning_scam_message_button.addEventListener('click',closePopup);
};

const closePopup = () => {
localStorage.setItem('read_scam_message', true);
warning_scam_message.setVisibility(0);
};

return { has_read_warning_scam_message, acknowledgeMessage, closePopup };
})();

module.exports = WarningScamMessage;
Loading