From 25a6fc94a4a83b849583fa441d7d302d95a82c89 Mon Sep 17 00:00:00 2001 From: Aswathy-Deriv <96725617+aswathy-deriv@users.noreply.github.com> Date: Fri, 1 Sep 2023 13:04:33 +0400 Subject: [PATCH] Translation 1500 feature deriv prime (#5418) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: deriv prime page * fix: prime page changes in atomic approach * fix: added the new layout * fix: added folder for deriv-prime images * fix: prime partner (#5419) * fix: prime partner * fix: test * fix: test commit * Revert "fix: test commit" This reverts commit 9d2e38ece4e969ced743d492c5030f4ecccffd0a. * Revert "fix: test" This reverts commit 1ddc5d8eee9e3a049b9c70d51ec9f0088af27a94. * fix: changes * fix: height * fix: padding issue * Aswathy/Connectivity reliability (#5442) * feat: deriv prime connectivity * feat: seo documentation * fix: seo header tag added * fix: replaced the type prop for paragraph * fix: added the classname for the typography header * Konstantinos / meet us there section (#5440) * feat: meet us there section * fix: types on different file * fix: review comments * chore: vercel * fix: staticimage usage * chore: vercel * fix: alt text localize and fix font family * fix: margin top * fix: subtasks --------- Co-authored-by: Konstantinos-Gk * fix: prime available instruments (#5429) * fix: prime available instruments * fix: seo * chore: trigger vercel * fix: empty string * fix: spelling mistake * fix: issues * fix: rtl * fix: top global spell mistake fix * Mitra/1502/chore: :sparkles: add number section for deriv prime (#5436) * chore: :sparkles: add number section for deriv prime * fix: :bug: add margin top * empty: :rocket: to redeploy and trigger build --------- Co-authored-by: aswathy-deriv * fix: folder structure refactor for available instruments * Konstantinos / Why choose deriv prime section (#5430) * fix: why deriv prime section * fix: comments review * fix: font family * fix: review comments * fix: seo title * fix: subtasks * fix: margin --------- Co-authored-by: Konstantinos-Gk * fix: removed the flex from index file * fix: rearranged the deriv prime index file * Translation 1425 your potential (#5437) * chore: added folder and files * chore: added images and component files * chore: updated boxes * chore: completed desktop version * chore: updated mobile version * chore: updated svg images path * empty: :rocket: to redeploy and trigger build * fix: fixed PR comments * fix: fixed bugs * chore: fixed issues * fix: fixed spacing issue on mobile * fix: fixed spacing issues for mobile * fix: fix padding issue --------- Co-authored-by: Fasih Ali Co-authored-by: Fasih Ali * fix: removed the flex from index file * Hasan/Translation 1426 prime commercial plan (#5435) * feat: added commercial plan component * feat: added container and typhography * feat: created table component file * feat: created table scss file * feat: added table props and data * feat: added base table * feat: created shadow table component * feat: added base css * feat: added types * feat: added data * feat: added css * feat: responsive * feat: free per million localized * feat: added table column type * feat: added table header component * feat: added table row component * fix: modified table base component * feat: added data file * fix: modified commercial table component * fix: css * fix: color css * fix: table columns css * fix: added padding inline to wrapper * Konstantinos / browse our faq (#5461) * feat: commercialplan * fix: commercial plan css fixes * fix: add faq section * fix: font family * fix: review comments * fix: remove unnecessary css * fix: spacing issues * fix: import * fix: padding * fix: padding * fix: padding bottom and add container --------- Co-authored-by: Konstantinos-Gk * Hasan/Translation 1412 deriv prime hero (#5433) * fix: merge conflict * feat: added content style * feat: added bg image to hero * fix: style issue * fix: image issue * feat: hero responsive * feat: added alt text to hero image * fix: hero image * fix: replace hero image desktop * fix: changed images * fix: changed desktop image and css * fix: removed unused flex box * fix: error resolved after merge * Hasan/Translation 00 prime commercial table content fix (#5471) * fix: commercial plan table heading content typo * fix: accessor typo * fix: alignment issues * Mayuran/get in touch (#5462) * fix: initial * fix: update error message * fix: format code * fix: error message * fix: white space error message * fix: snake case * fix: comments * fix: added snake case * fix: comments * fix: style * fix: text field style * fix: error message red * fix: space issue * fix: clear message and showing thank you meesage for 4 seconds * fix: change color * fix: update error message text * fix: size and error * chore: trigger vercel * chore: trigger vercel * chore: trigger vercel * chore: trigger vercel * fix: added the contact us button navigation * Konstantinos / FAQ SEO (#5481) * feat: faq seo * fix: add table for seo too --------- Co-authored-by: Konstantinos-Gk * fix: sonarcloud issue * auto-pull-translation * translation: 📚 sync translations from crowdin feature branch * auto-pull-translation * translation: 📚 sync translations from crowdin feature branch * auto-pull-translation * fix: vercel deploy issues * fix: button issue for contact us * fix: meta issue fix for deriv prime * Hasan/Pr 1780 go to element hook (#5503) * feat: created scroll to element hook * fix: getintouch id * feat: applied scroll to element hook to header and hero * fix: check server side rendering for contact us button * fix: fix table td line hight (#5508) Co-authored-by: Fasih Ali * Konstantinos / Deriv Prime final subtasks (#5507) * fix: deriv prime subtasks * fix: space --------- Co-authored-by: Konstantinos-Gk * auto-pull-translation * auto-pull-translation * auto-pull-translation * auto-pull-translation * translation: 📚 sync translations from crowdin feature branch * Mayuran/fix contact us (#5511) * fix: align issue * fix: contact us remove # * fix: revert code * Mayuran/align issue (#5509) * fix: align issue * fix: coming soon wrapper * Konstantinos / Box height (#5510) * fix: height * chore: vercel * fix: align --------- Co-authored-by: Konstantinos-Gk * empty: :rocket: to redeploy and trigger build * fix: changed the deriv logo * chore: fix active link in internal links * chore: fix prime logo * Hasan/Pr 00 table refactor (#5515) * fix: fixed table layout and typescript issue * fix: added layout to faq table * fix: changed the faq question * auto-pull-translation * auto-pull-translation * auto-pull-translation * translation: 📚 sync translations from crowdin feature branch --------- Co-authored-by: mayuran-deriv <129507167+mayuran-deriv@users.noreply.github.com> Co-authored-by: konstantinosG-deriv <104083272+konstantinosG-deriv@users.noreply.github.com> Co-authored-by: Konstantinos-Gk Co-authored-by: mitra-deriv <64970259+mitra-deriv@users.noreply.github.com> Co-authored-by: fasihali-deriv <121229483+fasihali-deriv@users.noreply.github.com> Co-authored-by: Fasih Ali Co-authored-by: Fasih Ali Co-authored-by: Hasan Mobarak <126637868+hasan-deriv@users.noreply.github.com> Co-authored-by: mitra-deriv Co-authored-by: DerivFE <80095553+DerivFE@users.noreply.github.com> Co-authored-by: Michio --- crowdin/messages.json | 161 +- src/common/constants.ts | 2 + src/common/utility.ts | 4 + .../atoms/card/card-primary/index.tsx | 39 +- src/features/components/atoms/card/type.ts | 2 + .../components/atoms/link/internal.tsx | 8 +- .../components/atoms/table/base/index.tsx | 37 + .../atoms/table/base/table-header.tsx | 35 + .../components/atoms/table/base/table-row.tsx | 37 + src/features/components/atoms/table/index.tsx | 17 + .../atoms/table/shadow-table/index.tsx | 9 + src/features/components/atoms/table/types.ts | 6 + .../molecules/other-markets-slider/index.tsx | 36 +- .../other-markets-slider.scss | 13 + .../components/molecules/shadow-box/index.tsx | 30 + .../molecules/shadow-box/style.module.scss | 13 + .../components/templates/footer/data.ts | 20 +- .../navigation/main-nav/content/index.ts | 2 +- .../main-nav/content/partner/index.ts | 11 +- .../navigation/payment-agent-nav/data.tsx | 15 +- .../navigation/payment-agent-nav/index.tsx | 69 +- src/features/hooks/use-contact-form/index.tsx | 104 + .../hooks/use-scroll-to-element/index.ts | 15 + .../available-instruments/_data.tsx | 71 + .../available-instruments/index.tsx | 14 + .../deriv-prime/browse-our-faq/_faq-schema.ts | 99 + .../deriv-prime/browse-our-faq/data.tsx | 170 + .../browse-our-faq/deriv-prime-faq.tsx | 82 + .../browse-our-faq/faq-commercial-plan.tsx | 34 + .../deriv-prime/browse-our-faq/index.tsx | 25 + .../browse-our-faq/styles.module.scss | 13 + .../deriv-prime/browse-our-faq/types.ts | 25 + .../deriv-prime/commercial-plan/data.tsx | 57 + .../deriv-prime/commercial-plan/index.tsx | 38 + .../commercial-plan/styles.module.scss | 4 + .../connectivity-reliability-item.tsx | 30 + .../connectivity-reliability/data.tsx | 28 + .../connectivity-reliability/index.tsx | 42 + .../styles.module.scss | 8 + .../connectivity-reliability/types.ts | 17 + .../deriv-prime/get-in-touch/contact-form.tsx | 154 + .../get-in-touch/get-in-touch.module.scss | 64 + .../deriv-prime/get-in-touch/index.tsx | 34 + .../deriv-prime/get-in-touch/text-banner.tsx | 27 + .../pages/partners/deriv-prime/hero/index.tsx | 70 + .../deriv-prime/hero/styles.module.scss | 27 + .../pages/partners/deriv-prime/index.tsx | 45 + .../deriv-prime/meet-us-there/data.tsx | 50 + .../deriv-prime/meet-us-there/index.tsx | 87 + .../meet-us-there/meet-us-there.module.scss | 14 + .../deriv-prime/meet-us-there/types.ts | 9 + .../partners/deriv-prime/numbers/data.ts | 46 + .../partners/deriv-prime/numbers/index.tsx | 28 + .../partners/deriv-prime/potential/data.tsx | 43 + .../partners/deriv-prime/potential/index.tsx | 97 + .../potential/potential.module.scss | 6 + .../deriv-prime/why-deriv-prime/data.ts | 34 + .../deriv-prime/why-deriv-prime/index.tsx | 69 + .../deriv-prime/why-deriv-prime/types.ts | 6 + .../why-deriv-prime.module.scss | 18 + src/features/styles/app.scss | 1 + src/features/styles/theme/card.scss | 26 + .../styles/theme/inputs/text.styles.scss | 13 +- src/features/styles/theme/table.scss | 37 + src/features/styles/theme/typography.scss | 6 + src/features/styles/theme/variables.scss | 1 + src/images/common/deriv-prime/cyprus_expo.png | Bin 0 -> 48635 bytes src/images/common/deriv-prime/dubai_expo.png | Bin 0 -> 162770 bytes src/images/common/deriv-prime/dummy.png | Bin 0 -> 82338 bytes src/images/common/deriv-prime/hero-mobile.png | Bin 0 -> 529357 bytes src/images/common/deriv-prime/index.ts | 0 .../common/deriv-prime/london_summit.png | Bin 0 -> 146366 bytes src/images/svg/deriv-prime/asset_managers.svg | 15 + .../svg/deriv-prime/brokerage_firms.svg | 14 + .../svg/deriv-prime/corporate_clients.svg | 17 + .../svg/deriv-prime/deriv-prime-logo.svg | 11 + src/images/svg/deriv-prime/dummy.svg | 20 + src/images/svg/deriv-prime/fast_stable.svg | 18 + .../deriv-prime/financial_institutions.svg | 10 + src/images/svg/deriv-prime/fix_api.svg | 13 + src/images/svg/deriv-prime/index.ts | 15 + .../svg/deriv-prime/investment_funds.svg | 21 + .../svg/deriv-prime/professional_traders.svg | 16 + src/images/svg/partners/deriv-prime.svg | 9 + .../partners/_partnership-opportunities.tsx | 126 +- src/pages/partners/deriv-prime/index.tsx | 9 + src/themes/variables.ts | 1 + src/translations/ach.json | 8786 +++++++++-------- src/translations/ar.json | 168 +- src/translations/bn.json | 168 +- src/translations/de.json | 168 +- src/translations/es.json | 168 +- src/translations/fr.json | 206 +- src/translations/id.json | 168 +- src/translations/it.json | 172 +- src/translations/ko.json | 168 +- src/translations/pl.json | 168 +- src/translations/pt.json | 168 +- src/translations/ru.json | 168 +- src/translations/si.json | 168 +- src/translations/th.json | 168 +- src/translations/tr.json | 168 +- src/translations/vi.json | 168 +- src/translations/zh_cn.json | 168 +- src/translations/zh_tw.json | 168 +- 105 files changed, 9745 insertions(+), 4708 deletions(-) create mode 100644 src/features/components/atoms/table/base/index.tsx create mode 100644 src/features/components/atoms/table/base/table-header.tsx create mode 100644 src/features/components/atoms/table/base/table-row.tsx create mode 100644 src/features/components/atoms/table/index.tsx create mode 100644 src/features/components/atoms/table/shadow-table/index.tsx create mode 100644 src/features/components/atoms/table/types.ts create mode 100644 src/features/components/molecules/shadow-box/index.tsx create mode 100644 src/features/components/molecules/shadow-box/style.module.scss create mode 100644 src/features/hooks/use-contact-form/index.tsx create mode 100644 src/features/hooks/use-scroll-to-element/index.ts create mode 100644 src/features/pages/partners/deriv-prime/available-instruments/_data.tsx create mode 100644 src/features/pages/partners/deriv-prime/available-instruments/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/_faq-schema.ts create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/data.tsx create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/deriv-prime-faq.tsx create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/faq-commercial-plan.tsx create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/styles.module.scss create mode 100644 src/features/pages/partners/deriv-prime/browse-our-faq/types.ts create mode 100644 src/features/pages/partners/deriv-prime/commercial-plan/data.tsx create mode 100644 src/features/pages/partners/deriv-prime/commercial-plan/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/commercial-plan/styles.module.scss create mode 100644 src/features/pages/partners/deriv-prime/connectivity-reliability/connectivity-reliability-item.tsx create mode 100644 src/features/pages/partners/deriv-prime/connectivity-reliability/data.tsx create mode 100644 src/features/pages/partners/deriv-prime/connectivity-reliability/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/connectivity-reliability/styles.module.scss create mode 100644 src/features/pages/partners/deriv-prime/connectivity-reliability/types.ts create mode 100644 src/features/pages/partners/deriv-prime/get-in-touch/contact-form.tsx create mode 100644 src/features/pages/partners/deriv-prime/get-in-touch/get-in-touch.module.scss create mode 100644 src/features/pages/partners/deriv-prime/get-in-touch/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/get-in-touch/text-banner.tsx create mode 100644 src/features/pages/partners/deriv-prime/hero/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/hero/styles.module.scss create mode 100644 src/features/pages/partners/deriv-prime/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/meet-us-there/data.tsx create mode 100644 src/features/pages/partners/deriv-prime/meet-us-there/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/meet-us-there/meet-us-there.module.scss create mode 100644 src/features/pages/partners/deriv-prime/meet-us-there/types.ts create mode 100644 src/features/pages/partners/deriv-prime/numbers/data.ts create mode 100644 src/features/pages/partners/deriv-prime/numbers/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/potential/data.tsx create mode 100644 src/features/pages/partners/deriv-prime/potential/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/potential/potential.module.scss create mode 100644 src/features/pages/partners/deriv-prime/why-deriv-prime/data.ts create mode 100644 src/features/pages/partners/deriv-prime/why-deriv-prime/index.tsx create mode 100644 src/features/pages/partners/deriv-prime/why-deriv-prime/types.ts create mode 100644 src/features/pages/partners/deriv-prime/why-deriv-prime/why-deriv-prime.module.scss create mode 100644 src/features/styles/theme/table.scss create mode 100644 src/images/common/deriv-prime/cyprus_expo.png create mode 100644 src/images/common/deriv-prime/dubai_expo.png create mode 100644 src/images/common/deriv-prime/dummy.png create mode 100644 src/images/common/deriv-prime/hero-mobile.png create mode 100644 src/images/common/deriv-prime/index.ts create mode 100644 src/images/common/deriv-prime/london_summit.png create mode 100644 src/images/svg/deriv-prime/asset_managers.svg create mode 100644 src/images/svg/deriv-prime/brokerage_firms.svg create mode 100644 src/images/svg/deriv-prime/corporate_clients.svg create mode 100644 src/images/svg/deriv-prime/deriv-prime-logo.svg create mode 100644 src/images/svg/deriv-prime/dummy.svg create mode 100644 src/images/svg/deriv-prime/fast_stable.svg create mode 100644 src/images/svg/deriv-prime/financial_institutions.svg create mode 100644 src/images/svg/deriv-prime/fix_api.svg create mode 100644 src/images/svg/deriv-prime/index.ts create mode 100644 src/images/svg/deriv-prime/investment_funds.svg create mode 100644 src/images/svg/deriv-prime/professional_traders.svg create mode 100644 src/images/svg/partners/deriv-prime.svg create mode 100644 src/pages/partners/deriv-prime/index.tsx diff --git a/crowdin/messages.json b/crowdin/messages.json index 0dbd07b090f..885509613c3 100644 --- a/crowdin/messages.json +++ b/crowdin/messages.json @@ -34,6 +34,7 @@ "31131715": "Explore Deriv.com", "33219178": "We'll pay your IB commission into your MT5 (Derived account daily).", "33430960": "How dynamic leverage is calculated", + "33727397": "You can fund your margin account with EUR, USD and GBP. If you wish to use other currencies, please reach out to us and we will review your request.", "34060478": "For forex, a deal for 1 lot of EUR/USD will pay out EUR 2.5 in commission based on the following formula:", "34997376": "Deriv in numbers", "35374636": "user friendly icon", @@ -72,8 +73,10 @@ "61663093": "Continuous indices", "65207943": "Call option", "65433881": "TRADE TYPES", + "66236354": "20B+ USD in daily trades from 90,000 daily clients with almost instant uptime.", "67611998": "How can I deposit funds into my Deriv MT5 real money account?", "69523331": "If the selected barrier is close to the current price of the underlying instrument, the probability of the spot price touching the barrier in a \"Touch\" contract is higher compared to a \"No Touch\" contract. In this scenario, the potential payout amount for a \"Touch\" contract is lower.", + "69859952": "Please enter your company name.", "70604999": "As jump indices are synthetics, you can trade them 24/7, 365 days of the year.", "70668746": "If you select 'Rise', you receive the payout if the exit price is higher than the entry price.", "70678818": "Deriv (FX) Ltd is licensed by the Labuan Financial Services Authority (<0>licence). Deriv (BVI) Ltd is licensed by the British Virgin Islands Financial Services Commission (<1>licence). Deriv (V) Ltd is licensed and regulated by the Vanuatu Financial Services Commission (<2>licence). Deriv (SVG) LLC has a registered office at Hinds Buildings, Kingstown, St. Vincent and the Grenadines. Deriv Holdings (Guernsey) Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address of 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", @@ -92,6 +95,7 @@ "76802666": "We've sent a message to {{email}} with a link to activate your account.", "79497287": "Exchange-traded funds", "80411232": "Keep your login details secure and <0>enable two-factor authentication to prevent unauthorised usage of your account.", + "80429744": "Fast and stable", "81199611": "binary white", "83067481": "Our tracking site: t.deriv.com", "83428444": "Start trading accumulators on Deriv", @@ -138,10 +142,12 @@ "138055021": "Synthetic indices", "138627645": "- Entering your stake or preferred potential payout amount.", "140083133": "Fund your account. Start trading on the mobile app, desktop app, or web browser.", + "140228207": "26-27 September 2023", "141909159": "You’ll be brought back to the Cashier page. Click <0>Review pending and select the transaction that you'd like to cancel.", "143734792": "Terms that govern keeping and transferring funds in Deriv and the bonuses you might get", "144377171": "Daily withdrawal limits", "146650698": "Take me to DP2P", + "148355417": "Rapid trade execution speeds for your clients", "148382928": "American Airlines Group Inc", "150593055": "Currency exchangers", "151178438": "Enjoy zero commission trading on all assets. Plus, pay no swap charges on overnight positions for selected derived indices and financial assets.", @@ -224,7 +230,6 @@ "237637819": "Where can I trade Touch/No Touch options?", "239216026": "XMR/USD", "241331061": "Deriv GO is really good! I've been looking for an app like this which is easy to use.", - "242139148": "PARTNER", "242356757": "Submit a report", "243084503": "Estimate the stop loss and/or take profit levels as well as the pip value for your contract to mitigate your risk when buying or selling a position.", "244046593": "Start trading stocks & indices on Deriv in 3 simple steps", @@ -291,6 +296,7 @@ "306846388": "Online trading is exciting but involves risks and can lead to an addiction. At Deriv, we look out for our customers’ best interests and encourage them to practise <0>secure and responsible trading. If you are new to this, you can also practise trading with unlimited virtual funds before you risk your money.", "307902006": "Enjoy high leverage and low spreads on our Deriv MT5 platform, now offering a range of stocks and stock indices from the brands you love.", "308070472": "Can I trade cryptocurrencies on DBot?", + "309180597": "Expand your client base by helping traders fund their accounts through local bank wires and e-payments. Facilitate and earn from every transaction.", "309993304": "Try Deriv at no risk", "310298121": "<0>Digital options that allow you to predict the outcome from two possible results and earn a fixed payout if your prediction is correct.", "311457810": "Our pip calculator helps you to estimate the pip value in your trades so that you can better manage your risk.", @@ -299,6 +305,7 @@ "315778047": "<0>Everyone is verified", "316573346": "What markets can I trade on Deriv EZ?", "316920917": "Oops, sorry...", + "317551740": "$ 8.00", "317744607": "Discover DBot now", "318239044": "Pfizer", "318433321": "Instruments available for options trading", @@ -346,7 +353,6 @@ "365224830": "Basket indices trading online | Basket indices trading demo account | Deriv", "369418918": "<0>Stop loss and/or take profit level = asset price - {stop loss OR take profit amount ÷ (volume × contract size)}", "370132757": "What is a Deriv X password?", - "372046224": "Expand your client base by helping the traders who are looking for ways to fund their accounts through local bank wires and e-payment methods.", "372486876": "We’ll typically take 1-3 business days to review your documents and will inform you of the result via email once it’s done.", "372500096": "Cryptocurrency market | Crypto trading | Deriv", "373168737": "Can I go to the regulator directly instead of contacting you first?", @@ -378,10 +384,12 @@ "398546789": "You’ll see your Deriv EZ account under <0>CFDs. Hit <1>Trade to start trading.", "400968378": "locations", "401280184": "Hit <0>Get under <1>CFDs and <2>Deriv EZ.", + "401450104": "> 3 - 5 billion", "403435120": "Trade the way you want with 2 flexible trade types.", "404778224": "An intuitive,", "406075956": "If you select ‘Odd’, you will win the payout if the last digit of the last tick is an odd number (i.e. 1, 3, 5, 7, or 9).", "406403062": "Can I change my growth rate after opening the contract?", + "407739127": "A monthly service fee of USD 1,500 will be charged at the end of each month. The fee is accrued and only charged if the minimum volume requirements are not exceeded.", "408925924": "Up to x1000", "410425831": "JP Morgan Chase", "411474127": "help centre", @@ -446,10 +454,12 @@ "459292723": "community", "459886707": "E-wallets", "460878453": "5 - 10,000", + "463393690": "Coming soon", "465003790": "DMT5 login", "467389382": "background svg", "469222213": "Click on the <0>My Statistics tab and select your signal provider.", "469552854": "Want to know more about CFD trading conditions for the instruments we offer?", + "469798381": "Years of service", "470277541": "Maximum duration", "473760456": "We speak plainly to avoid ambiguity, disclose the terms of all contracts, and are clear about the risks of trading and how we make money.", "474616293": "The trading platform to fit your style", @@ -488,6 +498,7 @@ "501763239": "Major pairs", "502070112": "<0>VEA.US The Vanguard FTSE Developed Markets ETF tracks a benchmark index that measures the investment return of stocks issued by companies located in Canada and the major markets of Europe and the Pacific region.", "504465748": "We'll email you a verification link. Click that link and set a new password for your Deriv account.", + "506442463": "What is the onboarding procedure?", "506797447": "<0>EUR Basket measures the value of the Euro against a basket of five global currencies (USD, AUD, GBP, JPY, CAD), each weighted by 20%.", "507838091": "Available on <0>Android, <1>iOS and <2>web browser", "508640915": "Why trade accumulators on Deriv", @@ -520,23 +531,29 @@ "528858838": "Lead/USD", "529056539": "Options", "530866080": "What information should I include when making a complaint?", + "533462850": "Who is Deriv Prime?", + "534798809": "Our intelligent routing to servers worldwide ensures rapid execution speeds and a stable, uninterrupted price feed with 99.97% uptime.", "538228086": "Close-Low", "539261300": "OS icon", "539645627": "We aim to deliver market-leading products that are trusted around the world.", "540538076": "40+ stocks", + "541218901": "Full name*", "541543954": "<0>Revenue share
Earn commission of up to 45% based on the monthly net revenue generated by your clients. The higher their net revenue, the higher your commission payout.", "542274641": "High leverage, tight spreads", "543111387": "Deposit and withdraw in Bitcoin, the world’s first cryptocurrency.", "545720337": "potential profit", + "548719701": "You are responsible for any connectivity or bridging fees charged by third-party providers to transact through our platform.", "548820232": "The basics of forex trading", "549849868": "Predict whether the market will touch or not touch a target at any time during the contract period.", "550365780": "Open a demo account and practise with an unlimited amount of virtual funds.", + "550921370": "No matter if you are large, small, or have just started, Deriv Prime will provide top-of-book liquidity solutions with very fast execution at unmatched fair pricing and conditions.", "552929836": "How does the Reset Call/Reset Put contract type differ from the Rise/Fall contract type?", "554014185": "Online trading is exciting, but it can be addictive. Deriv.com provides you with the opportunity to either self-exclude or set limits on your trading activities on this website.", "554620691": "Please enter a valid number", "557095822": "Click the <0>Renew button to renew the service or the <0>Unsubscribe button to cancel the subscription.", "558735677": "Can I open multiple Asians contracts simultaneously?", "560142031": "Available 24/7, our synthetic indices emulate price movements of real-world markets with varying levels of volatility. As they aren't based on actual underlying assets, they are unaffected by real-world market events. The pricing of our synthetic indices is backed by algorithms that are audited for fairness by an independent third party. Read <0>this article to learn more about trading synthetic indices on Deriv.", + "560243784": "Liquidity solutions provider | Deriv Prime", "560338255": "<0>UNG.US The United States Natural Gas Fund ETF tracks in percentage terms the movements of natural gas prices.", "561359365": "1. Select the market and asset you want to trade.", "562246914": "The rebranding exercise was inspired by you, our clients. After 20 years of service to you, we feel that we understand you better. The rebranding is an opportunity for us to implement an improved online trading solution to meet all your needs.", @@ -556,6 +573,7 @@ "573706432": "Select market to trade", "574805081": "<0>SPXS.US The Direxion Daily S&P 500 Bear 3X Shares ETF seeks to reflect 300% of the inverse of the performance of the S&P 500.", "575534504": "Low spreads", + "576793632": "0 - 15 million <0>(Crypto)", "577779861": "Withdrawal", "581168980": "Legal", "581220884": "Log in to your Deriv affiliate account and go to <0>Finances > <0>Payment instructions.", @@ -605,6 +623,7 @@ "629101274": "If you select ‘Only Downs’, you win the payout if consecutive ticks fall successively after the entry spot. No payout if any tick rises or is equal to any of the previous ticks.", "630520732": "The Deriv IB Programme is completely free.", "630831015": "Dtrader trading platform", + "631600257": "Strong regulatory compliance that instils confidence in clients from all over the world.", "631607286": "Binary.com has rebranded to Deriv.com and here is everything you need to know", "632417472": "Trade multipliers on synthetics 24/7, 365 days a year. Trade multipliers on forex and cryptocurrencies round the clock on weekdays.", "633640589": "${GENERAL}", @@ -630,13 +649,16 @@ "647610263": "synthetic indices", "648610617": "The requested URL was not found", "649962941": "2. Trade type", + "651200588": "Markets including metals and energies.", "653618948": "Monitor the chart", "655249194": "Deriv X is our second CFD platform, after MT5. It’s packed with features and built to fit your trading style.", "655519080": "Deutsche Bank AG", "655902997": "You may reactivate your account by <1>logging in with your email address and password. If you're unable to do so, please <0>contact us via live chat, and we'll help you further.", "656430237": "How do I rate or recommend my trade partners on Deriv P2P?", + "657066292": "You can connect to your trusted bridge partner via a FIX API protocol connection.", "658337631": "Got a <0>Binary.com account? You can <1>log in to <0>Deriv with your <0>Binary.com username and password", "659338852": "Stop loss or ", + "661969161": "Execution speed", "662615740": "10 world indices", "662679188": "DTrader | Online trading platform | Deriv", "663180477": "Customer-first trading experience", @@ -644,6 +666,7 @@ "665599274": "Fill up the form and click <0>Confirm.", "665777772": "XLM/USD", "666057433": "Trade popular assets in the commodities market such as silver, gold, oil, and more without owning the underlying asset. Speculate on the price movements and benefit from our high leverage and competitive spreads.", + "666146179": "Financial institutions", "666199378": "Get access to friendly customer support 7 days a week, an enriched Help centre, plus other helpful content.", "668322984": "Automated copying – no extra work from you.", "671884384": "Trade the commodities market and speculate on the price movements of oil and precious metals like gold and silver. Enjoy low spreads and zero commission.", @@ -673,9 +696,11 @@ "700971061": "You can find your Deriv MT5 server name on your <0>Deriv MT5 dashboard. Click Trade on your preferred MT5 account and look for the server below the broker name.", "701775446": "Volatility 200 Index", "701840176": "Commission per USD 100k turnover", + "702074152": "PARTNERS", "702303938": "affiliate ib", "704465777": "After making your payment, share the receipt with the seller via the chat feature in Deriv P2P.", "704532260": "Sign up with just your email. No credit card or minimum deposit required.", + "704777433": "Deep, reliable liquidity with fast execution for professionals, seasoned institutions, start-ups, and more", "706069088": "About Deriv", "706120631": "Yes, Deriv EZ offers stop loss and take profit.", "706434010": "Deriv X logo", @@ -707,6 +732,8 @@ "739412906": "<0>Stays Between/Goes Outside: Predict whether the market will stay inside or go outside two price targets at any time during the contract period.", "739759950": "Tick counters are available between consecutive barrier crosses to help you make smart trading decisions.", "740609768": "What should I do if I have a dispute with the trader I’m dealing with?", + "741504928": "For marketers, influencers and introducing brokers to monetise their network. Earn competitive commissions and get access to high-quality promotional materials.", + "742785981": "Forex Expo Dubai", "743105449": "How can I deposit funds into my Deriv X real money account?", "743623600": "Reference", "743673813": "Go to <0>Bot Builder.", @@ -867,6 +894,7 @@ "890667695": "45%", "893607771": "Benefit from round-the-clock trading hours (Monday to Friday), high liquidity, low barriers to entry, a wide range of offerings, and opportunities to trade on world events.", "893980632": "Have more questions? Check out the <0>FAQ section on the MQL5 website.", + "894402947": "Fee per million", "894697239": "Deriv MT5 Derived", "895567953": "assets to unleash your bot", "895594801": "Select the signal provider you prefer and click the Subscribe button.", @@ -891,6 +919,7 @@ "913548355": "Connect with fellow traders and transfer money in minutes.", "913719394": "If you select ‘Over’, you will win the payout if the last digit of the last tick is greater than your prediction.", "915392164": "Open long or short positions based on your predictions of the market price movements.", + "915554307": "Your potential. Our technology.", "916591715": "The above information is updated monthly and, therefore, may not reflect current trading conditions.", "917157780": "If you select 'Differs', you receive the payout if the last digit of the exit price is different than your prediction.", "917922170": "- Select the underlying asset you want to trade.", @@ -920,6 +949,7 @@ "947541466": "Trade 24/7 on our proprietary synthetics that simulate real-world market movements. These indices are unaffected by regular
market hours, global events, or market and liquidity risks. Manage your exposure by selecting the volatility level to suit your risk appetite.", "948545552": "150+", "949617971": "Your Deriv X password is linked to the standalone Deriv X trading platform while your Deriv password gives you access to platforms hosted on our website such as DTrader and DBot.", + "949859957": "Submit", "953170529": "Enjoy zero commission trading on all assets.", "954358534": "Rating a great experience lets you show your appreciation towards your trade partners. They’ll be encouraged to maintain their excellent standards upon receiving your positive ratings. Your ratings and recommendations will also help other Deriv P2P users find reliable trade partners.", "955451911": "Take advantage of high leverage and tight spreads on Deriv’s CFD trading platforms.", @@ -970,6 +1000,7 @@ "1007482669": "12M+ USD", "1008063635": "A Reset Call/Reset Put option provides the opportunity for the contract's entry price (also known as strike price) to be reset automatically at the midpoint of the trade duration, if the underlying asset's price moves favourably with your market prediction.", "1009128101": "Easy to set up – no installation required.", + "1009492128": "With Deriv Prime’s liquidity solutions for online trading, you get unbeatable spreads on the commodities, cryptocurrencies, and forex markets.", "1010178911": "For more info, contact your country manager.", "1010278278": "Can I delete my Deriv MT5 account history?", "1010645311": "Predict the price movements of commodities like silver, gold, and oil, and use margin to amplify your possible profits.", @@ -983,6 +1014,7 @@ "1021695271": "Graphs and charts", "1022161791": "Join Deriv’s team in Germany and work on next-gen fintech products. View our current openings for a chance to build a fulfilling career.", "1022211991": "Security", + "1022314764": "Affiliate and IBs", "1022404909": "No overnight charges on swap-free accounts", "1023044581": "Deriv X dashboard with tools to track your online trading", "1023795011": "Even/Odd", @@ -995,6 +1027,7 @@ "1026845997": "Endpoint", "1029179269": "Set profit level", "1032907147": "AUD/NZD", + "1033311672": "Mobile number*", "1033547927": "Use a trading bot for automating your trading strategy. A trading bot is an automated computer program that purchases trade contracts for you while following a specific set of instructions that you provide. Build your trading bot for free on DBot or Binary Bot; no coding is needed. You’ll also find 3 free pre-built strategies on DBot that you can customise to your needs.", "1033805779": "All Deriv partnership programmes are free to join. There are absolutely no charges or hidden fees to worry about.", "1033824796": "currentStake", @@ -1039,6 +1072,7 @@ "1072128975": "Once your identity has been verified, you can use Deriv P2P on desktop or mobile.", "1072571985": "If you created your Deriv account using Apple/Google/Facebook, try resetting your Apple/Google/Facebook password. After that, you should be able to log in to Deriv as usual.", "1074669784": "Make fast and secure deposits and withdrawals with this mobile-friendly solution for clients in Nigeria.", + "1076548216": "Leverage Deriv’s technology to launch your own trading app. Deliver an enhanced trading experience to your clients and earn from every trade executed on your app.", "1077779258": "General Motors Company", "1078303105": "Stop out", "1079537687": "Biogen Inc", @@ -1053,6 +1087,8 @@ "1084960586": "Disclose the terms of all contracts", "1088428939": "These indices correspond to financial markets with volatilities of 10% and 20%. One tick is generated for every tick of the corresponding forex pair.", "1089110190": "You accidentally gave us another email address (usually a work or a personal one instead of the one you meant).", + "1089165018": "Get in touch", + "1090964405": "Monthly volume requirement", "1091197091": "How are payouts calculated for In/Out options?", "1093308928": "

No, these are two different contract types.

With High/Low Ticks, you predict which of the 5 ticks within the trade duration will be the highest or lowest.

With Higher/Lower, you predict the overall price direction of a trading instrument over a specified time period.

", "1094162624": "<0>High-Close: When you purchase a ‘High-Close’ contract, your win or loss will be equal to the multiplier times the difference between the high and the close over the duration of the contract.", @@ -1067,6 +1103,7 @@ "1099692935": "You can trade Touch/No Touch options on the Deriv Trader, SmartTrader, and Deriv Bot trading platforms. They are available on multiple markets — forex, commodities, stock indices, and synthetics.", "1101454934": "If you select 'Fall', you receive the payout if the exit price is lower than the entry price.", "1101534866": "A chart illustrating a winning Asian Down trade type contract", + "1101987089": "> 10 billion", "1103215117": "Limit the losses you may incur within a specified period.", "1104653915": "Get the upside of CFDs without the downside of losing more than your stake.", "1105219900": "If something sounds too good to be true, don’t trust it.", @@ -1207,6 +1244,7 @@ "1248844726": "Deriv MT5 (DMT5)", "1249011149": "Expert support", "1250818586": "Which Deriv trading platforms can I use to trade Reset Call/Reset Put contracts?", + "1250845738": "$ 7.00", "1254667788": "Dbot trading platform at Deriv", "1256295276": "Trading online can be exciting, but it’s important to be reminded that there are risks involved. We encourage all our users to secure their accounts and trade responsibly to experience the best in online trading.", "1256437066": "Get the <0>Deriv GO app.", @@ -1227,6 +1265,7 @@ "1272902088": "100,000 ) }", "1274309337": "DOG/USD", "1274713580": "Get your funds quickly and easily. We support a variety of withdrawal options.", + "1275474387": "Quick", "1275674402": "Go long and short", "1276342366": "As an affiliate, you’ll advertise our products and services to your audience, including our leading-edge DTrader and DBot trading platforms. After they sign up and start trading with real money, you’ll earn commissions from their trades.", "1277672291": "Yes, you are allowed to enter multiple High/Low Ticks contracts at the same time.", @@ -1240,6 +1279,8 @@ "1285554763": "Diversify your portfolio and enjoy low-cost intraday trading with ETFs.", "1286094280": "Withdraw", "1286648079": "Return to player for mulitplier options is in the range of 95.0-99.9% for all indices on an average. Using a different multiplier or duration may affect the RTP.", + "1286733654": "Brokerage firms", + "1287479000": "Seamless integration with existing systems", "1287500494": "No. You can only use your account as a payment agent to perform clients’ deposits and withdrawal requests. For trading purposes, you will need to open a separate account.", "1288451130": "

