From 1ada9575143ee2ddd7c85d1a72257a9ba810372c Mon Sep 17 00:00:00 2001 From: NikitK-deriv Date: Fri, 16 Dec 2022 13:31:18 +0300 Subject: [PATCH 1/3] feat: redirect from binary/partned to deriv/partners --- src/javascript/app/base/binary_pages.js | 2 + .../static/pages/partners_landing.js | 48 +++++++++++++++++++ .../static/payment_agent_landing.jsx | 11 +++++ 3 files changed, 61 insertions(+) create mode 100644 src/javascript/static/pages/partners_landing.js create mode 100644 src/templates/static/payment_agent_landing.jsx diff --git a/src/javascript/app/base/binary_pages.js b/src/javascript/app/base/binary_pages.js index 6ad60cc19f615..e4a645a950de6 100644 --- a/src/javascript/app/base/binary_pages.js +++ b/src/javascript/app/base/binary_pages.js @@ -70,6 +70,7 @@ const StaticPages = require('../../static/pages/static_pages'); const TermsAndConditions = require('../../static/pages/tnc'); const WhyUs = require('../../static/pages/why_us'); const AffiliatesIBLanding = require('../../static/pages/affiliate_ib_landing'); +const PartnersLanding = require('../../static/pages/partners_landing'); const ResponsibleTrading = require('../../static/pages/responsible_trading'); /* eslint-disable max-len */ @@ -146,6 +147,7 @@ const pages_config = { withdrawws : { module: PaymentAgentWithdraw, is_authenticated: true, only_real: true }, 'affiliate-ib' : { module: AffiliatesIBLanding }, + 'partners' : { module: PartnersLanding }, 'binary-in-numbers' : { module: StaticPages.BinaryInNumbers }, 'binary-options' : { module: GetStarted.BinaryOptions }, // 'contact-2' : { module: Contact2 }, diff --git a/src/javascript/static/pages/partners_landing.js b/src/javascript/static/pages/partners_landing.js new file mode 100644 index 0000000000000..15d94943a4d25 --- /dev/null +++ b/src/javascript/static/pages/partners_landing.js @@ -0,0 +1,48 @@ +const Url = require('../../../javascript/_common/url.js'); +const TabSelector = require('../../_common/tab_selector'); +const getLanguage = require('../../_common/language.js').get; + +const PartnersLanding = (() => { + const current_language = getLanguage().toLowerCase().replace(/_/g, '-'); + const onLoad = () => { + window.location.replace(`https://deriv.com/${current_language}/partners`); + initializeTypeOfPartnersTab(); + }; + + const initializeTypeOfPartnersTab = () => { + const navigation_tabs = $('.has-tabs').children('ul').find('li'); + const params_hash = Url.paramsHash(); + + if (params_hash.tabs === undefined) { + Url.updateParamsWithoutReload({ tabs: getTabAnchorWithoutHashTag(navigation_tabs.first()) }, true); + $('.has-tabs').tabs(); + } else { + navigation_tabs.each((index, element) => { + const tabIndex = (params_hash.tabs === getTabAnchorWithoutHashTag(element)) && index; + $('.has-tabs').tabs({ active: tabIndex }); + }); + } + + navigation_tabs.each((index, element) => { + $(element).on('click', () => { + Url.updateParamsWithoutReload({ tabs: getTabAnchorWithoutHashTag(element) }, true); + TabSelector.repositionSelector(); + }); + }); + + TabSelector.onLoad(); + }; + + const getTabAnchorWithoutHashTag = (element) => $(element).find('a').attr('href').replace('#', ''); + + const onUnload = () => { + TabSelector.onUnload(); + }; + + return { + onLoad, + onUnload, + }; +})(); + +module.exports = PartnersLanding; diff --git a/src/templates/static/payment_agent_landing.jsx b/src/templates/static/payment_agent_landing.jsx new file mode 100644 index 0000000000000..cdd478e4c5565 --- /dev/null +++ b/src/templates/static/payment_agent_landing.jsx @@ -0,0 +1,11 @@ +import React from 'react'; + +import Partners from './partners/partners.jsx'; + +const ParntersLanding = () => ( + + + +); + +export default ParntersLanding; From aed46c562d90a525167b2d457930d4f65118b273 Mon Sep 17 00:00:00 2001 From: NikitK-deriv Date: Tue, 20 Dec 2022 14:04:40 +0300 Subject: [PATCH 2/3] feat: add more pages to redirect and refactor approach --- src/javascript/app/base/binary_pages.js | 4 +- .../static/pages/partners_landing.js | 48 ------------------- src/javascript/static/pages/static_pages.js | 16 ++++++- .../static/payment_agent_landing.jsx | 11 ----- 4 files changed, 17 insertions(+), 62 deletions(-) delete mode 100644 src/javascript/static/pages/partners_landing.js delete mode 100644 src/templates/static/payment_agent_landing.jsx diff --git a/src/javascript/app/base/binary_pages.js b/src/javascript/app/base/binary_pages.js index e4a645a950de6..8b2e6abd2f895 100644 --- a/src/javascript/app/base/binary_pages.js +++ b/src/javascript/app/base/binary_pages.js @@ -70,7 +70,6 @@ const StaticPages = require('../../static/pages/static_pages'); const TermsAndConditions = require('../../static/pages/tnc'); const WhyUs = require('../../static/pages/why_us'); const AffiliatesIBLanding = require('../../static/pages/affiliate_ib_landing'); -const PartnersLanding = require('../../static/pages/partners_landing'); const ResponsibleTrading = require('../../static/pages/responsible_trading'); /* eslint-disable max-len */ @@ -147,7 +146,8 @@ const pages_config = { withdrawws : { module: PaymentAgentWithdraw, is_authenticated: true, only_real: true }, 'affiliate-ib' : { module: AffiliatesIBLanding }, - 'partners' : { module: PartnersLanding }, + 'partners' : { module: StaticPages.Partners }, + 'security-testing' : { module: StaticPages.SecurityTesting }, 'binary-in-numbers' : { module: StaticPages.BinaryInNumbers }, 'binary-options' : { module: GetStarted.BinaryOptions }, // 'contact-2' : { module: Contact2 }, diff --git a/src/javascript/static/pages/partners_landing.js b/src/javascript/static/pages/partners_landing.js deleted file mode 100644 index 15d94943a4d25..0000000000000 --- a/src/javascript/static/pages/partners_landing.js +++ /dev/null @@ -1,48 +0,0 @@ -const Url = require('../../../javascript/_common/url.js'); -const TabSelector = require('../../_common/tab_selector'); -const getLanguage = require('../../_common/language.js').get; - -const PartnersLanding = (() => { - const current_language = getLanguage().toLowerCase().replace(/_/g, '-'); - const onLoad = () => { - window.location.replace(`https://deriv.com/${current_language}/partners`); - initializeTypeOfPartnersTab(); - }; - - const initializeTypeOfPartnersTab = () => { - const navigation_tabs = $('.has-tabs').children('ul').find('li'); - const params_hash = Url.paramsHash(); - - if (params_hash.tabs === undefined) { - Url.updateParamsWithoutReload({ tabs: getTabAnchorWithoutHashTag(navigation_tabs.first()) }, true); - $('.has-tabs').tabs(); - } else { - navigation_tabs.each((index, element) => { - const tabIndex = (params_hash.tabs === getTabAnchorWithoutHashTag(element)) && index; - $('.has-tabs').tabs({ active: tabIndex }); - }); - } - - navigation_tabs.each((index, element) => { - $(element).on('click', () => { - Url.updateParamsWithoutReload({ tabs: getTabAnchorWithoutHashTag(element) }, true); - TabSelector.repositionSelector(); - }); - }); - - TabSelector.onLoad(); - }; - - const getTabAnchorWithoutHashTag = (element) => $(element).find('a').attr('href').replace('#', ''); - - const onUnload = () => { - TabSelector.onUnload(); - }; - - return { - onLoad, - onUnload, - }; -})(); - -module.exports = PartnersLanding; diff --git a/src/javascript/static/pages/static_pages.js b/src/javascript/static/pages/static_pages.js index a7869247e7194..7712f08e0d5e9 100644 --- a/src/javascript/static/pages/static_pages.js +++ b/src/javascript/static/pages/static_pages.js @@ -6,6 +6,12 @@ const handleHash = require('../../_common/utility').handleHash; const BinaryPjax = require('../../app/base/binary_pjax'); const Client = require('../../app/base/client'); const Header = require('../../app/base/header'); +const getLanguage = require('../../_common/language.js').get; + +const current_language = getLanguage().toLowerCase().replace(/_/g, '-'); +const redirectToDeriv = () => () => { + if (current_language === 'en') {window.location.replace('https://deriv.com/partners');} else {window.location.replace(`https://deriv.com/${current_language}/partners`);} +}; module.exports = { OpenPositions: { @@ -19,7 +25,15 @@ module.exports = { onUnload: () => { ImageSlider.onUnMount(); }, }, OpenSourceProjects: { - onLoad : () => { Scroll.sidebarScroll($('.open-source-projects')); }, + onLoad : redirectToDeriv(), + onUnload: () => { Scroll.offScroll(); }, + }, + Partners: { + onLoad : redirectToDeriv(), + onUnload: () => { Scroll.offScroll(); }, + }, + SecurityTesting: { + onLoad : redirectToDeriv(), onUnload: () => { Scroll.offScroll(); }, }, PaymentAgent: { diff --git a/src/templates/static/payment_agent_landing.jsx b/src/templates/static/payment_agent_landing.jsx deleted file mode 100644 index cdd478e4c5565..0000000000000 --- a/src/templates/static/payment_agent_landing.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; - -import Partners from './partners/partners.jsx'; - -const ParntersLanding = () => ( - - - -); - -export default ParntersLanding; From 0b6c838b1b08f8e78849e1bf5716ad189387faf6 Mon Sep 17 00:00:00 2001 From: NikitK-deriv Date: Thu, 22 Dec 2022 10:16:06 +0300 Subject: [PATCH 3/3] feat: add payment agent page as well --- src/javascript/static/pages/static_pages.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/javascript/static/pages/static_pages.js b/src/javascript/static/pages/static_pages.js index 7712f08e0d5e9..3056f02f76ed9 100644 --- a/src/javascript/static/pages/static_pages.js +++ b/src/javascript/static/pages/static_pages.js @@ -9,8 +9,8 @@ const Header = require('../../app/base/header'); const getLanguage = require('../../_common/language.js').get; const current_language = getLanguage().toLowerCase().replace(/_/g, '-'); -const redirectToDeriv = () => () => { - if (current_language === 'en') {window.location.replace('https://deriv.com/partners');} else {window.location.replace(`https://deriv.com/${current_language}/partners`);} +const redirectToDeriv = (path = '') => () => { + if (current_language === 'en') {window.location.replace(`https://deriv.com/partners/${path}`);} else {window.location.replace(`https://deriv.com/${current_language}/partners/${path}`);} }; module.exports = { @@ -37,7 +37,7 @@ module.exports = { onUnload: () => { Scroll.offScroll(); }, }, PaymentAgent: { - onLoad : () => { Scroll.sidebarScroll($('.payment-agent')); }, + onLoad : redirectToDeriv('payment-agent'), onUnload: () => { Scroll.offScroll(); }, }, handleTab: {