Reset Call/Reset Put contracts offer the ability to reset the strike price at a potentially more advantageous level. In this contract, your market prediction is your contract's exit price against the reset price (instead of the entry price). Reset contract types also typically offer offer a lower fixed payout percentage compared to Rise/Fall contracts.

Meanwhile, Rise/Fall contracts consider the contract's exit price against the contract's entry price, based on your market prediction.

In both instances, the potential payout is fixed upon entry.

", "1288690494": "Can I increase my daily buy or sell limit on Deriv P2P?", @@ -1272,6 +1313,7 @@ "1324376913": "Our values are the fabric of our culture", "1326235397": "These indices correspond to simulated markets with constant volatilities of 10%, 25%, 50%, 75%, and 100%.", "1327067520": "Deriv P2P makes withdrawals and deposits simple, it’s the best user-friendly app.", + "1328010458": "A professional trader searching for a liquidity solutions provider", "1329552872": "Europe", "1329985014": "38,000+", "1332168410": "Learn more", @@ -1450,6 +1492,7 @@ "1496810530": "GBP/AUD", "1498651658": "Yes. <0>Contact us via live chat, and we'll help you through it. We'll need the following information:", "1499173053": "AUD/USD DFX10 Index", + "1499964738": "Who can partner with Deriv Prime?", "1502162725": "Flexible trade types with minimal capital requirements", "1502175389": "This gives you the swap charge in the quote currency for forex pairs, or in the denomination of the underlying asset for commodities.", "1502295249": " profit amount", @@ -1467,6 +1510,7 @@ "1510899090": "Make safe, instant, and easy transactions via Germany's most popular payment method.", "1514553548": "Melaka, Malaysia", "1516676261": "Deposit", + "1518575473": "Uptime", "1521654777": "Start trading CFDs in two easy steps — click to get an account, start trading. No need to remember another login ID and password.", "1523687535": "We don’t pay commission, but you can set your own commission rate per transaction within reasonable thresholds. When you sign up, our team will be in touch to work out the details with you.", "1524033858": "What is DTrader?", @@ -1493,6 +1537,7 @@ "1544985832": "What’s the minimum amount to open a position on Deriv EZ?", "1546535785": "Are there any conditions that I should meet before I can withdraw my commission?", "1546917177": "5 - 750", + "1548745350": "Deriv Prime is the institutional arm of Deriv Group, and staying true to its guiding principles, effectively democratises liquidity provision to financial institutions. No matter if you are large, small, or have just started, Deriv Prime will provide top-of-book liquidity solutions with very fast execution at unmatched fair pricing and conditions.", "1549497379": "High leverage, tight forex spreads", "1550284135": "Jordan", "1550413103": "checklist", @@ -1565,6 +1610,7 @@ "1602627054": "So your pip value is <0>2 USD.", "1602716515": "When you join our IB programme,", "1602800752": "Save your strategies", + "1603929481": "Deriv Prime partners with regulated financial institutions, including:", "1604222298": "Margin calculator", "1604927699": "You can block a user on Deriv P2P by hitting the 3 dots on their <0>Advertiser's page and choosing <0>Block.", "1605502300": "<0>VWO.US The Vanguard FTSE Emerging Mkts ETF tracks the FTSE Emerging Markets All Cap China A Inclusion Index.", @@ -1636,6 +1682,7 @@ "1658580871": "These payment methods are available exclusively for our clients with crypto trading accounts.", "1658594963": "Can I change the tick duration for the High/Low Ticks contract type?", "1659675491": "Practise trading from the mobile app, desktop app, or through your web browser.", + "1659681650": "- Asset managers", "1661123842": "- Purchase the contract", "1661263248": "How can I download my Deriv MT5 history?", "1663880277": "Will I be required to pay a fee to become a premium payment agent?", @@ -1643,6 +1690,7 @@ "1665738338": "Balance", "1667409996": "Disclose how we make money", "1669172828": "Predict market trends and diversify your risk by trading the world’s top performing stocks & indices.", + "1671799496": "Deriv Prime partners with regulated financial institutions, including:
  • Brokerage firms
  • Asset managers
  • Investment funds
  • Professional trading groups / professional traders
  • Corporate clients
  • Other financial institutions
", "1672455311": "Android, iOS & Huawei", "1672523550": "Join over 2.5 million traders worldwide", "1672776151": "Claim a FREE e-book now!", @@ -1696,6 +1744,7 @@ "1714971394": "pdf icon black", "1715011380": "Jump 25 Index", "1715241142": "How do I see my earnings?", + "1715781230": "To onboard with Deriv Prime’s liquidity solution and trading services, you will need to follow a streamlined process:
  1. Account application: Contact us to connect with a dedicated support team to guide you through the entire onboarding journey.
  2. Verification: Satisfy all compliance and regulatory requirements including Know Your Business (KYB) requirements.
  3. Margin account settlement: Fund your margin account to meet the minimum balance based on our scalable commercial plan.
  4. Connectivity: Integrate with our platform using your preferred connectivity method.
", "1718415779": "You can trade forex, cryptocurrencies, and derived on DTrader. Some markets may not be available in certain countries.", "1718887977": "HYG.US", "1720790758": "No, DBot will stop running when your web browser is closed.", @@ -1705,6 +1754,7 @@ "1728420651": "Withdrawals last month", "1730047428": "trading platforms", "1730081262": "Spot your favourite brand?", + "1733322890": "Effortless", "1733606989": "0.50", "1733660945": "Funds available as soon as confirmed", "1734683614": "Chief Executive Officer", @@ -1725,6 +1775,7 @@ "1744940662": "Best Forex Broker Latin America", "1745193633": "Redirect notice", "1746051371": "Download the app", + "1746052061": "> 5 - 10 billion", "1746633126": "What will happen to Binary.com?", "1746782390": "Will I still be able to trade with my account after registering as a payment agent?", "1748626120": "No hidden costs", @@ -1734,6 +1785,7 @@ "1752611984": "Open a digital options contract with an Up/Down trade type on Deriv’s trading platforms and earn payouts with accurate market predictions.", "1753559268": "We'll pay your IB commission into your MT5 Synthetic account daily.", "1755228338": "Securing your account", + "1756407392": "Terms of cooperation", "1757587944": "close low", "1758111931": "active users", "1758663702": "It refers to the exchange rate used in Deriv P2P ads. In some countries where it isn't feasible to use a fixed exchange rate (due to market volatility), you can set the exchange rate for your ad to a specific percentage of the market price.", @@ -1824,6 +1876,7 @@ "1841852640": "Deriv partnership programmes", "1842132259": "Middle East", "1842268335": "No results for <0>'{{search_value}}'", + "1842306349": "Trade stocks", "1844394355": "5. If you're adding your first Deriv X account, you'll need to set your Deriv X password. If you've already set your Deriv X password, you'll need to enter it now.", "1845394200": "At Deriv, we enforce best-in-class security measures such as SSL encryption to protect your account and personal data.", "1846521577": "Is the Deriv Payment Agent Programme the same as Deriv P2P (DP2P)?", @@ -1893,6 +1946,7 @@ "1903393516": "Our Deriv support community can help you find answers.", "1903495030": "For synthetic accounts, the stop loss and/or take profit pip value is in USD.", "1903975933": "To change your payment method, please contact us via <0>live chat.", + "1904055007": "We’ll help you maximise your earnings with a plan that suits your business.", "1904774976": "<0>Germany 40 follows the stock performance of the 40 major listed companies in Germany.", "1905259287": "Yes, a premium payment agent can conduct transactions with other premium payment agents.", "1905276604": "30+ crypto pairs", @@ -1948,11 +2002,13 @@ "1944218125": "Instrument", "1944427070": "If you select 'Under', you receive the payout if the last digit of the exit price is less than your prediction.", "1947069292": "You can create an API token <0>here. Give your token a name, select the scope, and click <1>Create.", + "1947993791": "Which currencies are accepted for funding?", "1948092185": "GBP/CAD", "1948630262": "To get one, first log in to your Binary.com affiliate dashboard.", "1949180450": "Do you offer pre-built trading bots on DBot?", "1949701571": "Create a Deriv real account.", "1952688371": "Which Deriv trading platforms can I use to trade Digits contracts?", + "1952996668": "Average execution speeds of under 50ms and intelligent routing to servers across the globe.", "1953016421": "Why trade options on Deriv", "1954845108": "A chart illustrating a losing Odd trade type contract", "1959548433": "Set the duration of your trade. Depending on whether you have a short-term or long-term view of the markets, you can set your preferred duration, starting from 1 to 10 ticks or 15 seconds to 365 days.", @@ -1978,6 +2034,7 @@ "1980724783": "The point value is derived from the current digits of the asset. In this example, the digit is 5, so the point value is 0.00001.", "1982404952": "Get quote", "1983480826": "Sign in", + "1983854834": "24/7 trading with the world’s top crypto assets.", "1984717496": "After you send your complaint through live chat, our team will review the information you provided. You'll get a response to your complaint or updates on its status via email.", "1984996183": "I forgot my affiliate password. What should I do?", "1986498784": "BTC/LTC", @@ -2008,6 +2065,7 @@ "2006998561": "DEX 1500UP", "2007092908": "Trade with leverage and low spreads for better returns on successful trades.", "2009954464": "<0>VNQ.US The Vanguard Real Estate ETF tracks the return of the MSCI US Investable Market Real Estate 25/50 Index.", + "2010015270": "Why choose Deriv Prime?", "2010744433": "We will strive to offer 24/7 live chat services to make agents available for any customer who requests a chat. Agents will be trained to answer relevant questions about the service.", "2011732553": "Is the accumulated payout correlated with the direction of the underlying index?", "2012239282": "In <0>Bot Builder, hit <0>Reset on the toolbar at the top. This will clear the workspace. Please note that any unsaved changes will be lost.", @@ -2035,6 +2093,7 @@ "2036526456": "Learn more about our payment methods and how to use them.", "2036671182": "If you select 'Over', you receive the payout if the last digit of the exit price is greater than your prediction.", "2038753186": "Deriv EZ is an intuitive CFD trading platform within the Deriv GO mobile app.", + "2041571225": "- Brokerage firms", "2041763181": "Once we've paid your commission into your account, you can withdraw whenever you want.", "2042720038": "High Ticks/Low Ticks, Asians, Reset Call/Reset Put, Digits, and Only Ups/Only Downs are available exclusively on synthetics.", "2043507434": "Here's what you can do:", @@ -2043,13 +2102,16 @@ "2046788283": "What markets can I trade on DTrader?", "2047349922": "0.013", "2048307729": "Help Deriv clients to make multiple deposits and withdrawals daily.", + "2049247194": "20-22 November 2023", "2049759467": "Can I customise the duration for an Only Ups/Only Downs contract?", "2051986867": "So you will require a swap charge of <0>0.24 USD to keep the position open for one night.", "2053673142": "By pressing “Create demo account”, you confirm that you are 18 or older. You understand that we may use your email address to send you information about Deriv products and services as well as market news. You can always unsubscribe from these emails in your account settings. For more information, please take a look at Deriv’s <0>Security and privacy.", "2053957629": "<0>One tick is generated <0>every second for volatility indices <0>10 (1s), 25 (1s), 50 (1s), 75 (1s), 100 (1s), 150 (1s), and 250 (1s).", + "2054675943": "Form submission error. Please submit the form again.", "2055209818": "You will receive a payout at the contract's expiry if the final price is lower than the strike price (which is determined at the beginning of the contract period). If the final price is at or above the strike price, you will lose your initial stake (premium).", "2056079566": "Get our help", "2056339251": "15 - 10,000", + "2056393733": "Versatile", "2057281944": "Yes, you are can open multiple In/Out contracts with different barrier limits at the same time.", "2057618836": "How to calculate stop loss and take profit level", "2057662499": "Profit with x500 multipliers", @@ -2082,12 +2144,15 @@ "2076930425": "Find out how Deriv P2P works", "2077489833": "Do I get commission as a payment agent?", "2080629326": "Select your XML file and hit <0>Open.", + "2080773053": "Available instruments", "2083818875": "<0>SLV.US The iShares Silver Trust ETF seeks to reflect generally the performance of the price of silver.", "2084456417": "Deriv EZ trading paltform", "2086048243": "Certificate of incorporation", "2087247269": "Not at all. Joining our payment agent programme is completely free.", "2088836522": "1. CVV failure. Please contact your bank to check.", + "2092654058": "To onboard with Deriv Prime’s liquidity solution and trading services, you will need to follow a streamlined process:", "2092854399": "Enjoy fast, smooth, and secure deposits and withdrawals with Trustly.", + "2095230169": "Reliable", "2097023111": "A low-cost way to trade diverse asset groups", "2097310605": "Why trade synthetics on Deriv", "2099115062": "Zimbabwe", @@ -2121,6 +2186,7 @@ "2123318546": "RTS28 2021", "2124129338": "Deriv - An online trading platform that offers a wide selection of derivatives to trade on", "2126425899": "Adidas Salomon", + "2127031078": "Available to trade 24/7 on popular crypto assets", "2127438954": "For synthetic, the swap charge is calculated on an annual basis for long and short positions based on this formula:", "2127504445": "Once you have determined the above parameters, you can open an Asians trade on SmartTrader and Deriv Bot.", "2129099656": "Select your desired trade type — Up and Down, High and Lows, Digits, etc.", @@ -2185,8 +2251,8 @@ "-1246992539": "Binary Bot", "-34495732": "Regulatory information", "-634625185": "Terms & conditions", + "-258641121": "Deriv Prime", "-890622347": "Affiliates and IBs", - "-199351188": "Bug bounty", "-1642457320": "Help centre", "-1718500720": "Community", "-1306639327": "Payment methods", @@ -2199,7 +2265,6 @@ "-45792628": "Telegram", "-1076138910": "Trade", "-663862998": "Markets", - "-23722102": "Partner", "-2045194514": "Secure and responsible trading", "-58704987": "Trade the world’s largest financial market with popular forex pairs.", "-260024315": "Predict broader market trends and diversify your risk with stocks & indices.", @@ -2464,6 +2529,29 @@ "-581371444": "100M+ USD", "-958368061": "2. Send or receive payment", "-1462151694": "Note: Funds are only released when the transaction is complete.", + "-950183109": "What is the liquidity solution offering?", + "-326976186": "As a liquidity solutions provider, Deriv Prime offers institutional trading services and access to global financial markets through a single point of integration. This encompasses trading assets in the forex, commodities, equities, indices, ETFs, and cryptocurrencies markets.", + "-2016263872": "How does Deriv Prime’s liquidity solution pricing work?", + "-1281767170": "Connectivity and Integration You are responsible for any connectivity or bridging fees charged by third-party providers to transact through our platform.
Minimum volume processing fee
A monthly service fee of USD 1,500 will be charged at the end of each month. The fee is accrued and only charged if the minimum volume requirements are not exceeded.
Institutional swaps
You will be charged daily with institutional swaps.
Commissions
on institutional trading via Deriv Prime will be charged on trades per million, per side (see table below). For equities, indices, and ETFs, commissions are charged per contract per side. For cryptocurrencies, commissions are charged in basis points, per side.
Scalable Commercial Plan
Monthly volume requirementFee
0 - 3 billion$8.00
> 3 - 5 billion$7.00
> 5 - 10 billion$6.00
> 10 billion$5.00
0 - 15 million (Crypto)5.5 bps / 0.055%
> 15 million (Crypto)5 bps / 0.05%
", + "-1268145536": "Are investments segregated from Deriv’s Group business funds?", + "-202025189": "Yes, Deriv Prime’s partner funds are held in segregated client accounts that are separate from Deriv’s Group business activities.", + "-1090662293": "Does Deriv Prime provide any support?", + "-522057664": "Yes, you will receive dedicated relationship managers to provide customised support and guidance along with technical support for connectivity, testing, and deployment for your trading operations.", + "-1290998687": "What connectivity methods are available with Deriv Prime?", + "-612038797": "50ms", + "-1898815664": "99.97%", + "-733326542": "20B+ USD", + "-678590039": "Daily trade volume", + "-1763366011": "2.5M+", + "-428086954": "Clients worldwide", + "-1238936518": "4.6/5", + "-1198458209": "Trustpilot rating", + "-1420548257": "20+", + "-1897306405": "Transparent", + "-915012896": "No hidden fees or convoluted pricing structures. We’re always fair and transparent.", + "-39672241": "Widest range of financial markets and instruments with irresistible spreads.", + "-1696404706": "Consistent", + "-1502747788": "Easy set-up with FIX protocol to your bridge provider or MT5 gateway.", "-1681655860": "the Malta Financial Services Authority", "-253752482": "Where is my money held?", "-1299484872": "Account", @@ -2912,9 +3000,11 @@ "-667423170": "arrow", "-1342720542": "Enjoy trading asset prices derived from real-world
or simulated markets.", "-269790876": "partners", + "-23722102": "Partner", "-1750297019": "affiliates and IBs", "-1433497542": "payment agents", "-1153226820": "bug bounty", + "-199351188": "Bug bounty", "-700683835": "Alert", "-246108767": "Learn more >", "-1503338163": "Demo account ", @@ -2936,6 +3026,10 @@ "-1174851024": "Explore jobs", "-1788474476": "Affiliate & IB sign up", "-373212993": "Deriv website", + "-1816672668": "Please enter your corporate email.", + "-1387776242": "Please enter your full name.", + "-115645240": "Please enter your mobile number.", + "-381962759": "Please enter a valid email address.", "-142727028": "The email is in your spam folder (sometimes things get lost there).", "-1961258037": "Didn't receive an email from us? Here's what could've happened.", "-276906320": "If you don't see an email from us within a few minutes, a few things could have happened:", @@ -3026,6 +3120,59 @@ "-1267106447": "Deal with fellow traders at pre-agreed rates.", "-141169956": "Deriv P2P – peer-to-peer deposit and withdrawal service", "-1451760391": "With Deriv P2P your deposits and withdrawals are easy, fast, and efficient. Access now via the desktop or mobile app.", + "-336031456": "Major, minor, and exotic currency pairs.", + "-187586473": "Trade forex", + "-828546225": "Trade cryptocurrencies", + "-904662996": "Trade commodities", + "-1120049888": "Leading company stocks and top global indices.", + "-1960027144": "Diverse exchange-traded funds for broad market exposure.", + "-550487473": "Trade ETFs", + "-1580384961": "Deriv Prime is the institutional arm of Deriv Group, and staying true to its guiding principles, effectively democratises liquidity provision to financial institutions.", + "-1895596299": "- Investment funds", + "-192132598": "- Professional trading groups / professional traders", + "-1777356692": "- Corporate clients", + "-1214139716": "- Other financial institutions", + "-1301147451": "1. Account application: Contact us to connect with a dedicated support team to guide you through the entire onboarding journey.", + "-1200324463": "2. Verification: Satisfy all compliance and regulatory requirements including Know Your Business (KYB) requirements.", + "-1088127199": "3. Margin account settlement: Fund your margin account to meet the minimum balance based on our scalable commercial plan.", + "-937845124": "4. Connectivity: Integrate with our platform using your preferred connectivity method.", + "-1624852813": "Connectivity and Integration", + "-1322903152": "
Minimum volume processing fee
", + "-1033362113": "
Institutional swaps
", + "-1704541182": "You will be charged daily with institutional swaps.", + "-1260098344": "
Commissions
on institutional trading via Deriv Prime will be charged on trades per million, per side (see table below). For equities, indices, and ETFs, commissions are charged per contract per side. For cryptocurrencies, commissions are charged in basis points, per side.", + "-1944988226": "Scalable commercial plan", + "-316000987": "0 - 3 billion", + "-231603377": "$ 6.00", + "-527979359": "$ 5.00", + "-1789026626": "5.5 bps / 0.055%", + "-62854202": "> 15 million <0>(Crypto)", + "-781112376": "5 bps / 0.05%", + "-28136390": "FIX API", + "-521081011": "Our platform-agnostic FIX API allows for quick set-up, giving you fast, direct, and secure access to our liquidity pool. ", + "-1361763089": "Quick setup and access to market liquidity", + "-1418113449": "Connectivity and reliability", + "-1862065040": "By clicking \"Submit\", you give your consent to be contacted by Deriv by email and telephone for marketing purposes.", + "-268898502": "Thank you for submitting your details. Our team will be in touch with you soon.", + "-293603692": "Company name*", + "-1678879119": "Corporate email*", + "-488343037": "Connect with us if you want to know more about our trailblazing liquidity solution", + "-1066941187": "Global liquidity for all", + "-1949154663": "iFX EXPO Cyprus", + "-1208220529": "19-21 September 2023", + "-962982313": "Cyprus Expo", + "-1681896209": "Dubai Expo", + "-1784634081": "FM London Summit", + "-267303297": "London Summit", + "-1150976117": "Meet us there", + "-2064793652": "Investment funds", + "-916681126": "Asset managers", + "-1459128154": "Professional traders", + "-922626395": "Corporate clients", + "-971040883": "Unbeatable spreads", + "-1920558726": "Reliable access to deep market liquidity pools", + "-102338874": "Fast execution with intelligent order routing", + "-763839364": "Dedicated support for smooth operations", "-1957784093": "Easy And Free Sign Up | Online Trading | Deriv.com", "-1718206543": "Enter your email address to begin", "-2125275828": "Unique trade types. Hundreds of instruments. Financial and derived markets.", @@ -3665,10 +3812,7 @@ "-919442675": "We offer the widest selection of derivatives to trade, with sharp prices and tight spreads that attract over 2.5 million online traders worldwide. Our technology provides an intuitive and powerful trading experience, enabling our clients to understand risk more effectively to make better trading decisions.", "-550677199": "Trading accounts opened", "-183146919": "Trades last month", - "-1974212061": "Affiliate and IB programmes", - "-767762875": "Enjoy the flexibility to choose from a variety of affiliate and introducing broker programmes. Earn 45% commission from promoting our trading platforms or enjoy turnover-based commissions.", - "-1725180490": "Payment agent programme", - "-1319775835": "Launch your trading app powered by our APIs. Get up to 5% in markup earnings from every trade your clients make on your app.", + "-1525567224": "Specialised institutional and prime brokerage solution for the world's most popular financial assets, has zero set-up costs, and is easy to integrate.", "-1943991243": "Partnership with a trusted pioneer", "-1781913728": "Benefit from our extensive experience of more than 20 years and our internationally acclaimed reputation.", "-1994716313": "No charges or hidden fees", @@ -4288,7 +4432,6 @@ "-1373949478": "50+", "-651384976": "nationalities", "-1972341214": "20", - "-1763366011": "2.5M+", "-1400973409": "USD 26M+", "-275117592": "withdrawals last month", "-654476117": "114M+", diff --git a/src/common/constants.ts b/src/common/constants.ts index 600c8c16ae6..91b658597e3 100644 --- a/src/common/constants.ts +++ b/src/common/constants.ts @@ -165,6 +165,8 @@ export const telegram_url = 'https://t.me/derivdotcomofficial' export const youtube_url = 'https://www.youtube.com/@deriv' export const loss_percent = 72 +export const contact_us_form_post_data = 'https://formkeep.com/f/7f4b8b55f10f' + export const cookie_key = 'browser_update_alert_modal_shown' export const browsers_minimum_required_version = { Chrome: 72, diff --git a/src/common/utility.ts b/src/common/utility.ts index 45c29d7577c..96fa25a4de6 100644 --- a/src/common/utility.ts +++ b/src/common/utility.ts @@ -28,6 +28,10 @@ export const isEmptyObject = (obj: unknown): boolean => { return is_empty } +export const trimObjectValues = (obj: { [key: string]: string }): { [key: string]: string } => { + return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, value.trim()])) +} + export const scrollTop = () => { if (isBrowser()) { document.body.scrollTop = 0 diff --git a/src/features/components/atoms/card/card-primary/index.tsx b/src/features/components/atoms/card/card-primary/index.tsx index d779505e697..cb874022382 100644 --- a/src/features/components/atoms/card/card-primary/index.tsx +++ b/src/features/components/atoms/card/card-primary/index.tsx @@ -4,13 +4,22 @@ import Flex from '../../flex-box' import Link from '../../link' import { FlexBoxProps } from '../../flex-box/box' import { CardType } from '../type' -import { Localize } from 'components/localization' +import { Localize, localize } from 'components/localization' import dclsx from 'features/utils/dclsx' import useBreakpoints from 'components/hooks/use-breakpoints' export interface CardPrimaryProps extends FlexBoxProps<'div'>, CardType {} -const CardPrimary = ({ header, description, icon, link, className, ...rest }: CardPrimaryProps) => { +const CardPrimary = ({ + header, + description, + icon, + alt_icon, + link, + className, + is_coming_soon = false, + ...rest +}: CardPrimaryProps) => { const { is_mobile_or_tablet } = useBreakpoints() return ( @@ -23,21 +32,27 @@ const CardPrimary = ({ header, description, icon, link, className, ...rest }: Ca radius="8x" {...rest} > - + {is_coming_soon && ( + + + + + + )} + {icon && ( - + {alt_icon )} - + - + diff --git a/src/features/components/atoms/card/type.ts b/src/features/components/atoms/card/type.ts index db7d853321a..9b40a771187 100644 --- a/src/features/components/atoms/card/type.ts +++ b/src/features/components/atoms/card/type.ts @@ -11,4 +11,6 @@ export interface CardType { description: TString icon?: string link?: LinkUrlType + is_coming_soon?: boolean + alt_icon?: TString } diff --git a/src/features/components/atoms/link/internal.tsx b/src/features/components/atoms/link/internal.tsx index e1c7173dcce..4e2eed6e224 100644 --- a/src/features/components/atoms/link/internal.tsx +++ b/src/features/components/atoms/link/internal.tsx @@ -1,4 +1,4 @@ -import React from 'react' +import React, { useEffect, useState } from 'react' import { Link } from 'gatsby' import language_config from '../../../../../i18n-config.js' import { LinkProps } from '.' @@ -66,6 +66,8 @@ const Internal = ({ link_rel, active_urls, }: InternalProps) => { + const [is_active, setIsActive] = useState(false) + let rawLocale = 'en' if (isBrowser()) { rawLocale = localStorage.getItem('i18n') ?? 'en' @@ -77,7 +79,9 @@ const Internal = ({ const to = is_non_localized || is_default ? url.to : `/${path}${url.to}` - const is_active = isActiveLink(url.to, active_urls) + useEffect(() => { + setIsActive(isActiveLink(url.to, active_urls)) + }, [active_urls, url.to]) return ( extends BoxProps, ClassProps { + striped?: boolean + layout?: 'fixed' | 'auto' + data: T[] + columns: Array> +} + +function BaseTable({ + data, + columns, + striped, + layout, + className, + ...rest +}: TableProps) { + return ( + + + + +
+
+ ) +} + +export default BaseTable diff --git a/src/features/components/atoms/table/base/table-header.tsx b/src/features/components/atoms/table/base/table-header.tsx new file mode 100644 index 00000000000..2ea8adbe608 --- /dev/null +++ b/src/features/components/atoms/table/base/table-header.tsx @@ -0,0 +1,35 @@ +import React from 'react' +import { TableColumnType } from '../types' +import dclsx from 'features/utils/dclsx' + +type TableHeaderProps = { + columns: Array> +} + +const TableHeader = ({ columns }: TableHeaderProps) => { + return ( + + + {columns.map((col) => ( + + {col.header} + + ))} + + + ) +} + +export default TableHeader diff --git a/src/features/components/atoms/table/base/table-row.tsx b/src/features/components/atoms/table/base/table-row.tsx new file mode 100644 index 00000000000..edc22bd5d39 --- /dev/null +++ b/src/features/components/atoms/table/base/table-row.tsx @@ -0,0 +1,37 @@ +import React from 'react' +import { TableColumnType } from '../types' +import dclsx from 'features/utils/dclsx' + +type TableRowProps = { + data: T[] + columns: Array> +} + +const TableRow = ({ data, columns }: TableRowProps) => { + return ( + + {data.map((row, i) => ( + + {columns.map((col) => ( + + {row[col.accessor]} + + ))} + + ))} + + ) +} + +export default TableRow diff --git a/src/features/components/atoms/table/index.tsx b/src/features/components/atoms/table/index.tsx new file mode 100644 index 00000000000..612ffeb5f7c --- /dev/null +++ b/src/features/components/atoms/table/index.tsx @@ -0,0 +1,17 @@ +import React, { ReactNode } from 'react' +import BaseTable from './base' +import ShadowTable from './shadow-table' + +type BaseTypes = { + Base: typeof BaseTable + Shadow: typeof ShadowTable +} + +const Table: BaseTypes = ({ children }: { children: ReactNode }) => { + return <>{children} +} + +Table.Base = BaseTable +Table.Shadow = ShadowTable + +export default Table diff --git a/src/features/components/atoms/table/shadow-table/index.tsx b/src/features/components/atoms/table/shadow-table/index.tsx new file mode 100644 index 00000000000..a9a8f51dae8 --- /dev/null +++ b/src/features/components/atoms/table/shadow-table/index.tsx @@ -0,0 +1,9 @@ +import React from 'react' +import BaseTable, { TableProps } from '../base' +import dclsx from 'features/utils/dclsx' + +function ShadowTable({ className, ...rest }: TableProps) { + return +} + +export default ShadowTable diff --git a/src/features/components/atoms/table/types.ts b/src/features/components/atoms/table/types.ts new file mode 100644 index 00000000000..ac1c9e7ee95 --- /dev/null +++ b/src/features/components/atoms/table/types.ts @@ -0,0 +1,6 @@ +import { ReactNode } from 'react' + +export type TableColumnType = { + accessor: K extends string ? K : never + header: ReactNode +} diff --git a/src/features/components/molecules/other-markets-slider/index.tsx b/src/features/components/molecules/other-markets-slider/index.tsx index 73245e35bcf..953efb76e8a 100644 --- a/src/features/components/molecules/other-markets-slider/index.tsx +++ b/src/features/components/molecules/other-markets-slider/index.tsx @@ -1,7 +1,7 @@ import React from 'react' import { Swiper, SwiperSlide } from 'swiper/react' import { Pagination } from 'swiper' -import { MarketPageType, other_markets_items } from './data' +import { MarketPageType, SmartOtherMarketsItem, other_markets_items } from './data' import useDynamicVisibleContent from 'components/hooks/use-dynamic-visible-content' import Flex from 'features/components/atoms/flex-box' import { Localize } from 'components/localization' @@ -10,33 +10,44 @@ import Card from 'features/components/atoms/card' import './other-markets-slider.scss' import Container from 'features/components/atoms/container' import useRegion from 'components/hooks/use-region' +import { TString } from 'types/generics' +import dclsx from 'features/utils/dclsx' export type OtherMarketSliderProps = { - current_market: MarketPageType + current_market?: MarketPageType + title?: TString + available_markets?: SmartOtherMarketsItem[] | null } -const OtherMarketsSlider = ({ current_market }: OtherMarketSliderProps) => { +const OtherMarketsSlider = ({ + current_market, + title, + available_markets = null, +}: OtherMarketSliderProps) => { const { is_eu } = useRegion() const slider_items = useDynamicVisibleContent({ - content: other_markets_items, + content: available_markets || other_markets_items, config: { current_market: (market_page) => market_page !== current_market, is_eu: (item_is_eu) => item_is_eu === undefined || is_eu === item_is_eu, }, }) + const is_no_linkAvailable = !!available_markets?.length return ( - + @@ -49,18 +60,23 @@ const OtherMarketsSlider = ({ current_market }: OtherMarketSliderProps) => { clickable: true, }} rewind - className={'markets_swiper'} + className={dclsx('markets_swiper', is_no_linkAvailable && 'no_link')} slidesPerView={'auto'} > {slider_items.map(({ id, data }) => { return ( ) diff --git a/src/features/components/molecules/other-markets-slider/other-markets-slider.scss b/src/features/components/molecules/other-markets-slider/other-markets-slider.scss index 73abc85a432..8c7ce936f5f 100644 --- a/src/features/components/molecules/other-markets-slider/other-markets-slider.scss +++ b/src/features/components/molecules/other-markets-slider/other-markets-slider.scss @@ -12,6 +12,12 @@ .other_market_item { min-block-size: 30rem; + &.no_link { + min-block-size: 17.5rem; + @include breakpoints(tablet) { + min-block-size: 21rem; + } + } } .markets_swiper { @@ -21,6 +27,13 @@ @include breakpoints(tablet) { min-block-size: 40rem; } + &.no_link { + min-block-size: 22rem; + + @include breakpoints(tablet) { + min-block-size: 25rem; + } + } } .markets_slider_pagination { diff --git a/src/features/components/molecules/shadow-box/index.tsx b/src/features/components/molecules/shadow-box/index.tsx new file mode 100644 index 00000000000..f605cc2ee35 --- /dev/null +++ b/src/features/components/molecules/shadow-box/index.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import { box_shadow, styled_heading } from './style.module.scss' +import Flex from 'features/components/atoms/flex-box' +import Image from 'features/components/atoms/image' +import Typography from 'features/components/atoms/typography' +import { TString } from 'types/generics' +import { Localize, localize } from 'components/localization' +import { FlexBoxProps } from 'features/components/atoms/flex-box/box' +import dclsx from 'features/utils/dclsx' + +export type BoxData = { + heading: TString + icon_alt: TString + icon_URL: string +} + +type ShadowBoxProps = BoxData & FlexBoxProps<'div'> + +const ShadowBox = ({ icon_URL, heading, icon_alt, ...rest }: ShadowBoxProps) => { + return ( + + {localize(icon_alt)} + + + + + ) +} + +export default ShadowBox diff --git a/src/features/components/molecules/shadow-box/style.module.scss b/src/features/components/molecules/shadow-box/style.module.scss new file mode 100644 index 00000000000..7c97a936880 --- /dev/null +++ b/src/features/components/molecules/shadow-box/style.module.scss @@ -0,0 +1,13 @@ +@use 'features/styles/theme/theme-mixins' as *; + +.box_shadow { + box-shadow: 0px 4px 6px -2px rgba(14, 14, 14, 0.03), 0px 12px 16px -4px rgba(14, 14, 14, 0.08); + border-radius: 0.8rem; + + @include breakpoints(laptop) { + border-radius: 1.6rem; + } +} +.styled_heading{ + max-inline-size: 18rem; +} \ No newline at end of file diff --git a/src/features/components/templates/footer/data.ts b/src/features/components/templates/footer/data.ts index 9b026dd9a23..99b6459c0b0 100644 --- a/src/features/components/templates/footer/data.ts +++ b/src/features/components/templates/footer/data.ts @@ -235,13 +235,20 @@ const legalLinks: SmartFooterLink[] = [ const partnerLinks: SmartFooterLink[] = [ { id: 0, + data: { + text: '_t_Deriv Prime_t_', + url: { type: 'internal', to: '/partners/deriv-prime/' }, + }, + }, + { + id: 1, data: { text: '_t_Affiliates and IBs_t_', url: { type: 'internal', to: '/partners/affiliate-ib/' }, }, }, { - id: 1, + id: 2, data: { text: '_t_Payment agents_t_', url: { type: 'internal', to: '/partners/payment-agent/' }, @@ -251,19 +258,12 @@ const partnerLinks: SmartFooterLink[] = [ }, }, { - id: 2, + id: 3, data: { text: '_t_API_t_', url: { type: 'company', url_name: 'api' }, }, }, - { - id: 3, - data: { - text: '_t_Bug bounty_t_', - url: { type: 'non-company', href: deriv_bug_bounty_url }, - }, - }, ] const supportLinks: SmartFooterLink[] = [ @@ -343,7 +343,7 @@ export const footerLinks: SmartFooterLinkColumn[] = [ { id: 5, data: { - title: '_t_PARTNER_t_', + title: '_t_PARTNERS_t_', links: partnerLinks, }, }, diff --git a/src/features/components/templates/navigation/main-nav/content/index.ts b/src/features/components/templates/navigation/main-nav/content/index.ts index d5b2b1a9b34..1afd9659e02 100644 --- a/src/features/components/templates/navigation/main-nav/content/index.ts +++ b/src/features/components/templates/navigation/main-nav/content/index.ts @@ -68,7 +68,7 @@ export const mainItems: NavItems = [ { id: 5, data: { - title: '_t_Partner_t_', + title: '_t_Partners_t_', type: 'single-column', content: partnerNavSectionContent, }, diff --git a/src/features/components/templates/navigation/main-nav/content/partner/index.ts b/src/features/components/templates/navigation/main-nav/content/partner/index.ts index 0ac995f715b..dc70044de31 100644 --- a/src/features/components/templates/navigation/main-nav/content/partner/index.ts +++ b/src/features/components/templates/navigation/main-nav/content/partner/index.ts @@ -3,13 +3,20 @@ import { SmartNavContent } from '../../../types' export const partnerNavSectionContent: SmartNavContent[] = [ { id: 0, + data: { + title: '_t_Deriv Prime_t_', + url: { type: 'internal', to: '/partners/deriv-prime/' }, + }, + }, + { + id: 1, data: { title: '_t_Affiliates and IBs_t_', url: { type: 'internal', to: '/partners/affiliate-ib/' }, }, }, { - id: 1, + id: 2, data: { title: '_t_Payment agents_t_', url: { type: 'internal', to: '/partners/payment-agent/' }, @@ -19,7 +26,7 @@ export const partnerNavSectionContent: SmartNavContent[] = [ }, }, { - id: 2, + id: 3, data: { title: '_t_API_t_', url: { type: 'company', url_name: 'api', target: '_blank' }, diff --git a/src/features/components/templates/navigation/payment-agent-nav/data.tsx b/src/features/components/templates/navigation/payment-agent-nav/data.tsx index 3c08c95b5d5..d9ef55b36af 100644 --- a/src/features/components/templates/navigation/payment-agent-nav/data.tsx +++ b/src/features/components/templates/navigation/payment-agent-nav/data.tsx @@ -3,6 +3,17 @@ import { NavItems } from '../types' const affiliateNavItems: NavItems = [ { id: 0, + data: { + type: 'single-item', + title: '_t_Deriv Prime_t_', + content: { + type: 'internal', + to: '/partners/deriv-prime/', + }, + }, + }, + { + id: 1, data: { type: 'single-item', title: '_t_Affiliates and IBs_t_', @@ -13,7 +24,7 @@ const affiliateNavItems: NavItems = [ }, }, { - id: 1, + id: 2, data: { type: 'single-item', title: '_t_Payment agents_t_', @@ -27,7 +38,7 @@ const affiliateNavItems: NavItems = [ }, }, { - id: 2, + id: 3, data: { type: 'single-item', title: '_t_API_t_', diff --git a/src/features/components/templates/navigation/payment-agent-nav/index.tsx b/src/features/components/templates/navigation/payment-agent-nav/index.tsx index 6b7ed2fbb31..a238a7a8518 100644 --- a/src/features/components/templates/navigation/payment-agent-nav/index.tsx +++ b/src/features/components/templates/navigation/payment-agent-nav/index.tsx @@ -1,7 +1,8 @@ -import React from 'react' +import React, { useMemo } from 'react' import NavTemplate from '../template' import affiliateNavItems from './data' import { partners_nav_logo, partners_buttons } from './payment-agent-nav.module.scss' +import PrimeLogo from 'images/svg/deriv-prime/deriv-prime-logo.svg' import PartnerNavLogo from 'images/svg/partner-nav-logo.svg' import Image from 'features/components/atoms/image' import Button from 'features/components/atoms/button' @@ -9,26 +10,24 @@ import { Localize } from 'components/localization/localize' import LanguageSwitcher from 'features/components/molecules/language-switcher' import Link from 'features/components/atoms/link' import Flex from 'features/components/atoms/flex-box' +import { getLocationPathname } from 'common/utility' +import useScrollToElement from 'features/hooks/use-scroll-to-element' -const PaymentAgentAffiliateNav = () => { - return ( - ( - - - - )} - items={affiliateNavItems} - has_top_nav - has_centered_items - > - { + const path_name = getLocationPathname() + const clickToScrollHandler = useScrollToElement('getintouch') + + const generate_buttons = useMemo(() => { + return !path_name ? null : path_name.includes('deriv-prime') ? ( + + + + ) : ( + <> @@ -58,6 +57,38 @@ const PaymentAgentAffiliateNav = () => { > + + ) + }, [path_name]) + + return ( + ( + + {is_prime_page ? ( + + ) : ( + + )} + + )} + items={affiliateNavItems} + has_top_nav + has_centered_items + > + + {generate_buttons} diff --git a/src/features/hooks/use-contact-form/index.tsx b/src/features/hooks/use-contact-form/index.tsx new file mode 100644 index 00000000000..590f51e3233 --- /dev/null +++ b/src/features/hooks/use-contact-form/index.tsx @@ -0,0 +1,104 @@ +import { useState, useEffect } from 'react' +import * as yup from 'yup' +import { yupResolver } from '@hookform/resolvers/yup' +import { useForm } from 'react-hook-form' +import { validation_regex } from 'common/validation' +import { trimObjectValues } from 'common/utility' +import { contact_us_form_post_data } from 'common/constants' + +const error_message = { + email: '_t_Please enter your corporate email._t_', + full_name: '_t_Please enter your full name._t_', + company_name: '_t_Please enter your company name._t_', + mobile_number: '_t_Please enter your mobile number._t_', + email_validation: '_t_Please enter a valid email address._t_', +} +const schema = yup.object({ + full_name: yup.string().required(error_message['full_name']), + company_name: yup.string().required(error_message['company_name']), + email: yup + .string() + .required(error_message['email']) + .matches(validation_regex.email, { message: error_message['email_validation'] }) + .email(error_message['email_validation']), + mobile_number: yup.string().required(error_message['mobile_number']), +}) + +type FormDataType = yup.InferType +type FormStateType = { + is_loading_form: boolean + is_submitted: boolean + is_submission_fail: boolean +} +type FieldNameType = keyof typeof error_message + +const useContactForm = () => { + const [form_state, setFormState] = useState({ + is_loading_form: false, + is_submitted: false, + is_submission_fail: false, + }) + const contact_us_form = useForm({ + mode: 'onChange', + resolver: yupResolver(schema), + }) + useEffect(() => { + if (form_state.is_submitted) { + setTimeout(() => { + setFormState({ ...form_state, is_submitted: false }) + }, 4000) + } + }, [form_state]) + + const on_submit = async (data) => { + setFormState({ is_loading_form: true, is_submission_fail: false, is_submitted: false }) + try { + const clean_data = trimObjectValues(data) + const fields_to_validate = ['full_name', 'mobile_number', 'company_name'] + + let has_validation_error = false + fields_to_validate.forEach((fieldName: FieldNameType) => { + if (!clean_data[fieldName]) { + contact_us_form.setError(fieldName, { + type: 'manual', + message: error_message[fieldName], + }) + has_validation_error = true + } + }) + + if (has_validation_error) { + setFormState({ ...form_state, is_loading_form: false }) + return + } + const response = await fetch(contact_us_form_post_data, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(clean_data), + }) + + if (response.ok) { + contact_us_form.reset() + setFormState({ + is_submitted: true, + is_loading_form: false, + is_submission_fail: false, + }) + } else { + setFormState({ ...form_state, is_loading_form: false, is_submission_fail: true }) + } + } catch (error) { + setFormState({ ...form_state, is_loading_form: false, is_submission_fail: true }) + } + } + + return { + contact_us_form, + on_submit, + form_state, + } +} + +export default useContactForm diff --git a/src/features/hooks/use-scroll-to-element/index.ts b/src/features/hooks/use-scroll-to-element/index.ts new file mode 100644 index 00000000000..9b5ad5a5291 --- /dev/null +++ b/src/features/hooks/use-scroll-to-element/index.ts @@ -0,0 +1,15 @@ +const useScrollToElement = (targetElement: string, offset = 0) => { + const clickToScrollHandler = () => { + const element = document.getElementById(targetElement) + if (element) { + window.scrollTo({ + top: element.offsetTop + offset, + left: 0, + behavior: 'smooth', + }) + } + } + return clickToScrollHandler +} + +export default useScrollToElement diff --git a/src/features/pages/partners/deriv-prime/available-instruments/_data.tsx b/src/features/pages/partners/deriv-prime/available-instruments/_data.tsx new file mode 100644 index 00000000000..6e3e1081523 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/available-instruments/_data.tsx @@ -0,0 +1,71 @@ +import Forex from 'images/svg/markets/forex_markets.svg' +import Stocks from 'images/svg/markets/stocks_markets.svg' +import CryptoCurrencies from 'images/svg/markets/crypto_markets.svg' +import Commodities from 'images/svg/markets/commodities_markets.svg' +import ETFs from 'images/svg/markets/etfs.svg' +import { SmartOtherMarketsItem } from 'features/components/molecules/other-markets-slider/data' + +export const other_markets_items_deriv_prime: SmartOtherMarketsItem[] = [ + { + id: 0, + data: { + header: '_t_Forex_t_', + description: '_t_Major, minor, and exotic currency pairs._t_', + icon: Forex, + alt_icon: '_t_Trade forex_t_', + }, + visibility: { + current_market: 'forex', + }, + }, + { + id: 1, + data: { + header: '_t_Cryptocurrencies_t_', + description: '_t_24/7 trading with the world’s top crypto assets._t_', + icon: CryptoCurrencies, + alt_icon: '_t_Trade cryptocurrencies_t_', + }, + visibility: { + current_market: 'cryptocurrencies', + }, + }, + { + id: 2, + data: { + header: '_t_Commodities_t_', + description: '_t_Markets including metals and energies._t_', + icon: Commodities, + alt_icon: '_t_Trade commodities_t_', + }, + visibility: { + current_market: 'commodities', + }, + }, + { + id: 3, + data: { + header: '_t_Stocks & indices_t_', + description: '_t_Leading company stocks and top global indices._t_', + icon: Stocks, + alt_icon: '_t_Trade stocks_t_', + is_coming_soon: true, + }, + visibility: { + current_market: 'stock', + }, + }, + { + id: 4, + data: { + header: '_t_ETFs_t_', + description: '_t_Diverse exchange-traded funds for broad market exposure._t_', + icon: ETFs, + is_coming_soon: true, + alt_icon: '_t_Trade ETFs_t_', + }, + visibility: { + current_market: 'etfs', + }, + }, +] diff --git a/src/features/pages/partners/deriv-prime/available-instruments/index.tsx b/src/features/pages/partners/deriv-prime/available-instruments/index.tsx new file mode 100644 index 00000000000..fcd64d33591 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/available-instruments/index.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { other_markets_items_deriv_prime } from './_data' +import OtherMarketsSlider from 'features/components/molecules/other-markets-slider' + +const AvailableInstruments = () => { + return ( + + ) +} + +export default AvailableInstruments diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/_faq-schema.ts b/src/features/pages/partners/deriv-prime/browse-our-faq/_faq-schema.ts new file mode 100644 index 00000000000..8a59642d4db --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/_faq-schema.ts @@ -0,0 +1,99 @@ +import { localize } from 'components/localization' +import { FaqSchemaType } from 'features/types/faq-schema' + +export const faq_schema: FaqSchemaType = { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: [ + { + '@type': 'Question', + name: localize('_t_Who is Deriv Prime?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_Deriv Prime is the institutional arm of Deriv Group, and staying true to its guiding principles, effectively democratises liquidity provision to financial institutions. No matter if you are large, small, or have just started, Deriv Prime will provide top-of-book liquidity solutions with very fast execution at unmatched fair pricing and conditions._t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_How can I open an Up/Down contract?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_Deriv Prime partners with regulated financial institutions, including:
  • Brokerage firms
  • Asset managers
  • Investment funds
  • Professional trading groups / professional traders
  • Corporate clients
  • Other financial institutions
_t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_What is the liquidity solution offering?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_As a liquidity solutions provider, Deriv Prime offers institutional trading services and access to global financial markets through a single point of integration. This encompasses trading assets in the forex, commodities, equities, indices, ETFs, and cryptocurrencies markets._t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_What is the onboarding procedure?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_To onboard with Deriv Prime’s liquidity solution and trading services, you will need to follow a streamlined process:
  1. Account application: Contact us to connect with a dedicated support team to guide you through the entire onboarding journey.
  2. Verification: Satisfy all compliance and regulatory requirements including Know Your Business (KYB) requirements.
  3. Margin account settlement: Fund your margin account to meet the minimum balance based on our scalable commercial plan.
  4. Connectivity: Integrate with our platform using your preferred connectivity method.
_t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_How does Deriv Prime’s liquidity solution pricing work?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_Connectivity and Integration You are responsible for any connectivity or bridging fees charged by third-party providers to transact through our platform.
Minimum volume processing fee
A monthly service fee of USD 1,500 will be charged at the end of each month. The fee is accrued and only charged if the minimum volume requirements are not exceeded.
Institutional swaps
You will be charged daily with institutional swaps.
Commissions
on institutional trading via Deriv Prime will be charged on trades per million, per side (see table below). For equities, indices, and ETFs, commissions are charged per contract per side. For cryptocurrencies, commissions are charged in basis points, per side.
Scalable Commercial Plan
Monthly volume requirementFee
0 - 3 billion$8.00
> 3 - 5 billion$7.00
> 5 - 10 billion$6.00
> 10 billion$5.00
0 - 15 million (Crypto)5.5 bps / 0.055%
> 15 million (Crypto)5 bps / 0.05%
_t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_Are investments segregated from Deriv’s Group business funds?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_Yes, Deriv Prime’s partner funds are held in segregated client accounts that are separate from Deriv’s Group business activities._t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_Does Deriv Prime provide any support?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_Yes, you will receive dedicated relationship managers to provide customised support and guidance along with technical support for connectivity, testing, and deployment for your trading operations._t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_What connectivity methods are available with Deriv Prime?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_You can connect to your trusted bridge partner via a FIX API protocol connection._t_', + ), + }, + }, + { + '@type': 'Question', + name: localize('_t_Which currencies are accepted for funding?_t_'), + acceptedAnswer: { + '@type': 'Answer', + text: localize( + '_t_You can fund your margin account with EUR, USD and GBP. If you wish to use other currencies, please reach out to us and we will review your request._t_', + ), + }, + }, + ], +} diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/data.tsx b/src/features/pages/partners/deriv-prime/browse-our-faq/data.tsx new file mode 100644 index 00000000000..4d30ec43e07 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/data.tsx @@ -0,0 +1,170 @@ +import React from 'react' +import FAQCommercialPlan from './faq-commercial-plan' +import { DerivPrimeFAQDataItem } from './types' + +export const general_faq_data: DerivPrimeFAQDataItem[] = [ + { + id: 1, + question: '_t_Who is Deriv Prime?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_Deriv Prime is the institutional arm of Deriv Group, and staying true to its guiding principles, effectively democratises liquidity provision to financial institutions._t_', + }, + { + id: 2, + type: 'text', + text: '_t_No matter if you are large, small, or have just started, Deriv Prime will provide top-of-book liquidity solutions with very fast execution at unmatched fair pricing and conditions._t_', + }, + ], + }, + { + id: 2, + question: '_t_Who can partner with Deriv Prime?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_Deriv Prime partners with regulated financial institutions, including:_t_', + }, + { + id: 2, + type: 'list', + list_items: [ + '_t_- Brokerage firms_t_', + '_t_- Asset managers_t_', + '_t_- Investment funds_t_', + '_t_- Professional trading groups / professional traders_t_', + '_t_- Corporate clients_t_', + '_t_- Other financial institutions_t_', + ], + }, + ], + }, + { + id: 3, + question: '_t_What is the liquidity solution offering?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_As a liquidity solutions provider, Deriv Prime offers institutional trading services and access to global financial markets through a single point of integration. This encompasses trading assets in the forex, commodities, equities, indices, ETFs, and cryptocurrencies markets._t_', + }, + ], + }, + { + id: 4, + question: '_t_What is the onboarding procedure?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_To onboard with Deriv Prime’s liquidity solution and trading services, you will need to follow a streamlined process:_t_', + }, + { + id: 2, + type: 'list', + list_items: [ + '_t_1. Account application: Contact us to connect with a dedicated support team to guide you through the entire onboarding journey._t_', + '_t_2. Verification: Satisfy all compliance and regulatory requirements including Know Your Business (KYB) requirements._t_', + '_t_3. Margin account settlement: Fund your margin account to meet the minimum balance based on our scalable commercial plan._t_', + '_t_4. Connectivity: Integrate with our platform using your preferred connectivity method._t_', + ], + }, + ], + }, +] + +export const terms_cooperation_data: DerivPrimeFAQDataItem[] = [ + { + id: 1, + question: '_t_How does Deriv Prime’s liquidity solution pricing work?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_Connectivity and Integration_t_', + }, + { + id: 2, + type: 'text', + text: '_t_You are responsible for any connectivity or bridging fees charged by third-party providers to transact through our platform._t_', + }, + { + id: 3, + type: 'text', + text: '_t_
Minimum volume processing fee
_t_', + }, + { + id: 4, + type: 'text', + text: '_t_A monthly service fee of USD 1,500 will be charged at the end of each month. The fee is accrued and only charged if the minimum volume requirements are not exceeded._t_', + }, + { + id: 5, + type: 'text', + text: '_t_
Institutional swaps
_t_', + }, + { + id: 6, + type: 'text', + text: '_t_You will be charged daily with institutional swaps._t_', + }, + { + id: 7, + type: 'text', + text: '_t_
Commissions
on institutional trading via Deriv Prime will be charged on trades per million, per side (see table below). For equities, indices, and ETFs, commissions are charged per contract per side. For cryptocurrencies, commissions are charged in basis points, per side._t_', + }, + { + id: 8, + type: 'custom_component', + component: , + }, + ], + }, + { + id: 2, + question: '_t_Are investments segregated from Deriv’s Group business funds?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_Yes, Deriv Prime’s partner funds are held in segregated client accounts that are separate from Deriv’s Group business activities._t_', + }, + ], + }, + { + id: 3, + question: '_t_Does Deriv Prime provide any support?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_Yes, you will receive dedicated relationship managers to provide customised support and guidance along with technical support for connectivity, testing, and deployment for your trading operations._t_', + }, + ], + }, + { + id: 4, + question: '_t_What connectivity methods are available with Deriv Prime?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_You can connect to your trusted bridge partner via a FIX API protocol connection._t_', + }, + ], + }, + { + id: 5, + question: '_t_Which currencies are accepted for funding?_t_', + answers: [ + { + id: 1, + type: 'text', + text: '_t_You can fund your margin account with EUR, USD and GBP. If you wish to use other currencies, please reach out to us and we will review your request._t_', + }, + ], + }, +] diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/deriv-prime-faq.tsx b/src/features/pages/partners/deriv-prime/browse-our-faq/deriv-prime-faq.tsx new file mode 100644 index 00000000000..1b180bd2b13 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/deriv-prime-faq.tsx @@ -0,0 +1,82 @@ +import React from 'react' +import { wrapper } from './styles.module.scss' +import { DerivPrimeFAQDataItem } from './types' +import Flex from 'features/components/atoms/flex-box' +import Typography from 'features/components/atoms/typography' +import { Localize, get_lang_direction } from 'components/localization' +import Accordion from 'features/components/atoms/accordion' +import { TString } from 'types/generics' + +interface DerivPrimeFaqProps { + faqs: DerivPrimeFAQDataItem[] + subsection: TString +} + +const DerivPrimeFaq = ({ faqs, subsection }: DerivPrimeFaqProps) => { + return ( + + + + + + {faqs.map((faqItem) => ( + + + {faqItem.answers.map((answerItem) => ( + + {answerItem.type === 'text' ? ( + + + + ) : answerItem.type === 'list' ? ( +
    + {answerItem.list_title && ( + + + + )} + {answerItem.list_items && + answerItem.list_items.map((answerListItem) => ( +
  • + + + +
  • + ))} +
+ ) : answerItem.type === 'custom_component' ? ( + {answerItem.component} + ) : null} +
+ ))} +
+
+ ))} +
+
+ ) +} + +export default DerivPrimeFaq diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/faq-commercial-plan.tsx b/src/features/pages/partners/deriv-prime/browse-our-faq/faq-commercial-plan.tsx new file mode 100644 index 00000000000..640bd62994e --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/faq-commercial-plan.tsx @@ -0,0 +1,34 @@ +import React from 'react' +import { data, column_data } from '../commercial-plan/data' +import { commercial_table_faq } from './styles.module.scss' +import Container from 'features/components/atoms/container' +import Typography from 'features/components/atoms/typography' +import { Localize } from 'components/localization' +import Table from 'features/components/atoms/table' + +const FAQCommercialPlan = () => { + return ( + + + + + + + + + ) +} + +export default FAQCommercialPlan diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/index.tsx b/src/features/pages/partners/deriv-prime/browse-our-faq/index.tsx new file mode 100644 index 00000000000..36a99880f1c --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/index.tsx @@ -0,0 +1,25 @@ +import React from 'react' +import { general_faq_data, terms_cooperation_data } from './data' +import DerivPrimeFaq from './deriv-prime-faq' +import Container from 'features/components/atoms/container' +import Typography from 'features/components/atoms/typography' +import { Localize } from 'components/localization' + +const BrowseOurFaq = () => { + return ( + <> + + + + + + + + + ) +} + +export default BrowseOurFaq diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/styles.module.scss b/src/features/pages/partners/deriv-prime/browse-our-faq/styles.module.scss new file mode 100644 index 00000000000..44bff37a018 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/styles.module.scss @@ -0,0 +1,13 @@ +@use 'features/styles/theme/theme-mixins' as *; + +.wrapper { + max-inline-size: 99.6rem; + margin-inline: auto; + inline-size: 90%; +} + +.commercial_table_faq { + max-inline-size: 54rem; + box-shadow: none !important; + padding: unset !important; +} diff --git a/src/features/pages/partners/deriv-prime/browse-our-faq/types.ts b/src/features/pages/partners/deriv-prime/browse-our-faq/types.ts new file mode 100644 index 00000000000..463b79a0bc9 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/browse-our-faq/types.ts @@ -0,0 +1,25 @@ +import { TString } from 'types/generics' + +export interface DerivPrimeFAQTextItem { + type: 'text' + id: number + text: TString +} + +export interface DerivPrimeFAQListItem { + type: 'list' + id: number + list_title?: TString + list_items: TString[] +} + +export interface DerivPrimeFAQCustomComponentItem { + type: 'custom_component' + id: number + component: React.ReactNode +} +export interface DerivPrimeFAQDataItem { + question: TString + id: number + answers: (DerivPrimeFAQTextItem | DerivPrimeFAQListItem | DerivPrimeFAQCustomComponentItem)[] +} diff --git a/src/features/pages/partners/deriv-prime/commercial-plan/data.tsx b/src/features/pages/partners/deriv-prime/commercial-plan/data.tsx new file mode 100644 index 00000000000..a652c221451 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/commercial-plan/data.tsx @@ -0,0 +1,57 @@ +import React, { ReactNode } from 'react' +import { TableColumnType } from 'features/components/atoms/table/types' +import dclsx from 'features/utils/dclsx' +import { Localize } from 'components/localization' + +type Data = { + monthly_requirement: ReactNode + fee_per_million: ReactNode +} + +export const data: Data[] = [ + { + monthly_requirement: , + fee_per_million: , + }, + { + monthly_requirement: , + fee_per_million: , + }, + { + monthly_requirement: , + fee_per_million: , + }, + { + monthly_requirement: , + fee_per_million: , + }, + { + monthly_requirement: ( + ]} + /> + ), + fee_per_million: , + }, + { + monthly_requirement: ( + ]} + /> + ), + fee_per_million: , + }, +] + +export const column_data: TableColumnType[] = [ + { + accessor: 'monthly_requirement', + header: , + }, + { + accessor: 'fee_per_million', + header: , + }, +] diff --git a/src/features/pages/partners/deriv-prime/commercial-plan/index.tsx b/src/features/pages/partners/deriv-prime/commercial-plan/index.tsx new file mode 100644 index 00000000000..381dbf8eeb7 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/commercial-plan/index.tsx @@ -0,0 +1,38 @@ +import React from 'react' +import { data, column_data } from './data' +import { commercial_table } from './styles.module.scss' +import Container from 'features/components/atoms/container' +import Typography from 'features/components/atoms/typography' +import { Localize } from 'components/localization' +import Table from 'features/components/atoms/table' + +const CommercialPlan = () => { + return ( + + + + + + + + + + + + ) +} + +export default CommercialPlan diff --git a/src/features/pages/partners/deriv-prime/commercial-plan/styles.module.scss b/src/features/pages/partners/deriv-prime/commercial-plan/styles.module.scss new file mode 100644 index 00000000000..242b0cf68e3 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/commercial-plan/styles.module.scss @@ -0,0 +1,4 @@ +.commercial_table { + max-inline-size: 66.1rem; + margin-inline: auto; +} \ No newline at end of file diff --git a/src/features/pages/partners/deriv-prime/connectivity-reliability/connectivity-reliability-item.tsx b/src/features/pages/partners/deriv-prime/connectivity-reliability/connectivity-reliability-item.tsx new file mode 100644 index 00000000000..6d6b63b73ab --- /dev/null +++ b/src/features/pages/partners/deriv-prime/connectivity-reliability/connectivity-reliability-item.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import { ConnectivityTypeItemType } from './types' +import { item_box } from './styles.module.scss' +import Flex from 'features/components/atoms/flex-box' +import { Localize, localize } from 'components/localization' +import Typography from 'features/components/atoms/typography' +import Image from 'features/components/atoms/image' +import dclsx from 'features/utils/dclsx' + +interface ConnectivityReliabilityItemProps { + item: ConnectivityTypeItemType +} + +const ConnectivityReliabilityItem = ({ item }: ConnectivityReliabilityItemProps) => { + return ( + + {localize(item.alt)} + + + + + + + + + + ) +} + +export default ConnectivityReliabilityItem diff --git a/src/features/pages/partners/deriv-prime/connectivity-reliability/data.tsx b/src/features/pages/partners/deriv-prime/connectivity-reliability/data.tsx new file mode 100644 index 00000000000..d1af4e00b8f --- /dev/null +++ b/src/features/pages/partners/deriv-prime/connectivity-reliability/data.tsx @@ -0,0 +1,28 @@ +import { SmartConnectivityTypeItemType } from './types' +import FixApiIcon from 'images/svg/deriv-prime/fix_api.svg' +import FastStableIcon from 'images/svg/deriv-prime/fast_stable.svg' + +export const connectivity_items: SmartConnectivityTypeItemType[] = [ + { + id: 0, + data: { + title: '_t_FIX API_t_', + description: + '_t_Our platform-agnostic FIX API allows for quick set-up, giving you fast, direct, and secure access to our liquidity pool. _t_', + + icon_src: FixApiIcon, + alt: '_t_Quick setup and access to market liquidity_t_', + }, + }, + { + id: 1, + data: { + title: '_t_Fast and stable_t_', + description: + '_t_Our intelligent routing to servers worldwide ensures rapid execution speeds and a stable, uninterrupted price feed with 99.97% uptime._t_', + + icon_src: FastStableIcon, + alt: '_t_Rapid trade execution speeds for your clients_t_', + }, + }, +] diff --git a/src/features/pages/partners/deriv-prime/connectivity-reliability/index.tsx b/src/features/pages/partners/deriv-prime/connectivity-reliability/index.tsx new file mode 100644 index 00000000000..3a1a7deb355 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/connectivity-reliability/index.tsx @@ -0,0 +1,42 @@ +import React from 'react' +import { connectivity_items } from './data' +import ConnectivityReliabilityItem from './connectivity-reliability-item' +import { item_container } from './styles.module.scss' +import Container from 'features/components/atoms/container' +import Typography from 'features/components/atoms/typography' +import { Localize } from 'components/localization' +import Flex from 'features/components/atoms/flex-box' + +const ConnectivityReliabilityType = () => { + return ( + + + + + + + + {connectivity_items.map((item) => ( + + ))} + + + + ) +} + +export default ConnectivityReliabilityType diff --git a/src/features/pages/partners/deriv-prime/connectivity-reliability/styles.module.scss b/src/features/pages/partners/deriv-prime/connectivity-reliability/styles.module.scss new file mode 100644 index 00000000000..d76a87226d9 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/connectivity-reliability/styles.module.scss @@ -0,0 +1,8 @@ +@use 'features/styles/theme/theme-mixins' as *; + +.item_box { + max-inline-size: 28rem; + @include breakpoints(tablet) { + max-inline-size: 38.9rem; + } +} diff --git a/src/features/pages/partners/deriv-prime/connectivity-reliability/types.ts b/src/features/pages/partners/deriv-prime/connectivity-reliability/types.ts new file mode 100644 index 00000000000..e0cf6dfae6a --- /dev/null +++ b/src/features/pages/partners/deriv-prime/connectivity-reliability/types.ts @@ -0,0 +1,17 @@ +import { TSmartContent, TString } from 'types/generics' + +export type ConnectivityTypeItemType = { + title: TString + description: TString + icon_src: string + alt: TString +} + +type ConnectivityTypeConfig = { + is_eu: boolean +} + +export type SmartConnectivityTypeItemType = TSmartContent< + ConnectivityTypeItemType, + ConnectivityTypeConfig +> diff --git a/src/features/pages/partners/deriv-prime/get-in-touch/contact-form.tsx b/src/features/pages/partners/deriv-prime/get-in-touch/contact-form.tsx new file mode 100644 index 00000000000..8a573ae4679 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/get-in-touch/contact-form.tsx @@ -0,0 +1,154 @@ +import React, { useMemo } from 'react' +import { get_in_touch_form_container, get_in_touch_form } from './get-in-touch.module.scss' +import Flex from 'features/components/atoms/flex-box' +import Typography from 'features/components/atoms/typography' +import { localize, Localize } from 'components/localization' +import Button from 'features/components/atoms/button' +import Input from 'features/components/atoms/input' +import { TString } from 'types/generics' +import useContactForm from 'features/hooks/use-contact-form' +import { TTypographyColor } from 'features/types' +import useBreakpoints from 'components/hooks/use-breakpoints' + +const ContactFormGetInTouch = () => { + const { contact_us_form, on_submit, form_state } = useContactForm() + const { is_mobile } = useBreakpoints() + + const { + register, + formState: { errors }, + clearErrors, + setValue, + handleSubmit, + } = contact_us_form + + const get_form_bottom_message = useMemo(() => { + const { is_submission_fail, is_submitted } = form_state + let text_values: { color: TTypographyColor; text: TString } + if (!is_submission_fail && !is_submitted) + text_values = { + color: 'gray-shade', + text: '_t_By clicking "Submit", you give your consent to be contacted by Deriv by email and telephone for marketing purposes._t_', + } + if (is_submitted) + text_values = { + color: 'black', + text: '_t_Thank you for submitting your details. Our team will be in touch with you soon._t_', + } + if (is_submission_fail) + text_values = { + color: 'brand', + text: '_t_Form submission error. Please submit the form again._t_', + } + return text_values + }, [form_state]) + + return ( + + + + + + + + clearErrors('full_name')} + setValue={setValue} + error={ + errors?.full_name?.message + ? localize(errors?.full_name?.message as TString) + : null + } + {...register('full_name')} + /> + + + clearErrors('company_name')} + setValue={setValue} + error={ + errors?.company_name?.message + ? localize(errors?.company_name?.message as TString) + : null + } + {...register('company_name')} + /> + + + clearErrors('email')} + setValue={setValue} + error={ + errors?.email?.message + ? localize(errors?.email?.message as TString) + : null + } + {...register('email')} + /> + + + clearErrors('mobile_number')} + setValue={setValue} + error={ + errors?.mobile_number?.message + ? localize(errors?.mobile_number?.message as TString) + : null + } + {...register('mobile_number')} + /> + + + + + + + + + + + + + + + + + ) +} + +export default ContactFormGetInTouch diff --git a/src/features/pages/partners/deriv-prime/get-in-touch/get-in-touch.module.scss b/src/features/pages/partners/deriv-prime/get-in-touch/get-in-touch.module.scss new file mode 100644 index 00000000000..e14492d8d0b --- /dev/null +++ b/src/features/pages/partners/deriv-prime/get-in-touch/get-in-touch.module.scss @@ -0,0 +1,64 @@ +@use 'features/styles/theme/theme-mixins' as *; +@import 'features/styles/theme/variables'; + +.get_in_touch_container { + inline-size: 100%; + border-radius: 16px; + + @include breakpoints(phone) { + inline-size: 90%; + min-block-size: 36rem; + margin-inline: auto; + } + @include breakpoints(tablet) { + max-width: 100%; + } +} + +.banner_container { + inline-size: 90%; + margin-inline: auto; + @include breakpoints(phone) { + inline-size: 80%; + } +} + +.get_in_touch_form_container { + @include breakpoints(tablet) { + position: relative; + } +} + +.get_in_touch_form { + min-block-size: 48.4rem; + + box-shadow: 0px 0px 16px rgba(14, 14, 14, 0.04), 0px 16px 16px rgba(14, 14, 14, 0.04); + border-radius: 8px; + @include breakpoints(tablet) { + max-inline-size: 41.4rem; + min-inline-size: 32rem; + box-shadow: 0px 32px 64px rgba(14, 14, 14, 0.14); + position: absolute; + inset-block-start: 5rem; + inset-inline-start: 3rem; + } + @include breakpoints(laptop) { + inset-block-start: 4rem; + inset-inline-start: 8rem; + min-inline-size: 35rem; + } + @include breakpoints(desktop) { + min-inline-size: 41.4rem; + } +} + +.text_banner_container { + position: relative; + overflow: hidden; +} + +.container_box{ + @include breakpoints(tablet) { + margin-bottom: 18rem !important; + } +} diff --git a/src/features/pages/partners/deriv-prime/get-in-touch/index.tsx b/src/features/pages/partners/deriv-prime/get-in-touch/index.tsx new file mode 100644 index 00000000000..f423349659a --- /dev/null +++ b/src/features/pages/partners/deriv-prime/get-in-touch/index.tsx @@ -0,0 +1,34 @@ +import React from 'react' +import ContactForm from './contact-form' +import { get_in_touch_container, banner_container, container_box } from './get-in-touch.module.scss' +import GetInTouchTextBanner from './text-banner' +import Flex from 'features/components/atoms/flex-box' +import Container from 'features/components/atoms/container' + +const GetInTouchBanner = () => { + return ( + + + + + + + + + ) +} + +export default GetInTouchBanner diff --git a/src/features/pages/partners/deriv-prime/get-in-touch/text-banner.tsx b/src/features/pages/partners/deriv-prime/get-in-touch/text-banner.tsx new file mode 100644 index 00000000000..e5c8f3a0eec --- /dev/null +++ b/src/features/pages/partners/deriv-prime/get-in-touch/text-banner.tsx @@ -0,0 +1,27 @@ +import React from 'react' +import { text_banner_container } from './get-in-touch.module.scss' +import Flex from 'features/components/atoms/flex-box' +import Typography from 'features/components/atoms/typography' +import { Localize } from 'components/localization' + +const GetInTouchTextBanner = () => { + return ( + + + + + + + + ) +} + +export default GetInTouchTextBanner diff --git a/src/features/pages/partners/deriv-prime/hero/index.tsx b/src/features/pages/partners/deriv-prime/hero/index.tsx new file mode 100644 index 00000000000..389d3131256 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/hero/index.tsx @@ -0,0 +1,70 @@ +import React from 'react' +import { StaticImage } from 'gatsby-plugin-image' +import { hero_wrapper, container, hero_img } from './styles.module.scss' +import { Localize, localize } from 'components/localization' +import Typography from 'features/components/atoms/typography' +import Flex from 'features/components/atoms/flex-box' +import dclsx from 'features/utils/dclsx' +import Button from 'features/components/atoms/button' +import useScrollToElement from 'features/hooks/use-scroll-to-element' + +const Hero = () => { + const clickToScrollHandler = useScrollToElement('getintouch') + return ( + +
+ + +
+ + + + + + + + + + + + +
+ ) +} + +export default Hero diff --git a/src/features/pages/partners/deriv-prime/hero/styles.module.scss b/src/features/pages/partners/deriv-prime/hero/styles.module.scss new file mode 100644 index 00000000000..6c5997a3f61 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/hero/styles.module.scss @@ -0,0 +1,27 @@ +@use 'features/styles/theme/theme-mixins' as *; +@import 'features/styles/theme/variables'; + + +.hero_wrapper { + min-block-size: 57.6rem; + position: relative; + isolation: isolate; + margin-block-start: 10.4rem; + @include breakpoints(tablet){ + min-block-size: 80rem; + margin-block-start: 10rem; + } +} +.container { + inline-size: 95%; + margin-inline: auto; + max-inline-size: 68.8rem; + @include breakpoints(tablet){ + inline-size: 90%; + } +} +.hero_img { + position: absolute; + inset: 0; + z-index: -1; +} \ No newline at end of file diff --git a/src/features/pages/partners/deriv-prime/index.tsx b/src/features/pages/partners/deriv-prime/index.tsx new file mode 100644 index 00000000000..6ad431f5874 --- /dev/null +++ b/src/features/pages/partners/deriv-prime/index.tsx @@ -0,0 +1,45 @@ +import React from 'react' +import { Helmet } from 'react-helmet' +import CommercialPlan from './commercial-plan' +import GetInTouchBanner from './get-in-touch' +import BrowseOurFaq from './browse-our-faq' +import Potential from './potential' +import WhyDerivPrime from './why-deriv-prime' +import PrimeNumbers from './numbers' +import MeetUsThere from './meet-us-there' +import ConnectivityReliabilityType from './connectivity-reliability' +import AvailableInstruments from './available-instruments' +import Hero from './hero' +import { faq_schema } from './browse-our-faq/_faq-schema' +import Layout from 'features/components/templates/layout' +import { SEO } from 'components/containers' +import PaymentAgentAffiliateNav from 'features/components/templates/navigation/payment-agent-nav' +import Footer from 'features/components/templates/footer' + +const DerivPrime = () => { + return ( + + + + + + + + + + + + + + + + +