diff --git a/crowdin/messages.json b/crowdin/messages.json index e886e911c70..050abf1162b 100644 --- a/crowdin/messages.json +++ b/crowdin/messages.json @@ -42,7 +42,6 @@ "39595561": "See how your bot is performing as it executes each trade and receive notifications via Telegram.", "41078219": "Get into the Deriv Trader experience", "41570825": "Are High/Low Ticks options available on Deriv Trader?", - "42007661": "Get the widest range of markets, trades and platforms", "42762042": "Add stake amount to receive payout quote", "48132512": "Join and grow with us.", "48235639": "The potential payout and loss (your initial stake) amounts are clearly displayed before you open the trade.", @@ -58,6 +57,7 @@ "53801223": "Hong Kong 50", "54033225": "0.10", "54316667": "Trade natural resources that are central to the world’s economy and profit from the opportunities created by the markets.", + "55916349": "All", "56705073": "<0>ERX.US The Direxion Daily Energy Bull 2X Shares tracks the Energy Select Sector Index.", "56714378": "Frequently asked questions - Deriv P2P", "57395040": "Point Value", @@ -118,7 +118,6 @@ "104744952": "Complete the form and click Submit.", "105613424": "What is the minimum amount to open a position on Deriv MT5?", "106492474": "high-close option trade", - "106560608": "Instagram", "109865596": "Enjoy weekend trading on Deriv and get the most out of your trades", "110140669": "If you are a professional trader, the MT5 trading signals service allows you to share your strategies with other traders for free or a subscription fee that you determine. When traders subscribe to your signal, your deals are automatically replicated on their accounts each time you place a trade.", "111464658": "<0>5 lots traded with DL on <0>BTC/USD is split between:", @@ -136,6 +135,7 @@ "121961018": "If you're residing in the EU or UK, <0>contact us via live chat, and we'll help you with it.", "123005346": "No artificial barriers to customer withdrawals", "127307725": "A politically exposed person (PEP) is someone appointed with a prominent public position. Close associates and family members of a PEP are also considered to be PEPs.", + "127545561": "* Availability of payment methods and processing speeds may vary based on location and selected payment option", "128120244": "Since 1999, the Group has served traders around the world with integrity and reliability. We always hold ourselves to the highest ethical standards and regulatory requirements.", "131637194": "For <0>metals, there is a fixed commission of USD 4 per lot. A deal for 1 lot of XAU/USD will pay out USD 4 in commission based on the following formula:", "132319176": " take profit level", @@ -159,6 +159,7 @@ "152524253": "Trade the world’s markets with our popular user-friendly platform.", "154463429": "Our demo trading experience will represent real-money trading, especially with contract pricing and trading restrictions.", "154883335": "Exclusive access to innovative assets", + "155270236": "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 by the Vanuatu Financial Services Commission <2>(licence). Deriv (SVG) LLC has a registered office at First Floor, SVG Teachers Credit Union Uptown Building, Corner of James and Middle Street, Kingstown P.O., St Vincent and the Grenadines. Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", "155518428": "graph", "155869362": "high low", "156487821": "DEX 1500 DOWN Index", @@ -182,7 +183,6 @@ "176823932": "We may decline your verification documents if they are insufficiently clear, invalid, expired, or have cropped edges.", "176972763": "<0>GLD.US The SPDR Gold Shares ETF tracks the price of gold bullion in the over-the-counter (OTC) market.", "177720589": "If you hit <0>Yes, the details you entered will be lost, and you’ll need to restart the registration process.", - "179737767": "Our legacy options trading platform.", "180412186": "Predict whether the exit spot will be strictly higher or lower than the entry spot at the end of the contract period.", "181754600": "How can I identify emails from impersonators of Deriv customer support?", "182234515": "Choose the type of partner account you want to register", @@ -191,6 +191,7 @@ "186459036": "Your net profit will depend on how much the final price is above the predetermined strike price, with the maximum potential gains growing if the price of the underlying asset rises significantly. Your losses are limited to the initial stake required to purchase the call option.", "188128139": "CFDs - ETFs", "189421598": "What are the durations for Reset Call/Reset Put contracts?", + "191690145": "24/7 support", "192531494": "Advanced charting widgets", "192890975": "Can I open multiple accumulator contracts at the same time?", "193611235": "Exchange in minutes. Less waiting, more trading. Deposit and withdraw in minutes.", @@ -231,6 +232,7 @@ "231711709": "Trade anytime", "231722280": "What are commodities?", "233475101": "Read <0>this article to learn more about trading CFDs on Deriv.", + "233774478": "60+ global payment methods. Deposit instantly starting from just USD 5. Withdraw in minutes.*", "233805198": "Most trusted award", "234187697": "trader tools", "234782678": "You can reset your affiliate password <0>here.", @@ -264,7 +266,6 @@ "258310842": "Workspace", "259593484": "real account", "260003723": "Example 2", - "261542396": "We'll credit your commission for the previous month into your trading account after the 15th of every month. As an affiliate, you’ll earn commission when your referred clients trade on options and multipliers. To earn from your clients' MT5 trades, you'll need to sign up as an introducing broker. (see <0>How do I sign up as an introducing broker (IB)?)", "261878007": "If you select 'Matches', you receive the payout if the last digit of the exit price is the same as your prediction.", "262590832": "Open long and short positions, depending on your preferred trading strategy.", "263232709": "1 - 2 working days", @@ -283,6 +284,7 @@ "274268819": "Volatility 100 Index", "274392779": "the Labuan Financial Services Authority", "274438767": "The order amount is locked in escrow until both parties confirm that the transaction has been completed from their end.", + "274449204": "<0>You call the stocks. Take a position on 1500+ stocks and indices.", "275116637": "Deriv X", "275316510": "Impersonators ask you to send confidential information over an unsecure platform, for example via SMS, WhatsApp, email, etc.", "276482397": "No, you can't.", @@ -311,7 +313,6 @@ "304202010": "How can I place a High/Low Ticks trade?", "305281565": "Are Only Ups/Only Downs available to trade on Deriv Trader?", "305547463": "User-friendly features", - "306400894": "Enjoy trading markets and indices mimicking actual market movements, with little to no disruption from real-world events.", "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.", "309180597": "Expand your client base by helping traders fund their accounts through local bank wires and e-payments. Facilitate and earn from every transaction.", @@ -343,8 +344,8 @@ "332961148": "How can I add, remove or change my accepted payment methods?", "333367028": "(-(3400", "334005764": "What is Deriv Trader?", + "334011253": "1999", "335040248": "About us", - "336277289": "Available on <0>web browser", "337900732": "Denmark", "339084000": "LEGAL", "339879944": "GBP/USD", @@ -384,6 +385,7 @@ "375485199": "24/7 customer support via live chat on our website", "376073087": "<0>Deriv MT5 (DMT5) and <1>Deriv X are both multi-asset trading platforms where you can trade CFDs with leverage on multiple asset classes. The major difference between them is the platform layout — MT5 has a simple all-in-one view, while on Deriv X you can customise the layout according to your preference.", "376358538": "- Select your preferred trading asset.", + "376773528": "Deriv Life", "378043056": "Each of these indices replicates the performance of top publicly traded companies in a financial market in the Asia/ Oceania region.", "379401010": "Partners", "381970124": "If you select 'Odd', you receive the payout if the last digit of the exit price is an odd number (e.g. 1, 3, 5, 7, 9).", @@ -409,8 +411,8 @@ "401039438": "Have consistent, regular sign ups via your referral link", "401450104": "> 3 - 5 billion", "401498558": "Deriv (FX) Ltd (Company No. LL13394), incorporated on the 18th January 2017, is registered in the Federal Territory of Labuan (Malaysia) with its registered office located at Unit No. 3A-16, Level 3A, Labuan Times Square, Jalan Merdeka, 87000, Federal Territory of Labuan, Malaysia. Deriv (FX) Ltd is licensed by the Labuan Financial Services Authority <0>(view licence) and is a member of the <1>Labuan Fintech Association.", - "403435120": "Trade the way you want with 2 flexible trade types.", "405110755": "You can trade forex, cryptocurrencies, and derived on Deriv Trader. Some markets may not be available in certain countries.", + "405259925": "Fast CFDs platform with inbuilt copy trading.", "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.", @@ -428,10 +430,12 @@ "417855021": "Name is required", "418173024": "Markets available for CFD trading", "419648873": "Trade global stocks and stock indices now on our DMT5 platform.", + "420909743": "You call the stocks", "421097985": "

Yes, you can enter multiple contracts at the same time. If you open multiple contract simultaneously, you'll get to diversify your trading portfolio and take advantage of various market opportunities.

Do note that the specific rules and limitations on the number of contracts you can enter simultaneously may vary depending on trade type. Some may have restrictions on the number of contracts you can open, while others may have other specific conditions that may allow for greater flexibility.

", "421158556": "You may refer to <0>our terms for more information. If you need help getting into your account, <1>contact us via live chat.", "421232681": "Additional terms", "421563171": "What are vanilla options?", + "422844635": "Please read our <0>Terms and conditions, <1>Risk disclosure, and <2>Secure and responsible trading to fully understand the risks involved before using our services. The information on this website does not constitute investment advice.", "426355147": "<0> {{loss_percent}}% of retail investor accounts lose money when trading CFDs with Deriv, read our full Risk disclosure here.", "426923558": "The closer the barrier is to the spot price, the higher the chance for your turbo options contract to expire worthless (which means, your contract will expire without any payout or profit).", "427008206": "Be transparent", @@ -502,7 +506,6 @@ "480930125": "Start trading ETFs on Deriv in 3 simple steps", "481274667": "How can I withdraw funds from my Deriv MT5 real money account?", "481411401": "Regulation", - "482100031": "Trade the way you want with 3 exciting trade types.", "483166710": "You can open an Asians trade by:", "484950532": "All day, all year", "485805015": "Can I close a High/Low Ticks contract before the contract expires?", @@ -532,7 +535,6 @@ "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", "509964491": "Trade even when most financial markets are closed", "510416775": "Turbo options allow you to earn a potentially high payout if your market predictions are right and if the spot price does not touch or breach a predetermined barrier.", @@ -565,7 +567,6 @@ "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", - "538800329": "We'll credit your commission for the previous month into your trading account after the 15th of every month. You’ll earn a commission based on each successful referral when your referred client deposits the required minimum amount into their Deriv account.", "539261300": "OS icon", "539645627": "We aim to deliver market-leading products that are trusted around the world.", "540538076": "40+ stocks", @@ -581,6 +582,7 @@ "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.", "551739457": "3. Under CFDs, look for Deriv cTrader and hit Trade.", + "551958626": "Excellent", "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", @@ -604,7 +606,6 @@ "573384365": "If you are still having issues, please contact our support team via ", "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.", - "575071944": "Awards", "575534504": "Low spreads", "576643640": "

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 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.

", "576793632": "0 - 15 million <0>(Crypto)", @@ -634,6 +635,7 @@ "596287611": "Markets available", "596893160": "Botswana", "600260061": "Frequently asked questions - Security", + "601064902": "Cutting-edge technology with 99.97% uptime for uninterrupted trading.", "601623685": "<0>Learn more", "601830517": "3. Set your preferred tick duration and last digit prediction.", "602265590": "Stop loss works slightly differently in Crash/Boom/Range break indices. This is because sudden fluctuations in market price from one tick to the next can sometimes surpass the stop loss you have set. When the market price exceeds your stop loss amount, your contract will be automatically closed at that point, instead of exactly at the stop loss level.", @@ -670,6 +672,7 @@ "632417472": "Trade multipliers on synthetics 24/7, 365 days a year. Trade multipliers on forex and cryptocurrencies round the clock on weekdays.", "633498400": "You should enter 8-13 numbers", "633640589": "${GENERAL}", + "634497695": "We're 24+ years strong", "635121138": "Affiliate and IB programme | Deriv", "635805347": "Dos and don'ts of promoting our products and services", "636073620": "Subscribe to Deriv MetaTrader 5 trading signals to copy the trades of experienced traders, or become a signal provider and share your strategies.", @@ -698,9 +701,9 @@ "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.", - "657439941": "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 by the Vanuatu Financial Services Commission (<2>licence). Deriv (SVG) LLC has a registered office at First Floor, SVG Teachers Credit Union Uptown Building, Corner of James and Middle Street, Kingstown P.O., St Vincent and the Grenadines. Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", "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 ", + "661898204": "Deriv Investments (Europe) Limited is licensed and regulated by the Malta Financial Services Authority under the Investment Services Act <0>(licence). Deriv Holdings (Guernsey) Limited is the holding company for the above subsidiary with the registration number 71479 and the registered address of 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", "661969161": "Execution speed", "662615740": "10 world indices", "662679188": "DTrader | Online trading platform | Deriv", @@ -747,10 +750,12 @@ "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", + "705397132": "Automated trading. No coding required.", "706043807": "A dedicated account manager to help you with any questions", "706069088": "About Deriv", "706434010": "Deriv X logo", "706931524": "When you purchase a 'High-Close' contract, your payout will be equal to the difference between the highest price and the exit price over the duration of the contract multiplied by the multiplier.", + "710137133": "Apply now", "712547410": "total trade turnover", "714321435": "laptop mt5", "714478782": "<0>AUD Basket measures the value of the Australian dollar against a basket of five global currencies (USD, EUR, GBP, JPY, CAD), each weighted by 20%.", @@ -776,7 +781,9 @@ "733921210": "For instance, if you are trading the USD/JPY forex pair, the swap charge will be computed in Japanese Yen (JPY) which is the quote currency. On the other hand, if you are trading oil, then the swap charge will be computed in US Dollar (USD), which is the denomination of the underlying asset – oil.", "733955450": "Trading online can be exciting, but it’s important to keep in mind that there are risks involved including addiction and financial losses. To avoid the danger of addiction, it is important that you engage in a careful self-analysis to check if you are at risk, and follow some basic principles and guidelines.", "736376851": "If you select 'Higher', you receive the payout if the exit price is above the barrier.", + "736634601": "explore it on appgallery", "737466973": "The contract size is one standard lot of Volatility 75 Index = 1", + "737537871": "Mobile app for multipliers trading on the go.", "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?", @@ -790,6 +797,7 @@ "746666368": "Deriv Group has a history that dates back to 1999 when we laid the groundwork for the world’s first fixed-odds trading service. Since then, we have grown from strength to strength, garnering the trust of traders around the world.", "746928132": "Yes, you’ll need a Deriv real account to process deposits and withdrawals for our clients.", "750427805": "matches/differs option trade", + "750622158": "See all stocks & indices pairs", "752024971": "Reached maximum number of digits", "754014828": "Start trading derived FX on Deriv in 3 simple steps", "754435349": "200+", @@ -810,6 +818,7 @@ "763514492": "Get integrated help", "764856444": "We have a huge mission, an incredible team, and rapid growth.", "764879840": "GLD.US", + "764958509": "Trade on global financial markets and multiply your potential profit without losing more than your stake.", "768795461": "Start trading cryptocurrencies on Deriv in 3 simple steps", "769728384": "<0>USD 100 Volume", "770100372": "Instant access", @@ -851,7 +860,6 @@ "809480545": "If you'd like to log in using your email address instead, follow these steps:", "809734567": "In the <0>MQL5 signals showcase page, click the Create signal button.", "809743883": "Trading forex pairs on Deriv GO", - "811176466": "Available on <0>Android & <1>web browser", "811665902": "What is Deriv MetaTrader 5 (Deriv MT5)?", "812101045": "Stop loss and/or take profit calculator for margin", "813911098": "

Here's how to place a High/Low Ticks trade:

", @@ -889,10 +897,10 @@ "837251632": "Trade global stocks and stock indices now on our Deriv MT5 platform", "837396666": "<0>IEMG.US The iShares Core MSCI Emerging Mkts ETF tracks an index of large-, mid-, and small-capitalisation emerging market equities.", "838017583": "Not all payment methods are available in your country. Kindly check your cashier for further information. Withdrawals may take up to 15 working days to reflect in your bank account.", - "838569559": "Our platforms", "840305493": "Nickel/USD", "841698576": "What are the contract duration ranges for Digits contract types?", "842404857": "One or more disputes were raised against you. Please contact us via <0>live chat for more information.", + "847028103": "Trade diverse vanilla and exotic options across platforms and markets without risking more than your initial stake. ", "847028402": "Check your email", "850220566": "You can trade forex, stock indices, commodities, cryptocurrencies, and derived on Deriv Trader. Some markets may not be available in certain countries.", "850240893": "USD/JPY DFX10 Index", @@ -968,7 +976,6 @@ "910806943": "You’ll earn a fixed commission based on the volume of individual trades bought by your referred clients.", "912406629": "Follow these steps:", "913276286": "1. Go to your <0>Deriv MT5 dashboard.", - "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.", @@ -976,6 +983,7 @@ "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.", + "918181729": "call to action background", "918587905": "Are you sure you want to delete your account?", "918634571": "When you open a position, barriers are created around the asset’s price. The upper and lower barriers are automatically calculated for every tick based on your chosen asset and accumulator value. If you close your position before either of the barriers is reached, you will make a profit.", "920363635": "Frequently asked questions - IB programme", @@ -988,6 +996,7 @@ "929514030": "Enjoy trading asset prices derived from simulated markets.", "929553858": "They ask you to download file attachments or remote access software (such as Teamviewer) to give them remote control of your device. For example, an impersonator may take control and install ransomware on your device and then demand a ransom. If the ransom isn’t paid, you may lose access to your device permanently.", "930211164": "24/7 trading", + "931595451": "Indices simulating real-world markets with 24/7 trading.", "931896911": "Go to the <0>History section.", "932190946": "Daily deposit limits", "934685291": "This helps you to set the stop loss and take profit level when the asset price moves in Up or Down direction.", @@ -1063,7 +1072,6 @@ "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.", - "1011699543": "Trade the price movements of natural resources that are central to the world’s economy and make the most of the market action.", "1015371290": "Experienced affiliate managers answer all your queries and provide you with excellent promotional and educational materials.", "1015510435": "BMW", "1019419532": "Vanilla options allow you to express a bullish or bearish view on an underlying asset by purchasing either a Call or a Put option. You can earn a potentially high payout if your predictions are right within a timed contract and based on market conditions.", @@ -1124,7 +1132,6 @@ "1067137194": "Explore <0>CFDs on Deriv MT5, and enjoy high leverage and low spreads to increase your returns when the market moves in your favour.", "1067372545": "2. Under CFDs, look for Deriv cTrader and select <0>Get.", "1068522332": "Deriv MT5 gives you access to multiple asset classes – forex, stocks & indices, cryptocurrencies, commodities, exchange-traded funds, and derived indices — on a single platform. With exclusive access to innovative trade types, Deriv brings the MT5 experience to a superior level for both new and experienced traders.", - "1069916328": "Youtube", "1070284669": "<0>Stop loss and take profit level in the Down direction = asset price × {(-stop loss OR take profit amount - commission) ÷ (stake × multiplier) + 1}", "1070403135": "weekend trading", "1070720669": "Enjoy trading asset prices derived from
simulated markets.", @@ -1135,13 +1142,13 @@ "1077779258": "General Motors Company", "1078303105": "Stop out", "1079537687": "Biogen Inc", - "1080905136": "opportunities", "1081045854": "If you select 'Even', you receive the payout if the last digit of the exit price is an even number (e.g. 2, 4, 6, 8, 0).", "1081935332": "Currently, you can only buy vanilla call and put options on Deriv.", "1082230343": "- Enter your stake amount or desired potential payout amount.", "1083621931": "Please note that the availability of early exit from your trading position depends on the specific trade type, or it may only be available within a certain timeframe.", "1084407062": "These indices correspond to simulated markets with <0>constant volatilities of 10%, 25%, 50%, 75%, and 100%. There is an equal probability of an up or down jump <0>every 20 minutes, on average. The jump size is <0>around 30 times the normal price movement, on average.", "1084960586": "Disclose the terms of all contracts", + "1086118495": "Traders Hub", "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", @@ -1189,6 +1196,7 @@ "1128046384": "No. You can withdraw your commission whenever you want.", "1129126362": "<0> -0.83", "1130568086": "To withdraw funds from your Deriv X account, you’ll first need to transfer the funds to your Deriv account. Go to Cashier, click \"Transfer\", and follow the instructions on the screen.", + "1135622226": "24/7 trading on the price of popular cryptocurrencies.", "1136360582": "In this e-book we will cover", "1136731907": "Note that these are approximate values only and will differ depending on the leverage that is set for your account and the asset you want to trade.", "1138338302": "If you're residing in the EU, <0>contact us via live chat, and we'll help you with it.", @@ -1290,6 +1298,7 @@ "1230198893": "Deriv’s easy and free setup of DBot trader can automate your trading without writing codes. Create your own bot trader using our tutorials and guides!", "1232451396": "What is a complaint?", "1233175774": "A sub-affiliate generates USD 300 worth of commission. Here is how we calculate their total commissions:", + "1233178579": "Our customers say", "1234764728": "Asset Price is required", "1235997543": "What are the differences between the MT5 Derived, Financial, and Swap-free accounts?", "1236398277": "<0>One tick is generated <0>every second for volatility indices <0>150 (1s), and 250 (1s).", @@ -1331,6 +1340,8 @@ "1275674402": "Go long and short", "1277672291": "Yes, you are allowed to enter multiple High/Low Ticks contracts at the same time.", "1277917401": "If you choose an Only Downs contract, you will win a potential payout if the price only decreases during the selected time period.", + "1278262646": "168M+", + "1280193494": "Mine for commodities.", "1280380287": "Hungary", "1280397222": "Have your own platform (for example, YouTube channel, blog, social media platforms, etc) to promote your link.", "1281089964": "Help centre | Frequently asked questions | Payment Agent | Deriv", @@ -1339,7 +1350,6 @@ "1284380628": "ETF trades available on Deriv", "1284608813": "No, you cannot close an In/Out options trade before the trade duration's expiry. This is because the potential payout is defined based on the contract duration, selected barrier, and stake.", "1285517993": "Automate your trading ideas without writing code", - "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", @@ -1366,6 +1376,7 @@ "1304304475": "Scan to download Deriv P2P", "1305441150": "Frequently asked questions - About Deriv", "1307306020": "SmartTrader trading platform", + "1307310424": "Trade CFDs and Options on 1500+ instruments, all in one place with 24/7 trading and 24/7 worldwide support.", "1308171976": "Do I need to pay taxes on my trades/profits?", "1308801287": "Derived FX indices are simulated assets with prices derived from the price movements of real major forex pairs. Our algorithms track real-world currency prices and dampen fluctuations caused by news events and market sentiment. Plus, you can choose to trade them at the volatility you prefer.", "1309138051": "If you continue to do well, you can increase your limit to 10,000 USD for buy and sell orders.", @@ -1465,6 +1476,7 @@ "1403761038": "Real account ", "1403848854": "The Deriv MT5 Standard account offers new and experienced traders high leverage and variable spreads for maximum flexibility.", "1404594106": "Swap short (Daily points)", + "1405023005": "Fast, hassle-free deposits & withdrawal", "1405194573": "Locate the live chat widget on our website or app at the bottom right corner of the screen.", "1405237333": "Head of People Management", "1405929527": "Your IB commissions earned from Deriv X are credited directly into your Deriv account daily.", @@ -1488,7 +1500,6 @@ "1417996846": "Can a premium payment agent provide their services to another premium payment agent?", "1418467036": "Payment agents | Partners | Deriv", "1418674132": "A complaint is defined as a spoken or written expression of your dissatisfaction with the products or services that the Company offers. If you believe these have led to, or may lead to, monetary loss, considerable distress, or significant inconvenience, then your voiced dissatisfaction is considered a complaint.", - "1419977958": "Available on <0>Android, <1>iOS, <2>Mac OS, <3>Windows, <4>Linux and <5>web browser", "1421015099": "Find your role with us by browsing Deriv job opportunities in Reading, UK.", "1421304071": "By joining our affiliate programme, you’ll benefit from:", "1421464735": "You can get more info about this on our <0>Regulatory information page.", @@ -1511,7 +1522,7 @@ "1442199408": "Deriv MT5 trading platform", "1446857185": "
  1. Select the market and asset you want to trade.
  2. Choose which Digits contract to open (Matches/Differs; Even/Odd; Over/Under).
  3. Set your preferred tick duration and last digit prediction.
  4. Enter your stake or desired potential payout amount.
  5. Open your Digits trade.
", "1446914689": "Guernsey alt img", - "1449337630": "countless trading", + "1448921598": "Broker of the year 2023 by FinanceFeeds", "1450233348": "If you haven’t made a deposit or added a real MT5 account, follow these steps:", "1451636739": "Intuitive tools", "1452901553": "Derived trading gives you a chance to make a profit from correctly predicting the price movement of instruments that mimic characteristics of financial markets or are derived from them.", @@ -1532,6 +1543,7 @@ "1466745668": "Predict what number will be the last digit of the last tick of a contract.", "1466788657": "For more info, <0>check out this blog post on the basics of building a trading bot.", "1467325385": "Global affiliate support", + "1467514183": "Virtual markets, real opportunities.", "1468688914": "Make instant deposits using crypto to your fiat account.", "1469255430": "terms and conditions", "1469626982": "USD/CNH", @@ -1555,6 +1567,7 @@ "1488581694": "Ciudad del Este – Our office | Deriv", "1489350747": "To become an IB, you'll need to be an existing affiliate with a Deriv account and an MT5 Synthetic real account. If you do, you can apply to become an IB by writing to us at <0>affiliates@deriv.com. <1>Get more info about our IB programme.", "1489994179": "Find your role with us by browsing Deriv job opportunities in Asunción, Paraguay.", + "1489998906": "Try with zero-risk", "1490099054": "who we are", "1490540125": "How can I automate my trading strategy?", "1490936453": "For your Deriv real account, go to <0>Reports to close or sell your open positions.", @@ -1613,6 +1626,7 @@ "1541818425": "Reset password", "1542038811": "High percentage", "1542393407": "CFD trading features on Deriv", + "1545490823": "User-friendly trading platforms, on any device", "1545962889": "The Master Affiliate Programme is another exciting opportunity where you can benefit from bringing in new affiliates to Deriv. You’ll earn based on the commission of your sub-affiliates.", "1546535785": "Are there any conditions that I should meet before I can withdraw my commission?", "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.", @@ -1637,6 +1651,7 @@ "1557466457": "Enter stake amount", "1557535154": "Is it free to join your affiliate programme?", "1557977381": "

The potential payout is predetermined based on the specific details of the trade and if your market predictions are right.

For Rise/Fall contracts, potential payouts generally range from 85% to 95% of your stake.

For Higher/Lower contracts, potential payouts can range from 1% to 3,900% of your stake, depending on where the barrier is set.

The potential payout and potential loss (your initial stake) will be clearly displayed before you enter the trade.

", + "1559510375": "Join over 2.5 million online traders", "1559712313": "Commodity trades available on Deriv", "1560383409": "Android", "1561008060": "", @@ -1718,6 +1733,7 @@ "1622334173": "EUR/ZAR", "1623894448": "How do I create an API token?", "1624895344": "Payment methods you will accept from clients", + "1625694871": "Trade CFDs and Multipliers on 1500+ instruments, all in one place with 24/7 trading and 24/7 worldwide support.", "1625849815": "Due to regulatory requirements, derived indices are unavailable in some countries. Refer to ‘Product offering’ in our <0>terms of use for more info.", "1625898053": "Make easy deposits via any major bank.", "1627655124": "To place a vanilla options contract, you’ll need to:", @@ -1735,6 +1751,7 @@ "1636527166": "Forex trades available on Deriv", "1636782601": "Multipliers", "1637050346": "Why did my credit card deposit get declined?", + "1637540720": "Most trusted broker APAC 2023 by UF Awards", "1637552314": "Once you are satisfied with the parameters that you have set, select either ‘Up’ or ‘Down’ to purchase your contract. Otherwise, continue to customise the parameters and place your order when you are satisfied with the conditions.", "1637921239": "Go to your Account settings. Click the “Security and safety” drop-down menu, and select “Email and passwords”. Under “Deriv X password”, click “Change password” to reset your password.", "1641578390": "1 }", @@ -1757,6 +1774,7 @@ "1653650288": "Market-based values with limited influence from real-world events", "1654085043": "A chart illustrating a losing Lower trade type contract", "1655763047": "Google", + "1656269279": "See all commodities", "1658508250": "What is the difference between Rise/Fall and Higher/Lower contracts?", "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.", @@ -1764,6 +1782,7 @@ "1659687862": "Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", "1661123842": "- Purchase the contract", "1661263248": "How can I download my Deriv MT5 history?", + "1662186269": "investors in people - gold", "1663880277": "Will I be required to pay a fee to become a premium payment agent?", "1664747386": "Paypal", "1665738338": "Balance", @@ -1772,11 +1791,13 @@ "1671799496": "Deriv Prime partners with regulated financial institutions, including:", "1672523550": "Join over 2.5 million traders worldwide", "1672776151": "Claim a FREE e-book now!", + "1673053645": "2. Try with zero-risk", "1673294000": "What is the price barrier in Touch/No Touch contracts?", "1673505406": "An impersonator’s main goal is to steal your sensitive information and funds.", "1673824550": "Minimum stake", "1674164323": "<0>With a x500 multiplier, if the market goes down 2%, you'll <1>lose only $100. An automatic stop out kicks in if your loss reaches your stake amount.", "1674363165": "traders worldwide", + "1674798397": "Trade multipliers on our mobile app.", "1676292946": "Forex trading gives you the chance to profit from changes in the relative values of currencies on the forex market.", "1677027187": "Forex", "1677553724": "Want to learn more about Deriv P2P? Head to our <0>Help centre.", @@ -1812,6 +1833,7 @@ "1703673631": "No, you cannot change the tick duration for High/Low Ticks. This contract type is always based on the next 5 price ticks after the contract is open. This is fixed across all instruments that can be traded with this contract type.", "1704208859": "icon", "1704406787": "Choose the block you want and drag it to the workspace.", + "1705748978": "Monthly deals", "1707301172": "Stocks, unlocked", "1708242802": "Use a secure web browser such as Google Chrome. Always install the latest software updates because they include security patches.", "1709273595": "One standard lot of forex = 100,000 units", @@ -1848,7 +1870,6 @@ "1742671486": "Can I select the duration for an Asians contract?", "1743279813": "Why trade with Deriv cTrader", "1743448290": "Payment agents", - "1744637366": "Available on <0>Android and <1>iOS", "1744940662": "Best Forex Broker Latin America", "1745193633": "Redirect notice", "1746051371": "Download the app", @@ -1973,7 +1994,6 @@ "1860472068": "Online banking", "1861172210": "cTrader is our intuitive CFD trading platform where you can trade forex, commodities, stocks & indices, cryptocurrencies, and derived indices.", "1861302455": "You can place an In/Out trade by:", - "1861802946": "Want to trade
Options on the go?", "1862283751": "Trade forex, synthetic indices, and cryptocurrencies wherever, whenever you want and maximise your potential profit with multipliers on Deriv GO.", "1862328242": "success", "1867740000": "GBP/USD DFX10 Index", @@ -1998,6 +2018,7 @@ "1877646703": "It acts as a reference point to determine the trade's outcome.", "1877728389": "This is because to win a Digits \"Matches\" contract, the number you choose must exactly match the last digit of your contract's last tick. Since the probability of this outcome is lower (with possible digits ranging from 0 to 9), the potential payout is higher.", "1877794406": "Android, Apple & Huawei", + "1877993557": "Sign up in minutes and explore Trader’s Hub - all your trading needs, in one place.", "1878172674": "No, we don't. However, you'll find quick strategies on Deriv Bot that'll help you build your own trading bot for free.", "1878857985": "Yes, you can. You can open contracts with different parameters to take advantage of more market opportunities.", "1879930260": "No hard-selling", @@ -2007,7 +2028,6 @@ "1882011796": "If you don’t ask for a removal of self-exclusion after the expiry, it is not removed automatically.", "1883903201": "In/Out | Digital options contract | Deriv", "1887624510": "Who can apply as a Master Affiliate?", - "1887774290": "Scan to download Deriv GO Ultimate Android APK (Android 5.0 and above)", "1888267724": "Predict whether the market price will be higher or lower than a price target (the barrier) at the end of the contract.", "1889180006": "

No, they are not the same.

When you trade a Higher/Lower contract, you speculate on the price direction of an underlying asset over a time period.

When you trade High/Low Ticks, you predict which tick is the highest within a 5-tick contract.

", "1889326047": "Available as web and mobile apps", @@ -2026,7 +2046,6 @@ "1900817499": "Stocks, ETFs, & stock indices", "1902324847": "With these indices, there is an average of one drop (crash) or one spike (boom) in prices that occur in <0>a series of 300 ticks.", "1902398472": "Yes, you can. You will need to notify your account manager if you wish to do so.", - "1903084812": "Choose from {{platform_count}} powerful platforms — designed with you in mind", "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.", "1903577078": "The <0>DSI20 switches between regimes every <1>20 minutes on average.", @@ -2043,7 +2062,6 @@ "1907562333": "You will receive a payout if the spot price remains below a predetermined barrier throughout the entire trade duration. If the spot price touches or breaches the barrier at any time before the contract expires, the initial stake (premium) is lost.", "1908121069": "Learn more about Deriv P2P", "1908933179": "

To place a turbo options trade on Deriv, you’ll need to:

", - "1909509169": "Principles", "1909647105": "TRX/USD", "1909809509": "Swap calculator", "1909980423": "Go to <0>Cashier > Deriv P2P and register.", @@ -2052,6 +2070,7 @@ "1914042845": "matches differs", "1914696793": "Here are some ways to identify impersonators of Deriv customer support:", "1914949637": "What is the Deriv Affiliate Programme?", + "1915061596": "Safe & secure", "1915387440": "If you’re selling:", "1915593205": "0.0535087", "1916887645": "Maximise profits, limit losses", @@ -2063,6 +2082,7 @@ "1923530212": "Flexible.", "1923747167": "Trading specifications for CFDs on Deriv", "1923836405": "Must be exactly 8 characters", + "1923984982": "Flagship options, accumulators, & multipliers trading platform.", "1924997360": "[ { 10", "1925717346": "The point value is derivied from the current digits of the asset. In this example, the digit is 5, so the point value is 0.00001.", "1926519171": "Limit the amount of money you may trade within a specified period.", @@ -2078,7 +2098,6 @@ "1935201826": "Earn based on the monthly net revenue generated by your clients.", "1935401816": "Narrow spreads", "1936980019": "<0>4 lots with 1,000 leverage:", - "1937982609": "Deriv Partners", "1938567033": "{ ( -7.54", "1939014728": "How do I remove blocks from the workspace?", "1939374383": "Earn", @@ -2116,14 +2135,18 @@ "1969128618": "Manage an active online community that’s passionate about online trading, investing, or personal finance.", "1970155983": "regulatory information", "1971270452": "Powerful, intuitive platforms", + "1971945578": "Safe & Secure", + "1972080072": "We’re regulated and licensed by global financial authorities.", "1975052344": "Why traders choose vanilla options", "1975258895": "VOO.US", "1976014299": "For <0>oil, a deal for 10 lots for a price of USD 96 will pay out USD 0.05 in commission based on the following formula:", "1976889936": "Yes, you can select the duration of your Touch/No Touch contract. You can choose to open a contract for as short as 5 ticks to as long as 365 days (depending on the trading asset selected).", + "1977907302": "Dependable", "1978148367": "Open a real account, make a deposit, and start trading for real. Trade forex, indices, commodities, and more.", - "1979304570": "Deriv Investments (Europe) Limited is licensed and regulated by the Malta Financial Services Authority under the Investment Services Act (<0>licence). Deriv (FX) Ltd is licensed by the Labuan Financial Services Authority (<1>licence). Deriv (BVI) Ltd is licensed by the British Virgin Islands Financial Services Commission (<2>licence). Deriv (V) Ltd is licensed by the Vanuatu Financial Services Commission (<3>licence). Deriv (SVG) LLC has a registered office at First Floor, SVG Teachers Credit Union Uptown Building, Corner of James and Middle Street, Kingstown P.O., St Vincent and the Grenadines. Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", "1979503547": "Trading terms", "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.", + "1981714597": "The world’s most popular digital currencies.", + "1982055410": "See all derived indices pairs", "1982404952": "Get quote", "1983480826": "Sign in", "1983854834": "24/7 trading with the world’s top crypto assets.", @@ -2139,6 +2162,7 @@ "1991524207": "Jump 100 Index", "1991711258": "LNK/USD", "1992041985": "Why have my ads disappeared from the My ads page?", + "1993204913": "Social", "1994023526": "The email address you entered had a mistake or typo (happens to the best of us).", "1994248927": "Download Deriv P2P.", "1994533632": "Click on the block you want to remove and press <0>Delete on your keyboard.", @@ -2146,8 +2170,11 @@ "1995896523": "DMT5 is developed to give you the best CFD trading experience. You can access our MT5 trader through desktop and even mobile.", "1996332377": "1 ) }", "1997138507": "If the last tick is equal to the average of the ticks, you don't win the payout.", + "1997358332": "download deriv-go", "1998452473": "Earn up to 45% lifetime commission with an online trading provider that enables anyone to trade on several popular financial markets with the utmost convenience. Deriv Group Ltd — the owner of Deriv.com — has a proven track record of running successful referral programmes with prompt payouts.", "1999120464": "Forex (Minor)", + "1999511199": "Users worldwide", + "2000568638": "World markets including precious metals and energies.", "2000965959": "Trading hours", "2002128854": "

No, early exits are not available for Reset Call/Reset Put contracts.

Please note that the availability of early exit from your trading position depends on the specific trade type, or it may only be available within a certain timeframe.

", "2003802343": "There is absolutely no requirement to withdraw your IB commissions.", @@ -2158,7 +2185,6 @@ "2005984105": "- Open your contract.", "2006812563": "Predict whether the exit price will end inside or outside two barrier levels at the end of the contract.", "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?", "2010532749": "In your affiliate dashboard, go to “Reports” and click on “Detailed activity report”.", @@ -2166,8 +2192,10 @@ "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.", "2015114251": "What is the minimum / maximum I can deposit into my Deriv X account?", + "2017988148": "download on the app store", "2018198484": "Trading cryptocurrencies gives you the chance to earn profits from price movements without owning the underlying digital coins. In other words, you can earn by correctly predicting whether the price of a cryptocurrency will go up or down.", "2018600727": "Deriv Investments (Europe) Limited is entitled to provide services in any other EU member state through EU passporting rights. Above is a list of the EU countries that have access to Deriv.com via EU passporting rights.", + "2019237153": "Fast, hassle-free deposits & withdrawals", "2019968401": "Why trade with Deriv X", "2023310659": "Currencies", "2023444069": "Swap-free", @@ -2188,6 +2216,7 @@ "2035670983": "Fewer distractions", "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.", + "2036876215": "<0>Forex at your fingertips. Currency trading with major, minor, and exotic pairs. ", "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.", @@ -2225,12 +2254,10 @@ "2064273783": "Cashier limits", "2064293002": "You can’t set a take profit level when you purchase a multipliers contract with deal cancellation. However, once the deal cancellation expires, you can set a take profit level on the open contract.", "2065278286": "Spread", - "2067757832": "Derived Indices", "2068595952": "What is derived?", "2069455291": "Date of Birth*", "2069660515": "Postal/Zip code*", "2070356006": "Start earning based on your chosen commission plan –– up to 45% of the total net revenue generated by your referred clients.", - "2070897729": "Trade CFDs on forex, commodities, cryptocurrencies, stocks, stock indices, and derived indices.", "2071458958": "The minimum volume for micro forex pairs is 0.1 lot.", "2071562301": "Singapore – Our office | Deriv", "2071797823": "If the selected condition is not met including if the tick is equal to any of the previous ticks, your stake is lost.", @@ -2247,6 +2274,7 @@ "2083818875": "<0>SLV.US The iShares Silver Trust ETF seeks to reflect generally the performance of the price of silver.", "2086048243": "Certificate of incorporation", "2087247269": "Not at all. Joining our payment agent programme is completely free.", + "2088446461": "1.Sign up & explore", "2088836522": "1. CVV failure. Please contact your bank to check.", "2089087110": "Basket indices", "2089257874": "internal audit department", @@ -2263,7 +2291,6 @@ "2102489869": "ebook", "2106640360": "Partners' guide", "2106955649": "<0>IJR.US The iShares Core S&P Small-Cap ETF tracks the investment results of an index of small-capitalisation US equities.", - "2107489068": "Affiliate & IB Log in", "2108009353": "IWM.US", "2108799022": "<0>Rise/Fall: Predict whether the exit spot will be strictly higher or lower than the entry spot at the end of the contract period.", "2109279238": "derived", @@ -2282,6 +2309,7 @@ "2120082443": "A chart illustrating a winning Even trade type contract", "2120092418": "Wait for our reply", "2121227568": "NEO/USD", + "2121305739": "Your personal data is private, and your funds are safely segregated.", "2121790637": "How to buy your first multipliers contract on Deriv Trader", "2123318546": "RTS28 2021", "2124129338": "Deriv - An online trading platform that offers a wide selection of derivatives to trade on", @@ -2294,6 +2322,7 @@ "2130618063": "Yes, you can enter multiple contracts with varying parameters at the same time.", "2130695061": "Cookies help us to give you a better experience and personalised content on our site. ", "2130869735": "CFDs and other products offered on this website are complex instruments with a high risk of losing money rapidly owing to leverage.<0> {{loss_percent}}% of retail investor accounts lose money when trading CFDs with Deriv, read our full Risk disclosure here. You should consider whether you understand how CFDs work and whether you can afford to take the high risk of losing your money.", + "2131428410": "1. Sign up & explore", "2131676421": "No commissions", "2132941523": "Fund your Deriv real account with your preferred payment method.", "2132973892": "Sign up for a free <0>Deriv demo account.", @@ -2339,46 +2368,10 @@ "-151151292": "Asians", "-1237186896": "Only Ups/Only Downs", "-1386887449": "Lookbacks", - "-737399162": "Partnership programmes", - "-1829383827": "Contact us", - "-1236814682": "Deriv life", - "-2115275974": "CFDs", - "-1879666853": "Deriv MT5", - "-319687255": "Deriv GO", - "-1246992539": "Binary Bot", - "-145462920": "Deriv cTrader", - "-34495732": "Regulatory information", - "-634625185": "Terms & conditions", - "-258641121": "Deriv Prime", - "-890622347": "Affiliates and IBs", - "-1642457320": "Help centre", - "-1718500720": "Community", - "-1306639327": "Payment methods", - "-787291267": "Status page", - "-810716123": "Deriv Blog", - "-1086253633": "SUPPORT", - "-1845318986": "Facebook", - "-640204246": "Twitter", - "-2077109769": "Linkedin", - "-45792628": "Telegram", - "-1076138910": "Trade", - "-663862998": "Markets", - "-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.", - "-1825471709": "A whole new trading experience on a powerful yet easy to use platform.", - "-204498543": "Trade with leverage and tight spreads for better returns on successful trades.", - "-910437768": "Earn a range of payouts without risking more than your initial stake.", - "-622923303": "Trade on Deriv MT5, the all-in-one CFD trading platform.", - "-1278432184": "A highly customisable and easy-to-use CFD trading platform.", - "-2052935063": "An intuitive, multi-asset CFD trading platform with copy trading and custom indicators.", - "-1109694579": "Trade multipliers on forex, cryptocurrencies, and synthetic indices with our mobile app.", - "-981017278": "Automated trading at your fingertips. No coding needed.", - "-1668315223": "Traders’ tools", - "-1639500260": "Deriv MT5 Signals", "-1028545578": "Start trading options on Deriv", "-1197864059": "Create free demo account", "-866630583": "Practise", + "-1076138910": "Trade", "-874422884": "Open a real account, make a deposit, and start trading options for real.", "-214202452": "Conveniently withdraw your funds through any of our supported withdrawal methods.", "-1101198978": "Don't have a Deriv account yet?", @@ -2388,16 +2381,6 @@ "-797743726": "Open an account now and gain access to the world of trading. No need to wait — you can begin trading in minutes.", "-1318406909": "Deposit as little as 5 USD to start trading and customise your trades to suit your strategy.", "-354212645": "Return to homepage", - "-1382581758": "My experience so far is just awesome! You can do instant buying and selling, and I hope to continue enjoying using Deriv P2P. Keep up the good work!", - "-459332544": "I have never seen a platform that is so flexible with multiple resources that meet everyone’s needs. If that’s not enough, Deriv is second to none on customer support services!", - "-2033498676": "Deriv has multiple withdrawal methods, including Deriv P2P, which is fast and convenient. Their support team is available any time and responds very quickly to any queries.", - "-1810714093": "Deriv GO is a very nice app – payments have been swift and easy. I would highly recommend it.", - "-1426812612": "Deriv is the most reliable broker - excellent customer support and fast payments. It’s a great platform for commodities, forex, and synthetics trading.", - "-1019430823": "Low spreads on Synthetics and fast withdrawals - Deriv is a good broker!", - "-935743086": "Wow! Deriv GO is so perfect, it's convenient and reliable. I highly recommend using the app.", - "-1206803300": "I've been a trader for many years, and I've never encountered a good broker like Deriv before – it's the best for customer care and payment options!", - "-13898976": "It's been a really great experience trading forex on Deriv - it's a smooth and seamless operation!", - "-143741607": "Deriv is the best forex broker I have ever come across!", "-1355865870": "Accumulator options are currently offered on volatility indices under derived indices.", "-1804143171": "Not at the moment. You can only open one contract per instrument at a time.", "-1029770383": "No, the growth rate can only be set before opening the contract. Once you open the contract, the growth rate cannot be changed.", @@ -2759,6 +2742,8 @@ "-257221931": "<0>Log in to your dashboard.", "-1109489026": "Click the <0>Finances tab and select <0>Payment instructions.", "-1408956818": "Select your preferred payment method, enter the necessary details, and click <0>Update.", + "-1463235467": "We'll credit your commission for the previous month into your trading account after the 20th of every month. As an affiliate, you’ll earn commission when your referred clients trade on options and multipliers. To earn from your clients' MT5 trades, you'll need to sign up as an introducing broker. (see <0>How do I sign up as an introducing broker (IB)?)", + "-153186758": "We'll credit your commission for the previous month into your trading account after the 20th of every month. You’ll earn a commission based on each successful referral when your referred client deposits the required minimum amount into their Deriv account.", "-817404641": "Go to <0>Reports, and select <0>Detailed activity report.", "-1204121083": "Set the duration and filters and click <0>Display report or <0>Download report.", "-2082521397": "What type of reports will I have access to?", @@ -2800,6 +2785,7 @@ "-352345777": "What are the most popular strategies for automated trading?", "-1612801567": "Deposits and withdrawals", "-1315176976": "What payment methods can I use for deposits and withdrawals?", + "-1306639327": "Payment methods", "-346303383": "You can use debit and credit cards, e-wallets, cryptocurrency wallets, and payment agents for deposits and withdrawals (see our <0>payment methods page for a complete list). Once you log in to your Deriv account, you’ll be able to see payment methods available in your country on the <1>Cashier page.", "-1547685378": "How long does it take for my deposits and withdrawals to be processed?", "-1621585740": "We process your deposits and withdrawals internally within 24 hours (depending on your payment method and internal checks). It may take longer for your funds to reach you due to the different processing times by banks and payment service providers. See our <0>Payment methods page for a complete list of the processing times for each payment method.", @@ -2901,6 +2887,7 @@ "-221487154": "For example,", "-441341442": "If you already have an active ad with a minimum order limit of 10 USD and a maximum order limit of 50 USD, you can't have another active ad with a minimum order limit of 40 USD and a maximum order limit of 100 USD because the range overlaps with the first ad.", "-440154832": "<0>Deriv Trader is one of our trading platforms. It offers multipliers on a variety of assets in financial and synthetic markets.", + "-663862998": "Markets", "-1952371760": "Contracts", "-1278591610": "You can trade multipliers on Deriv Trader.", "-830065103": "These contracts are available on Deriv Trader:", @@ -2932,6 +2919,7 @@ "-1282647933": "To deposit funds into your Deriv X account, you’ll need to transfer the funds from your Deriv account to your Deriv X account. Go to Cashier, click <0>Transfer, and follow the instructions on the screen.", "-213523513": "Transfers are instant. Once you’ve completed all the steps, your Deriv X account balance will be updated.", "-1170098215": "After the withdrawal is fully processed from the respective payment method, your funds will be deposited into your personal account. You can check processing times on our <0>Payment methods page.", + "-1879666853": "Deriv MT5", "-1663990628": "Deriv MT5 is a CFD trading platform that gives you access to forex, stocks, stock indices, commodities, cryptocurrencies, and derived indices. Learn more about Deriv MT5 <0>here.", "-2103351541": "Deriv MT5 is a CFD trading platform that gives you access to forex, stocks, stock indices, commodities, cryptocurrencies, and derived. Learn more about Deriv MT5 <0>here.", "-1288798840": "What are the main differences between your digital options and CFD platforms?", @@ -3073,6 +3061,7 @@ "-442294935": "Discover DTrader now", "-215905387": "DBot", "-632890841": "Dbot for auto trading", + "-981017278": "Automated trading at your fingertips. No coding needed.", "-1808797601": "Discover Deriv MT5 now", "-255994121": "Trade on the Deriv MT5 platform, the choice of professionals.", "-1793883644": "Trade FX and CFDs on a customisable, easy-to-use trading platform.", @@ -3080,13 +3069,32 @@ "-279398477": "Trade the world’s markets on <0>Binary.com’s classic platform.", "-1781881664": "Check out our other platform", "-2130720993": "Check out our other platforms", + "-1825471709": "A whole new trading experience on a powerful yet easy to use platform.", + "-204498543": "Trade with leverage and tight spreads for better returns on successful trades.", + "-2115275974": "CFDs", "-41978244": "Options trade type", + "-910437768": "Earn a range of payouts without risking more than your initial stake.", "-130611510": "Multipliers trade type", + "-622923303": "Trade on Deriv MT5, the all-in-one CFD trading platform.", + "-1278432184": "A highly customisable and easy-to-use CFD trading platform.", + "-1109694579": "Trade multipliers on forex, cryptocurrencies, and synthetic indices with our mobile app.", + "-319687255": "Deriv GO", + "-1246992539": "Binary Bot", + "-58704987": "Trade the world’s largest financial market with popular forex pairs.", "-1308346982": "Derived", + "-260024315": "Predict broader market trends and diversify your risk with stocks & indices.", + "-34495732": "Regulatory information", "-543115239": "why choose us", + "-737399162": "Partnership programmes", "-576138563": "contact us", + "-1829383827": "Contact us", "-244722850": "careers", + "-1236814682": "Deriv life", + "-1642457320": "Help centre", + "-1718500720": "Community", "-1951335212": "traders’ tools", + "-1668315223": "Traders’ tools", + "-1639500260": "Deriv MT5 Signals", "-1072344765": "blog", "-1467371190": "Didn't receive your email?", "-110978957": "Minus", @@ -3094,8 +3102,11 @@ "-667423170": "arrow", "-1342720542": "Enjoy trading asset prices derived from real-world
or simulated markets.", "-269790876": "partners", + "-787291267": "Status page", + "-2045194514": "Secure and responsible trading", "-23722102": "Partner", "-1750297019": "affiliates and IBs", + "-890622347": "Affiliates and IBs", "-1433497542": "payment agents", "-1153226820": "bug bounty", "-199351188": "Bug bounty", @@ -3105,6 +3116,7 @@ "-1179918966": "Browser Update Alert", "-684271315": "OK", "-1809314981": "Other markets you might be interested in", + "-1124845179": "Open demo account", "-696867299": "Get trading", "-943701585": "Available on", "-1022786491": "chevron", @@ -3114,20 +3126,31 @@ "-1307341240": "extra info icon", "-1244234227": "Digital options allow you to predict the outcome from two possible results and earn a fixed payout if your prediction is correct.", "-1070571484": "Digital options available on Deriv", - "-819894788": "Deriv Investments (Europe) Limited is licensed and regulated by the Malta Financial Services Authority under the Investment Services Act <0>(licence). Deriv.com Limited is the holding company for the above subsidiary with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ.", - "-99908951": "Please read our <0>Terms and conditions,<1> Risk disclosure, and <2>Secure and responsible trading to fully understand the risks involved before using our services. The information on this website does not constitute investment advice.", + "-223886724": "Our principles", + "-145462920": "Deriv cTrader", + "-1086253633": "SUPPORT", + "-810716123": "Deriv Blog", + "-634625185": "Terms & conditions", + "-258641121": "Deriv Prime", "-1353183095": "CFDs and other products offered on this website are complex instruments with high risk of losing money rapidly owing to leverage. You should consider whether you understand how these products work and whether you can afford to risk losing your money.", + "-1898146227": "get it on google play", "-773544978": "Home", "-1793603559": "Locations", - "-1871016038": "Deriv Careers", "-1174851024": "Explore jobs", - "-53881046": "deriv-logo", - "-674205520": "Affiliate log in", - "-1547132756": "Affiliate sign up", - "-1788474476": "Affiliate & IB sign up", + "-167548267": "Trade with leverage, unbeatable spreads, and fast execution on the widest range of markets.", + "-1416031190": "Trade diverse vanilla and exotic options across platforms and markets without risking more than your initial stake.", + "-591857861": "The most popular and comprehensive CFDs platform.", + "-2055020841": "User-friendly and customisable CFDs platform.", + "-1123792363": "Options trading platform with easy navigation.", + "-1098228973": "Major, minor, and exotic currency pairs.", + "-1120049888": "Leading company stocks and top global indices.", + "-1960027144": "Diverse exchange-traded funds for broad market exposure.", + "-1939560439": "Traders' tools", + "-1154249172": "Deriv API", "-373212993": "Deriv website", "-1151648694": "Google account sign in page", "-1753467119": "Facebook account sign in page", + "-1845318986": "Facebook", "-1816672668": "Please enter your corporate email.", "-1387776242": "Please enter your full name.", "-115645240": "Please enter your mobile number.", @@ -3193,25 +3216,43 @@ "-238387918": "Trade forex, stocks & indices, cryptocurrencies, commodities, and derived indices in one place.", "-707160742": "Easy start", "-897434771": "Already have a Deriv account? Use those credentials to sign in to Deriv cTrader.", - "-1486813632": "Rated excellent on", - "-967353831": "You need Deriv GO Ultimate for Android. Trade Options, in addition to CFDs and Multipliers, on your favourite markets.", - "-1638607416": "Download now >", - "-1026502273": "One broker,", - "-1981735781": "One broker, countless trading opportunities", + "-279582236": "Learn More", + "-1753424574": "Best forex spreads APAC 2023 by UF Awards", + "-573436898": "Trading for anyone. Anywhere. Anytime.", + "-1884823136": "Top trading assets & unique market indices", + "-1971867782": "See all forex pairs", + "-1342250828": "<0>Virtual markets, real opportunities. Trade simulated markets, as volatile as you like.", + "-847082462": "<0>Diversify with ETFs. Trade a theme, strategy, or objective through ETFs.", + "-255710210": "See all ETFs pairs", + "-1997639312": "<0>Ride the crypto waves. 24/7 trading on the price of popular cryptocurrencies.", + "-989885046": "See all cryptocurrencies", + "-2118030379": "<0>Mine for commodities. Trade the price of precious metals and oil.", "-1722031734": "Check trading specs", "-61718257": "Speculate on the price movements of popular exchange-traded funds (ETFs). Diversify your portfolio with assets that track bonds, commodities, and indices, without the high cost of owning the underlying assets.", "-777850431": "View all >", "-1384760133": "Bid price", "-1882694284": "Ask price", "-1293060532": "Daily % change", - "-1360155081": "Take part in the world’s largest financial market where more than $5 trillion worth of currencies are bought and sold each day.", - "-1235219375": "Trade share price movements of big brands and predict broader market trends with indices that measure the overall performance of a market.", - "-295883723": "Trade on the rising and falling prices of the most popular cryptocurrencies without the need to own a digital wallet.", - "-1157215583": "Our classic bot builder and automated trading platform.", - "-1433647473": "Choose from {{platform_count}} powerful platforms — each designed with your needs in mind.", - "-816866824": "Scan to download deriv P2P", - "-1016982945": "Earn a range of payouts by correctly predicting market movements.", - "-502915460": "Multiply your potential profit without risking more than your stake.", + "-908888368": "Sign up & explore", + "-626244619": "Try any trade, on any platform with a zero-risk, demo trading account.", + "-230284900": "3. Trade with confidence", + "-1936142548": "Fund your account and start trading with round-the-clock support.", + "-1373001377": "Trade with confidence", + "-1307824678": "2.Try with zero-risk", + "-1412295366": "3.Trade with confidence", + "-354246493": "Start trading in 3 simple steps", + "-1896639903": "$650B+", + "-1921087985": "Monthly volume", + "-1330380888": "Established since", + "-1692319801": "Trade with leverage, unbeatable spreads, and fast execution on the widest range of markets.", + "-179708159": "Trade CFDs & Multipliers", + "-1160523575": "Trade CFDs, Options, or Multipliers", + "-766186087": "{{trustScore}} out of 5 based on {{numberOfReviews}} reviews", + "-779264061": "Bots", + "-954684507": "The most popular and comprehensive <0>CFDs platform.", + "-895675910": "Flagship trading platform for <0>multipliers.", + "-374485603": "Regulated", + "-1615451408": "Our professional multilingual team is here for you anytime.", "-1863708031": "Exchange-traded funds (ETFs) allow you to diversify your portfolio with assets that track bonds, commodities, and indices, without the high cost of owning the underlying assets.", "-1542166394": "<0>AGG.US The iShares Core US Aggregate Bond ETF tracks an index of US investment-grade bonds.", "-1968382000": "<0>ARKK.US The ARK Innovation ETF invests in domestic and foreign equity securities of companies that rely on or benefit from developments in artificial intelligence, automation, DNA technologies, energy storage, fintech, and robotics.", @@ -3263,8 +3304,6 @@ "-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", @@ -3536,11 +3575,32 @@ "-1618901770": "Help centre | Frequently asked questions | Trading | Deriv", "-2085755369": "Frequently asked questions - Trading", "-542307428": "world map", + "-1360155081": "Take part in the world’s largest financial market where more than $5 trillion worth of currencies are bought and sold each day.", "-1894673375": "mobile app deriv go", "-505163259": "laptop dtrader", "-1633415532": "laptop deriv x", "-404595524": "laptop dmt5 eu", "-313388618": "Dtrader trading platform at Deriv", + "-717865028": "Anywhere. Anytime.", + "-1424961272": "We’re 24+ years strong", + "-1649102304": "Forex at your fingertips.", + "-848499358": "Currency trading with major, minor, and exotic pairs.", + "-116074125": "Trade simulated markets, as volatile as you like.", + "-378383737": "Take a position on 1500+ stocks and indices.", + "-984581646": "Trade the price of precious metals and oil.", + "-1107962717": "Ride the crypto waves.", + "-1850916180": "See all cryptocurrencie", + "-2043758047": "Sign up in minutes and explore Trader’s Hub - all your trading needs, in one place. ", + "-1382581758": "My experience so far is just awesome! You can do instant buying and selling, and I hope to continue enjoying using Deriv P2P. Keep up the good work!", + "-459332544": "I have never seen a platform that is so flexible with multiple resources that meet everyone’s needs. If that’s not enough, Deriv is second to none on customer support services!", + "-2033498676": "Deriv has multiple withdrawal methods, including Deriv P2P, which is fast and convenient. Their support team is available any time and responds very quickly to any queries.", + "-1810714093": "Deriv GO is a very nice app – payments have been swift and easy. I would highly recommend it.", + "-1426812612": "Deriv is the most reliable broker - excellent customer support and fast payments. It’s a great platform for commodities, forex, and synthetics trading.", + "-1019430823": "Low spreads on Synthetics and fast withdrawals - Deriv is a good broker!", + "-935743086": "Wow! Deriv GO is so perfect, it's convenient and reliable. I highly recommend using the app.", + "-1206803300": "I've been a trader for many years, and I've never encountered a good broker like Deriv before – it's the best for customer care and payment options!", + "-13898976": "It's been a really great experience trading forex on Deriv - it's a smooth and seamless operation!", + "-143741607": "Deriv is the best forex broker I have ever come across!", "-642822922": "What our clients say about Deriv", "-97177023": "Trade 24/7 on forex, stocks, synthetic indices, and commodities", "-988523882": "DMT5", @@ -3888,7 +3948,6 @@ "-1356010780": "Implement policies to prevent vulnerable persons from trading", "-1186213423": "We will refuse underage persons’ access and implement processes to identify customers who are trading beyond their financial capacity.", "-220003669": "We will implement know-your-customer (KYC) controls and prevent money laundering and other unlawful activities on our platforms.", - "-223886724": "Our principles", "-586716383": "Our principles | Deriv", "-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.", @@ -3962,7 +4021,7 @@ "-1735413007": "A trading expert or someone who can provide tips and opinions on online trading sites.", "-486221103": "A referred client is the customer who signed up using your tracking link. Once they start trading on our platforms with real money, you will stand to earn commissions from the trades placed by them.", "-1629979446": "How and when will I receive my Deriv affiliate commissions?", - "-1554471493": "Commissions are paid out around the 15th of every month into your selected payment method.", + "-1675671577": "We’ll deposit your commissions directly into your account as soon as practicable after the 20th of every month.", "-1940955647": "Please note that we will not credit your commission if you did not set any payment method or if it is below your desired payment threshold.", "-330627599": "I forgot my account password. What should I do?", "-1843624113": "live chat.", @@ -4256,8 +4315,7 @@ "-1049534775": "Please enter a valid postcode with Latin characters.", "-420140433": "Company registration number is required", "-1857429287": "Last Name", - "-706927392": "Important Guidelines", - "-2086585870": "Partners Guide", + "-1702877392": "Important guidelines", "-776458472": "General terms of use", "-2083825503": "Affiliates & introducing brokers (IBs)", "-28284335": "Additional terms for our affiliates and introducing brokers", @@ -4472,7 +4530,6 @@ "-470690579": "Stop loss and take profit for multipliers", "-1217327947": "Try multipliers calculator", "-1382112538": "PnL multipliers", - "-1939560439": "Traders' tools", "-626406870": "right arrow", "-66889773": "Our margin calculator helps you to estimate the margin required to keep your positions open overnight on Deriv MT5.", "-1788261316": "Margin required", diff --git a/gatsby-browser.js b/gatsby-browser.js index f8c16396f27..37efbcdb2eb 100644 --- a/gatsby-browser.js +++ b/gatsby-browser.js @@ -15,10 +15,11 @@ import { getLanguage, updateURLAsPerUserLanguage, } from 'common/utility' -// import './static/css/ibm-plex-sans-var.css' import './static/css/noto-sans-arabic.css' import './static/css/ubuntu.css' import './static/css/global.css' +import '@deriv-com/blocks/style.css' +import '@deriv-com/components/style.css' const is_browser = typeof window !== 'undefined' diff --git a/package-lock.json b/package-lock.json index 533f0a27b16..683a40fb2a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,11 +18,10 @@ "@deriv/analytics": "^1.4.4", "@deriv/deriv-api": "^1.0.13", "@deriv/quill-design": "^1.2.12", - "@deriv/quill-icons": "^1.0.16", + "@deriv/quill-icons": "1.0.16", "@hookform/resolvers": "^3.3.2", "@livechat/customer-sdk": "^3.1.5", "@loadable/component": "^5.15.3", - "@parcel/watcher-linux-x64-glibc": "*", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-dropdown-menu": "^2.0.6", @@ -7722,44 +7721,6 @@ "@parcel/watcher-win32-x64": "2.3.0" } }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", - "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", - "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher-darwin-x64": { "version": "2.3.0", "cpu": [ @@ -7778,82 +7739,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", - "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", - "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", - "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", - "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/watcher-linux-x64-glibc": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", @@ -7873,82 +7758,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", - "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", - "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", - "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", - "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/workers": { "version": "2.8.3", "license": "MIT", diff --git a/package.json b/package.json index 3939b7ca718..4ed4c643701 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@deriv/analytics": "^1.4.4", "@deriv/deriv-api": "^1.0.13", "@deriv/quill-design": "^1.2.12", - "@deriv/quill-icons": "^1.0.16", + "@deriv/quill-icons": "1.0.16", "@hookform/resolvers": "^3.3.2", "@livechat/customer-sdk": "^3.1.5", "@loadable/component": "^5.15.3", diff --git a/postcss.config.js b/postcss.config.js index 33ad091d26d..fef1b2256d6 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,6 +1,6 @@ module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, } diff --git a/src/components/elements/market-tab/index.tsx b/src/components/elements/market-tab/index.tsx index 9cc0a58a62c..08bc52c97a5 100644 --- a/src/components/elements/market-tab/index.tsx +++ b/src/components/elements/market-tab/index.tsx @@ -7,7 +7,6 @@ import { Header } from 'components/elements' import AvailablePlatform from 'pages/trading-specification/components/_available-platform' import { Localize } from 'components/localization' import TradingSpecificationTable from 'pages/trading-specification/components/_trading_spec_table' -import useRegion from 'components/hooks/use-region' const TabStyledHeader = styled(Header)` font-family: 'Ubuntu'; @@ -17,10 +16,10 @@ const MarketIcon = styled.img<{ is_selected?: boolean }>` inline-size: 24px; block-size: 24px; margin-block-end: 10px; + margin-inline: auto; ` const MarketTab = () => { - const { is_row } = useRegion() const [selected_market, setSelectedMarket] = useState('forex') const onMarketButtonClick = (selected) => { setSelectedMarket(selected) diff --git a/src/components/layout/layout.tsx b/src/components/layout/layout.tsx index 89c2c4c2606..1b373559a9c 100644 --- a/src/components/layout/layout.tsx +++ b/src/components/layout/layout.tsx @@ -1,6 +1,8 @@ -import React, { ReactNode, Ref } from 'react' +/* eslint-disable @typescript-eslint/ban-ts-comment */ +import React, { ReactNode, Ref, useCallback } from 'react' import loadable from '@loadable/component' import styled from 'styled-components' +import { LanguageProvider, SharedLinkProvider } from '@deriv-com/providers' import { LocationProvider } from './location-context' import LayoutOverlay from 'features/components/molecules/layout-overlay' import EURedirect, { useModal } from 'components/custom/_eu-redirect-modal' @@ -8,16 +10,20 @@ import { usePlatformQueryParam } from 'components/hooks/use-platform-query-param import { usePageLoaded } from 'components/hooks/use-page-loaded' import { getLanguage, isBrowser } from 'common/utility' import apiManager from 'common/websocket' -import MainNav from 'features/components/templates/navigation/main-nav' import StaticNav from 'features/components/templates/navigation/static-nav' -import PaymentAgentAffiliateNav from 'features/components/templates/navigation/payment-agent-nav' import BugBountyNav from 'features/components/templates/navigation/bug-bounty-nav' import CareerNav from 'features/components/templates/navigation/career-nav' -import MarketNav from 'features/components/templates/navigation/market-nav' import PpcProvider from 'features/contexts/ppc-campaign/ppc.provider' import AffiliateNav from 'features/components/templates/navigation/affiliates-nav' import BannerAlert from 'components/custom/_banner-alert' import { bannerTypes } from 'common/constants' +import MainRowNavigation from 'features/components/templates/navigation/main-nav' +import { useLangDirection } from 'components/hooks/use-lang-direction' +import { LocaleContext } from 'components/localization' +import useLangSwitcher from 'features/components/molecules/language-switcher/useLangSwitcher' +import { langItemsROW } from 'features/components/templates/layout/data' +import PartnersNav from 'features/components/templates/navigation/partners-nav' +import GatsbySharedLink from 'features/components/quill/shared-link' const RebrandingFooter = loadable(() => import('features/components/templates/footer')) @@ -44,7 +50,7 @@ export type ModalPayloadType = { } const Main = styled.main` - padding-top: ${({ padding_top }) => (padding_top && `${padding_top}rem`) || '7rem'}; + padding-top: ${({ padding_top }) => (padding_top && `${padding_top}rem`) || '8rem'}; background: var(--color-white); height: 100%; position: relative; @@ -60,13 +66,13 @@ if (isBrowser()) { const Navs = { noNav: null, - default: , + default: , static: , interim: , - partners: , + partners: , - markets: , + markets: , security: , @@ -80,7 +86,8 @@ const Navs = { careers: , - 'payment-methods': , + 'payment-methods': , + affiliates: , } @@ -99,6 +106,27 @@ const Layout = ({ const is_static = type === 'static' + const lang_direction = useLangDirection() + const { locale } = React.useContext(LocaleContext) + const formatted_lang = locale.replace('_', '-') + + React.useEffect(() => { + document.body.dir = lang_direction + document.documentElement.lang = formatted_lang + }, [lang_direction, formatted_lang]) + + //need to update the language data and type + //here using langauge data from `i18n-config.js` + const { onSwitchLanguage, currentLang } = useLangSwitcher() + const activeLang = langItemsROW[currentLang.path.replace('-', '')] + + const onLanguageChange = useCallback( + (event) => { + onSwitchLanguage(`/${event.path}/`) + }, + [onSwitchLanguage], + ) + //Handle page layout when redirection from mobile app. if (has_platform) { return ( @@ -108,33 +136,41 @@ const Layout = ({ ) } return ( - - {Navs[type]} - -
-
- {children} -
- - - -
-
- {show_footer && } -
+ + + + {Navs[type]} + +
+
+ {children} +
+ + + +
+
+ {show_footer && } +
+
+
) } diff --git a/src/features/components/molecules/timeline-item/index.tsx b/src/features/components/molecules/timeline-item/index.tsx index aa101390078..1d6ff85fcbf 100644 --- a/src/features/components/molecules/timeline-item/index.tsx +++ b/src/features/components/molecules/timeline-item/index.tsx @@ -30,9 +30,7 @@ const TimelineItem = ({ data, isLastItem, ...rest }: TimelineItemProps) => { check icon
diff --git a/src/features/components/templates/footer/banner-and-awards.tsx b/src/features/components/templates/footer/banner-and-awards.tsx new file mode 100644 index 00000000000..967d50d43d1 --- /dev/null +++ b/src/features/components/templates/footer/banner-and-awards.tsx @@ -0,0 +1,71 @@ +import React from 'react' +import { CaptionText, Heading, Text } from '@deriv/quill-design' +// eslint-disable-next-line import/no-unresolved +import { DerivProductDerivGoBrandLightLogoHorizontalIcon } from '@deriv/quill-icons/Logo' +import { StaticImage } from 'gatsby-plugin-image' +import DownloadBadges from './download' +import { Localize, localize } from 'components/localization' +import useRegion from 'components/hooks/use-region' + +export const DerivGoBannerAndAwards = () => { + const { is_row } = useRegion() + return ( +
+ {is_row && ( +
+
+
+
+ + + + +
+ + + +
+
+
+ + + + +
+
+
+ +
+ )} +
+
+ +
+
+ +
+
+
+ ) +} diff --git a/src/features/components/templates/footer/data.ts b/src/features/components/templates/footer/data.ts deleted file mode 100644 index f2e133933f5..00000000000 --- a/src/features/components/templates/footer/data.ts +++ /dev/null @@ -1,368 +0,0 @@ -import { SmartFooterLink, SmartFooterLinkColumn } from './types' -import { deriv_status_page_url } from 'common/constants' - -const aboutUsLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_Who we are_t_', - url: { type: 'internal', to: '/who-we-are/' }, - }, - }, - { - id: 1, - data: { - text: '_t_Why choose us_t_', - url: { type: 'internal', to: '/why-choose-us/' }, - }, - }, - { - id: 2, - data: { - text: '_t_Principles_t_', - url: { type: 'internal', to: '/our-principles/' }, - }, - }, - { - id: 3, - data: { - text: '_t_Partnership programmes_t_', - url: { type: 'internal', to: '/partners/' }, - }, - }, - { - id: 4, - data: { - text: '_t_Contact us_t_', - url: { type: 'internal', to: '/contact_us/' }, - }, - }, - { - id: 5, - data: { - text: '_t_Careers_t_', - url: { type: 'internal', to: '/careers/' }, - }, - }, - { - id: 6, - data: { - text: '_t_Deriv life_t_', - url: { type: 'company', url_name: 'derivlife' }, - }, - }, -] - -const tradesLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_CFDs_t_', - url: { type: 'internal', to: '/trade-types/cfds/' }, - }, - }, - { - id: 1, - data: { - text: '_t_Options_t_', - url: { type: 'internal', to: '/trade-types/options/digital-options/up-and-down/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - text: '_t_Multipliers_t_', - url: { type: 'internal', to: '/trade-types/multiplier/' }, - }, - }, -] - -const marketsLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_Forex_t_', - url: { type: 'internal', to: '/markets/forex/' }, - }, - }, - { - id: 1, - data: { - text: '_t_Derived indices_t_', - url: { type: 'internal', to: '/markets/synthetic/' }, - }, - }, - { - id: 2, - data: { - text: '_t_Stocks & indices_t_', - url: { type: 'internal', to: '/markets/stock/' }, - }, - }, - { - id: 3, - data: { - text: '_t_ETFs_t_', - url: { type: 'internal', to: '/markets/exchange-traded-funds/' }, - }, - }, - { - id: 4, - data: { - text: '_t_Cryptocurrencies_t_', - url: { type: 'internal', to: '/markets/cryptocurrencies/' }, - }, - }, - { - id: 5, - data: { - text: '_t_Commodities_t_', - url: { type: 'internal', to: '/markets/commodities/' }, - }, - }, -] - -const platformsLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_Deriv MT5_t_', - url: ({ is_ppc_redirect }) => ({ - type: 'internal', - to: is_ppc_redirect ? '/landing/dmt5/' : '/dmt5/', - }), - }, - }, - { - id: 1, - data: { - text: '_t_Deriv X_t_', - url: { type: 'internal', to: '/derivx/' }, - }, - visibility: { - is_row: true, - }, - }, - - { - id: 2, - data: { - text: '_t_Deriv GO_t_', - url: { type: 'internal', to: '/deriv-go/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 3, - data: { - text: '_t_Deriv Trader_t_', - url: { type: 'internal', to: '/dtrader/' }, - }, - }, - { - id: 4, - data: { - text: '_t_SmartTrader_t_', - url: { type: 'company', url_name: 'smart_trader', target: '_blank' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 5, - data: { - text: '_t_Deriv Bot_t_', - url: { type: 'internal', to: '/dbot/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 6, - data: { - text: '_t_Binary Bot_t_', - url: { type: 'company', url_name: 'binary_bot', target: '_blank' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 7, - data: { - text: '_t_Deriv cTrader_t_', - url: { type: 'internal', to: '/deriv-ctrader/' }, - }, - visibility: { - is_row: true, - }, - }, -] - -const legalLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_Regulatory information_t_', - url: { type: 'internal', to: '/regulatory/' }, - }, - }, - { - id: 1, - data: { - text: '_t_Terms & conditions_t_', - url: { type: 'internal', to: '/terms-and-conditions/#clients' }, - }, - }, - { - id: 2, - data: { - text: '_t_Secure & responsible trading_t_', - url: { type: 'internal', to: '/responsible/' }, - }, - }, -] - -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/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - text: '_t_Affiliates_t_', - url: { type: 'internal', to: '/partners/affiliate-ib/' }, - }, - visibility: { - is_row: false, - }, - }, - { - id: 3, - data: { - text: '_t_Payment agents_t_', - url: { type: 'internal', to: '/partners/payment-agent/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 4, - data: { - text: '_t_API_t_', - url: { type: 'company', url_name: 'api' }, - }, - }, -] - -const supportLinks: SmartFooterLink[] = [ - { - id: 0, - data: { - text: '_t_Help centre_t_', - url: { type: 'internal', to: '/help-centre/' }, - }, - }, - { - id: 1, - data: { - text: '_t_Community_t_', - url: { type: 'company', url_name: 'community' }, - }, - }, - { - id: 2, - data: { - text: '_t_Payment methods_t_', - url: { type: 'internal', to: '/payment-methods/' }, - }, - }, - { - id: 3, - data: { - text: '_t_Status page_t_', - url: { type: 'non-company', href: deriv_status_page_url }, - }, - }, - { - id: 4, - data: { - text: '_t_Deriv Blog_t_', - url: { type: 'company', url_name: 'blog' }, - }, - }, -] - -export const footerLinks: SmartFooterLinkColumn[] = [ - { - id: 0, - data: { - title: '_t_ABOUT US_t_', - links: aboutUsLinks, - }, - }, - { - id: 1, - data: { - title: '_t_TRADE TYPES_t_', - links: tradesLinks, - }, - }, - { - id: 2, - data: { - title: '_t_MARKETS_t_', - links: marketsLinks, - }, - }, - { - id: 3, - data: { - title: '_t_PLATFORMS_t_', - links: platformsLinks, - }, - }, - { - id: 4, - data: { - title: '_t_LEGAL_t_', - links: legalLinks, - }, - }, - { - id: 5, - data: { - title: '_t_PARTNERS_t_', - links: partnerLinks, - }, - }, - { - id: 7, - data: { - title: '_t_SUPPORT_t_', - links: supportLinks, - }, - }, -] diff --git a/src/features/components/templates/footer/data.tsx b/src/features/components/templates/footer/data.tsx new file mode 100644 index 00000000000..e3eacbfb77c --- /dev/null +++ b/src/features/components/templates/footer/data.tsx @@ -0,0 +1,549 @@ +import React from 'react' +import { FooterItems } from '@deriv-com/blocks' +import { + StandaloneFacebookIcon, + StandaloneInstagramIcon, + StandaloneLinkedinIcon, + StandaloneXTwitterIcon, + StandaloneYoutubeIcon, + // eslint-disable-next-line import/no-unresolved +} from '@deriv/quill-icons/Standalone' +import { DerivGoBannerAndAwards } from './banner-and-awards' +import { Localize } from 'components/localization' + +export const RowFooterNavData: FooterItems[] = [ + { + id: 0, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/who-we-are', + text: , + }, + { + id: 1, + href: '/why-choose-us', + text: , + }, + { + id: 3, + href: '/our-principles', + text: , + }, + { + id: 4, + href: '/partners', + text: , + }, + { + id: 5, + href: '/contact_us', + text: , + }, + { id: 6, href: '/careers', text: }, + { + id: 7, + href: 'https://derivlife.com', + text: , + }, + ], + }, + ], + }, + { + id: 1, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/trade-types/cfds', + text: , + }, + { + id: 1, + href: '/trade-types/options', + text: , + }, + { + id: 2, + href: '/trade-types/multiplier', + text: , + }, + ], + }, + { + id: 1, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/markets/forex', + text: , + }, + { + id: 1, + href: '/markets/synthetic', + text: , + }, + { + id: 2, + href: '/markets/stock', + text: , + }, + { + id: 3, + href: '/markets/exchange-traded-funds', + text: , + }, + { + id: 4, + href: '/markets/cryptocurrencies', + text: , + }, + { + id: 5, + href: '/markets/commodities', + text: , + }, + ], + }, + ], + }, + { + id: 2, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { id: 0, href: '/dmt5', text: }, + { id: 1, href: '/derivx', text: }, + { + id: 2, + href: '/deriv-ctrader', + text: , + }, + { + id: 3, + href: '/deriv-go', + text: , + }, + { + id: 4, + href: '/dtrader', + text: , + }, + { + id: 5, + href: 'https://smarttrader.deriv.com/', + text: , + target: '_blank', + }, + { id: 6, href: '/dbot', text: }, + { + id: 7, + href: 'https://bot.deriv.com/', + text: , + target: '_blank', + }, + ], + }, + ], + }, + { + id: 3, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/help-centre', + text: , + }, + { + id: 1, + href: 'https://community.deriv.com/', + text: , + }, + { + id: 2, + href: '/payment-methods', + text: , + }, + { + id: 3, + href: 'https://deriv.statuspage.io/', + text: , + }, + { + id: 4, + href: 'https://blog.deriv.com/', + text: , + }, + ], + }, + ], + }, + { + id: 4, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/regulatory', + text: , + }, + { + id: 1, + href: '/terms-and-conditions/#clients', + text: , + }, + { + id: 2, + href: '/responsible', + text: , + }, + ], + }, + { + id: 1, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/partners/deriv-prime', + text: , + }, + { + id: 1, + href: '/partners/affiliate-ib', + text: , + }, + { + id: 2, + href: '/partners/payment-agent', + text: , + }, + { + id: 3, + href: 'https://api.deriv.com/', + text: , + }, + ], + }, + ], + }, + { + id: 5, + layers: [ + { + id: 0, + type: 'node', + node: , + }, + ], + }, +] + +export const EuFooterNavData: FooterItems[] = [ + { + id: 0, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/who-we-are', + text: , + }, + { + id: 1, + href: '/why-choose-us', + text: , + }, + { + id: 3, + href: '/our-principles', + text: , + }, + { + id: 4, + href: '/partners', + text: , + }, + { + id: 5, + href: '/contact_us', + text: , + }, + { id: 6, href: '/careers', text: }, + { + id: 7, + href: 'https://derivlife.com', + text: , + }, + ], + }, + ], + }, + { + id: 1, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/trade-types/cfds', + text: , + }, + { + id: 1, + href: '/trade-types/multiplier', + text: , + }, + ], + }, + { + id: 1, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/markets/forex', + text: , + }, + { + id: 1, + href: '/markets/synthetic', + text: , + }, + { + id: 2, + href: '/markets/stock', + text: , + }, + { + id: 3, + href: '/markets/exchange-traded-funds', + text: , + }, + { + id: 4, + href: '/markets/cryptocurrencies', + text: , + }, + { + id: 5, + href: '/markets/commodities', + text: , + }, + ], + }, + ], + }, + { + id: 2, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { id: 0, href: '/dmt5', text: }, + { + id: 1, + href: '/dtrader', + text: , + }, + ], + }, + ], + }, + { + id: 3, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/help-centre', + text: , + }, + { + id: 1, + href: 'https://community.deriv.com/', + text: , + }, + { + id: 2, + href: '/payment-methods', + text: , + }, + { + id: 3, + href: 'https://deriv.statuspage.io/', + text: , + }, + { + id: 4, + href: 'https://blog.deriv.com/', + text: , + }, + ], + }, + ], + }, + { + id: 4, + layers: [ + { + id: 0, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/regulatory', + text: , + }, + { + id: 1, + href: '/terms-and-conditions/#clients', + text: , + }, + { + id: 2, + href: '/responsible', + text: , + }, + ], + }, + { + id: 1, + header: , + type: 'link', + items: [ + { + id: 0, + href: '/partners/deriv-prime', + text: , + }, + { + id: 1, + href: '/partners/affiliate-ib', + text: , + }, + { + id: 3, + href: 'https://api.deriv.com/', + text: , + }, + ], + }, + ], + }, + { + id: 5, + layers: [ + { + id: 0, + type: 'node', + node: , + }, + ], + }, +] + +export const warnText = ( + +) + +export const socialButtonsROW = [ + { + icon: , + href: 'https://www.facebook.com/derivdotcom', + }, + { + icon: , + href: 'https://www.instagram.com/deriv_official', + }, + { + icon: , + href: 'https://twitter.com/derivdotcom/', + }, + { + icon: , + href: 'https://www.youtube.com/@deriv', + }, + { + icon: , + href: 'https://www.linkedin.com/company/derivdotcom/', + }, +] + +export const socialButtonsEU = [ + { + icon: , + href: 'https://www.facebook.com/DerivEU', + }, + { + icon: , + href: 'https://www.instagram.com/deriv_eu/', + }, + { + icon: , + href: 'https://twitter.com/deriv_eu/', + }, + { + icon: , + href: 'https://www.youtube.com/@deriv', + }, + { + icon: , + href: 'https://www.linkedin.com/company/derivdotcom/', + }, +] + +export const socialButtonsCareers = [ + { + icon: , + href: 'https://www.facebook.com/derivcareers', + }, + { + icon: , + href: 'https://www.instagram.com/derivcareers/', + }, + { + icon: , + href: 'https://www.linkedin.com/company/derivdotcom/life/', + }, +] diff --git a/src/features/components/templates/footer/description.tsx b/src/features/components/templates/footer/description.tsx new file mode 100644 index 00000000000..b23a2599da2 --- /dev/null +++ b/src/features/components/templates/footer/description.tsx @@ -0,0 +1,96 @@ +import React from 'react' +import { Text } from '@deriv/quill-design' +import clsx from 'clsx' +import { Localize } from 'components/localization' + +const sharedClasses = 'inline font-bold underline hover:text-typography-prominent' + +export const DescriptionContent = () => { + return ( + <> + + , + , + , + ]} + /> + + + , + , + , + ]} + /> + + + ) +} + +export const DescriptionContentEU = () => { + return ( + <> + + , + ]} + /> + + + , + , + , + ]} + /> + + + ) +} diff --git a/src/features/components/templates/footer/disclaimer/data.tsx b/src/features/components/templates/footer/disclaimer/data.tsx deleted file mode 100644 index 66bf10c0a2f..00000000000 --- a/src/features/components/templates/footer/disclaimer/data.tsx +++ /dev/null @@ -1,208 +0,0 @@ -import React from 'react' -import { SmartDisclaimerParagraph } from './types' -import Link from 'features/components/atoms/link' - -export const disclaimerContent: SmartDisclaimerParagraph[] = [ - { - id: 0, - data: { - text: '_t_Deriv Investments (Europe) Limited is licensed and regulated by the Malta Financial Services Authority under the Investment Services Act <0>(licence). Deriv.com Limited is the holding company for the above subsidiary with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ._t_', - components: [ - , - ], - }, - visibility: { - is_eu: true, - }, - }, - { - id: 1, - data: { - text: '_t_Deriv Investments (Europe) Limited is licensed and regulated by the Malta Financial Services Authority under the Investment Services Act (<0>licence). Deriv (FX) Ltd is licensed by the Labuan Financial Services Authority (<1>licence). Deriv (BVI) Ltd is licensed by the British Virgin Islands Financial Services Commission (<2>licence). Deriv (V) Ltd is licensed by the Vanuatu Financial Services Commission (<3>licence). Deriv (SVG) LLC has a registered office at First Floor, SVG Teachers Credit Union Uptown Building, Corner of James and Middle Street, Kingstown P.O., St Vincent and the Grenadines. Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ._t_', - components: [ - , - , - , - , - ], - }, - visibility: { - is_cpa_plan: true, - }, - }, - { - id: 2, - data: { - text: '_t_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 by the Vanuatu Financial Services Commission (<2>licence). Deriv (SVG) LLC has a registered office at First Floor, SVG Teachers Credit Union Uptown Building, Corner of James and Middle Street, Kingstown P.O., St Vincent and the Grenadines. Deriv.com Limited is the holding company for the above subsidiaries with the registration number 71479 and the registered address is located at 2nd Floor, 1 Cornet Street, St Peter Port, Guernsey, GY1 1BZ._t_', - components: [ - , - , - , - ], - }, - visibility: { - is_eu: false, - is_cpa_plan: false, - }, - }, - { - id: 3, - data: { - text: '_t_Please read our <0>Terms and conditions,<1> Risk disclosure, and <2>Secure and responsible trading to fully understand the risks involved before using our services. The information on this website does not constitute investment advice._t_', - components: [ - , - , - , - ], - }, - visibility: { - is_non_eu: true, - }, - }, - { - id: 4, - data: { - text: '_t_Please read our <0>Terms and conditions,<1> Risk disclosure, and <2>Secure and responsible trading to fully understand the risks involved before using our services. The information on this website does not constitute investment advice._t_', - components: [ - , - , - , - ], - }, - visibility: { - is_eu: true, - }, - }, -] - -export const riskWarningContent: SmartDisclaimerParagraph[] = [ - { - id: 0, - data: { - text: '_t_CFDs and other products offered on this website are complex instruments with high risk of losing money rapidly owing to leverage. You should consider whether you understand how these products work and whether you can afford to risk losing your money._t_', - }, - visibility: { - is_non_eu: true, - }, - }, -] diff --git a/src/features/components/templates/footer/disclaimer/disclaimer.module.scss b/src/features/components/templates/footer/disclaimer/disclaimer.module.scss deleted file mode 100644 index be6678eda7e..00000000000 --- a/src/features/components/templates/footer/disclaimer/disclaimer.module.scss +++ /dev/null @@ -1,3 +0,0 @@ -.risk_warning_container { - border-radius: 1.5rem; -} diff --git a/src/features/components/templates/footer/disclaimer/index.tsx b/src/features/components/templates/footer/disclaimer/index.tsx deleted file mode 100644 index e3883e5ac54..00000000000 --- a/src/features/components/templates/footer/disclaimer/index.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React, { useMemo } from 'react' -import { risk_warning_container } from './disclaimer.module.scss' -import { disclaimerContent, riskWarningContent } from './data' -import { DisclaimerParagraphConfig } from './types' -import Typography from 'features/components/atoms/typography' -import { Localize } from 'components/localization' -import useVisibleContent from 'components/hooks/use-visible-content' -import useRegion from 'components/hooks/use-region' -import Container from 'features/components/atoms/container' - -const Disclaimer = () => { - const { is_eu, is_non_eu, is_cpa_plan, is_row, is_region_loading } = useRegion() - - const visibility_config: DisclaimerParagraphConfig = useMemo(() => { - return { - is_cpa_plan, - is_eu, - is_non_eu, - is_non_eu_or_cpa_plan: is_non_eu || is_cpa_plan, - } - }, [is_cpa_plan, is_eu, is_non_eu]) - - const visible_disclaimer_content = useVisibleContent({ - content: disclaimerContent, - config: visibility_config, - }) - - const visible_risk_content = useVisibleContent({ - content: riskWarningContent, - config: visibility_config, - }) - - return ( - - {!is_region_loading && - visible_disclaimer_content.map((item) => ( - - - - ))} - {is_row && !is_cpa_plan && ( - - {visible_risk_content.map((item, index) => { - const not_last_item = - index !== visible_risk_content.length - 1 ? 'small' : undefined - return ( - - - - ) - })} - - )} - - ) -} - -export default Disclaimer diff --git a/src/features/components/templates/footer/disclaimer/types.ts b/src/features/components/templates/footer/disclaimer/types.ts deleted file mode 100644 index 9e031367bef..00000000000 --- a/src/features/components/templates/footer/disclaimer/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ReactElement } from 'react' -import { TSmartContent, TString } from 'types/generics' - -export type DisclaimerParagraph = { - text: TString - components?: ReactElement[] -} - -export type DisclaimerParagraphConfig = { - is_eu: boolean - is_non_eu: boolean - is_cpa_plan: boolean - is_non_eu_or_cpa_plan: boolean -} - -export type SmartDisclaimerParagraph = TSmartContent diff --git a/src/features/components/templates/footer/download.tsx b/src/features/components/templates/footer/download.tsx new file mode 100644 index 00000000000..a0a62c84386 --- /dev/null +++ b/src/features/components/templates/footer/download.tsx @@ -0,0 +1,65 @@ +import React from 'react' +import { + LabelPairedAppleIcon, + LabelPairedGooglePlayIcon, + LabelPairedHuaweiAppGalleryIcon, + // eslint-disable-next-line import/no-unresolved +} from '@deriv/quill-icons/LabelPaired' +import clsx from 'clsx' +import { StaticImage } from 'gatsby-plugin-image' +import { CustomLink } from '@deriv-com/components' +import { localize } from 'components/localization' + +const sharedClasses = + 'flex items-center justify-center gap-gap-md p-general-sm rounded-[4px] border-solid border-xs border-opacity-black-100' + +const DownloadBadges = () => { + return ( +
+ + + + + + + + + + + + +
+ ) +} + +export default DownloadBadges diff --git a/src/features/components/templates/footer/footer-icons/index.tsx b/src/features/components/templates/footer/footer-icons/index.tsx deleted file mode 100644 index f56af318f66..00000000000 --- a/src/features/components/templates/footer/footer-icons/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import FooterSocialIcons from '../social-icons' -import DerivFooterLogo from 'images/svg/layout/deriv_footer_logo.svg' -import Image from 'features/components/atoms/image' -import Flex from 'features/components/atoms/flex-box' - -const FooterIcons = () => { - return ( - - - deriv logo image - - - - ) -} - -export default FooterIcons diff --git a/src/features/components/templates/footer/footer.module.scss b/src/features/components/templates/footer/footer.module.scss deleted file mode 100644 index 7ad947d0921..00000000000 --- a/src/features/components/templates/footer/footer.module.scss +++ /dev/null @@ -1,20 +0,0 @@ -@use 'features/styles/theme/theme-mixins' as *; -@import 'features/styles/theme/variables'; - -.footer { - opacity: 0.8; - - @include breakpoints(tablet) { - border-block-start: 1px solid $color-grey-44; - } -} - -.footer_grid { - display: grid; - inline-size: 100%; - grid-template-columns: 1fr; - - @include breakpoints(tablet) { - grid-template-columns: 2fr; - } -} diff --git a/src/features/components/templates/footer/index.tsx b/src/features/components/templates/footer/index.tsx index 825331c6aa8..468535a80d8 100644 --- a/src/features/components/templates/footer/index.tsx +++ b/src/features/components/templates/footer/index.tsx @@ -1,56 +1,47 @@ -import React from 'react' -import { footer_grid, footer } from './footer.module.scss' -import { footerLinks } from './data' -import FooterLinksColumn from './links-column' -import Disclaimer from './disclaimer' -import FooterIcons from './footer-icons' -import usePpc from 'features/hooks/use-ppc' -import Flex from 'features/components/atoms/flex-box' -import useVisibleContent from 'components/hooks/use-visible-content' -import Container from 'features/components/atoms/container' +import React, { useEffect, useState } from 'react' +import { Footer } from '@deriv-com/blocks' +import { qtMerge } from '@deriv/quill-design' +import { + EuFooterNavData, + RowFooterNavData, + socialButtonsCareers, + socialButtonsEU, + socialButtonsROW, + warnText, +} from './data' +import { DerivGoBannerAndAwards } from './banner-and-awards' +import { DescriptionContent, DescriptionContentEU } from './description' import useRegion from 'components/hooks/use-region' +import { getLocationPathname } from 'common/utility' -interface FooterProps { - no_footer_links?: boolean -} +export const MainFooter = () => { + const [is_career, setIsCareer] = useState(false) + const { is_eu } = useRegion() -const Footer = ({ no_footer_links = false }: FooterProps) => { - const { is_ppc } = usePpc() - const { is_eu, is_cpa_plan } = useRegion() + useEffect(() => { + const current_path = getLocationPathname() + const splitted_path = current_path.split('/') + const is_career_page = splitted_path.includes('careers') + setIsCareer(is_career_page) + }, []) - const content = useVisibleContent({ content: footerLinks, config: { is_ppc } }) + const socialButtons = is_career + ? socialButtonsCareers + : is_eu + ? socialButtonsEU + : socialButtonsROW return ( - - - - - {!no_footer_links && ( - - {content?.map((contentItem) => ( - - ))} - - )} - - - - + + ) } -export default Footer +export default MainFooter diff --git a/src/features/components/templates/footer/link-item/index.tsx b/src/features/components/templates/footer/link-item/index.tsx deleted file mode 100644 index 0860d9de8d9..00000000000 --- a/src/features/components/templates/footer/link-item/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import { SmartFooterLink } from '../types' -import usePpc from 'features/hooks/use-ppc' -import useRegion from 'components/hooks/use-region' -import Link from 'features/components/atoms/link' -import { Localize } from 'components/localization' - -interface FooterLinkProps { - item: SmartFooterLink -} - -const FooterLink = ({ item: { data } }: FooterLinkProps) => { - const { is_ppc, is_ppc_redirect } = usePpc() - const { is_row } = useRegion() - const { url } = data - - const visible_url = typeof url === 'function' ? url({ is_ppc, is_ppc_redirect, is_row }) : url - - return ( - - - - ) -} - -export default FooterLink diff --git a/src/features/components/templates/footer/links-column/index.tsx b/src/features/components/templates/footer/links-column/index.tsx deleted file mode 100644 index 92deff95a84..00000000000 --- a/src/features/components/templates/footer/links-column/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react' -import { SmartFooterLinkColumn } from '../types' -import FooterLink from '../link-item' -import Flex from 'features/components/atoms/flex-box' -import Typography from 'features/components/atoms/typography' -import { Localize } from 'components/localization' -import useVisibleContent from 'components/hooks/use-visible-content' -import usePpc from 'features/hooks/use-ppc' -import useRegion from 'components/hooks/use-region' - -interface FooterLinksColumnProps { - item: SmartFooterLinkColumn -} - -const FooterLinksColumn = ({ item: { data } }: FooterLinksColumnProps) => { - const { is_ppc, is_ppc_redirect } = usePpc() - const { is_row } = useRegion() - - const links = useVisibleContent({ - content: data.links, - config: { is_ppc, is_ppc_redirect, is_row }, - }) - - return ( - - - - - {links.map((linkItem) => ( - - ))} - - ) -} - -export default FooterLinksColumn diff --git a/src/features/components/templates/footer/social-icons/data.ts b/src/features/components/templates/footer/social-icons/data.ts deleted file mode 100644 index 128c642262c..00000000000 --- a/src/features/components/templates/footer/social-icons/data.ts +++ /dev/null @@ -1,353 +0,0 @@ -import Telegram from 'images/svg/footer/telegram_icon.svg' -import Twitter from 'images/svg/footer/twitter_icon.svg' -import Youtube from 'images/svg/footer/youtube_icon.svg' -import Instagram from 'images/svg/footer/instagram_icon.svg' -import Facebook from 'images/svg/footer/facebook_icon.svg' -import Linkedin from 'images/svg/footer/linkedin_icon.svg' -import { TSmartContent, TString } from 'types/generics' -import { LinkUrlType } from 'features/types' - -export type SocialMediaAccount = { - url: ((config: Config) => LinkUrlType) | LinkUrlType - icon: string - image_alt?: TString -} - -export type Config = { - is_eu?: boolean - is_career_page?: boolean - is_ar?: boolean - is_es?: boolean -} - -export type SmartSocialAccount = TSmartContent - -export const socialMediaAccounts: SmartSocialAccount[] = [ - { - id: 0, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - target: '_blank', - href: 'https://www.facebook.com/derivespanol', - } - } else if (is_ar) { - return { - type: 'non-company', - target: '_blank', - href: 'https://www.facebook.com/derivarabic', - } - } - return { - type: 'non-company', - target: '_blank', - href: 'https://www.facebook.com/derivdotcom', - } - }, - icon: Facebook, - image_alt: '_t_Facebook_t_', - }, - visibility: { - is_eu: false, - is_career_page: false, - }, - }, - { - id: 1, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.facebook.com/derivespanol', - } - } else if (is_ar) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.facebook.com/derivarabic', - } - } - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.facebook.com/derivEU/', - } - }, - icon: Facebook, - image_alt: '_t_Facebook_t_', - }, - visibility: { - is_eu: true, - is_career_page: false, - }, - }, - { - id: 2, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.facebook.com/derivcareers', - show_eu_modal: true, - }, - icon: Facebook, - image_alt: '_t_Facebook_t_', - }, - visibility: { - is_career_page: true, - }, - }, - { - id: 3, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - target: '_blank', - href: 'https://www.instagram.com/deriv_espanol/', - } - } else if (is_ar) { - return { - type: 'non-company', - target: '_blank', - href: 'https://www.instagram.com/deriv_ar/', - } - } - return { - type: 'non-company', - target: '_blank', - href: 'https://www.instagram.com/deriv_official/', - } - }, - icon: Instagram, - image_alt: '_t_Instagram_t_', - }, - visibility: { - is_eu: false, - is_career_page: false, - }, - }, - { - id: 4, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.instagram.com/deriv_espanol/', - } - } else if (is_ar) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.instagram.com/deriv_ar/', - } - } - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.instagram.com/deriv_eu/', - } - }, - icon: Instagram, - image_alt: '_t_Instagram_t_', - }, - visibility: { - is_career_page: false, - is_eu: true, - }, - }, - { - id: 5, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.instagram.com/derivcareers/', - show_eu_modal: true, - }, - icon: Instagram, - image_alt: '_t_Instagram_t_', - }, - visibility: { - is_career_page: true, - }, - }, - { - id: 6, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - target: '_blank', - href: 'https://twitter.com/DerivEspanol', - } - } else if (is_ar) { - return { - type: 'non-company', - target: '_blank', - href: 'https://twitter.com/DerivArabic', - } - } - return { - type: 'non-company', - target: '_blank', - href: 'https://twitter.com/derivdotcom/', - } - }, - icon: Twitter, - image_alt: '_t_Twitter_t_', - }, - visibility: { - is_career_page: false, - is_eu: false, - }, - }, - { - id: 7, - data: { - url: ({ is_ar, is_es }) => { - if (is_es) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://twitter.com/DerivEspanol', - } - } else if (is_ar) { - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://twitter.com/DerivArabic', - } - } - return { - type: 'non-company', - show_eu_modal: true, - target: '_blank', - href: 'https://www.twitter.com/deriv_eu/', - } - }, - icon: Twitter, - image_alt: '_t_Twitter_t_', - }, - visibility: { - is_career_page: false, - is_eu: true, - }, - }, - { - id: 8, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.youtube.com/@deriv', - }, - icon: Youtube, - image_alt: '_t_Youtube_t_', - }, - visibility: { - is_career_page: false, - is_eu: false, - }, - }, - { - id: 9, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.youtube.com/@deriv', - show_eu_modal: true, - }, - icon: Youtube, - image_alt: '_t_Youtube_t_', - }, - visibility: { - is_career_page: false, - is_eu: true, - }, - }, - { - id: 10, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.linkedin.com/company/derivdotcom/', - }, - icon: Linkedin, - image_alt: '_t_Linkedin_t_', - }, - visibility: { - is_career_page: false, - is_eu: false, - }, - }, - { - id: 11, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.linkedin.com/company/derivdotcom/', - show_eu_modal: true, - }, - icon: Linkedin, - image_alt: '_t_Linkedin_t_', - }, - visibility: { - is_career_page: false, - is_eu: true, - }, - }, - { - id: 12, - data: { - url: { - type: 'non-company', - target: '_blank', - href: 'https://www.linkedin.com/company/derivdotcom/life/', - show_eu_modal: true, - }, - icon: Linkedin, - image_alt: '_t_Linkedin_t_', - }, - visibility: { - is_career_page: true, - }, - }, - //temp removal of telegram : Start - // { - // id: 13, - // data: { - // url: { - // type: 'non-company', - // target: '_blank', - // href: 'https://t.me/derivdotcomofficial', - // }, - // icon: Telegram, - // image_alt: '_t_Telegram_t_', - // }, - // visibility: { - // is_eu: false, - // is_career_page: false, - // }, - // }, - //temp removal of telegram : End -] diff --git a/src/features/components/templates/footer/social-icons/index.tsx b/src/features/components/templates/footer/social-icons/index.tsx deleted file mode 100644 index 2d2b33dfd2e..00000000000 --- a/src/features/components/templates/footer/social-icons/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React, { useEffect, useState } from 'react' -import { useTranslation } from 'react-i18next' -import { socialMediaAccounts } from './data' -import Flex from 'features/components/atoms/flex-box' -import { getLocationPathname } from 'common/utility' -import Image from 'features/components/atoms/image' -import Link from 'features/components/atoms/link' -import useVisibleContent from 'components/hooks/use-visible-content' -import useRegion from 'components/hooks/use-region' - -const FooterSocialIcons = () => { - const [is_career, setIsCareer] = useState(false) - const { is_eu } = useRegion() - const { i18n } = useTranslation() - const { language } = i18n - - useEffect(() => { - const current_path = getLocationPathname() - const splitted_path = current_path.split('/') - const is_career_page = splitted_path.includes('careers') - setIsCareer(is_career_page) - }, []) - - const config = { - is_career_page: is_career, - is_eu, - is_ar: language === 'ar', - is_es: language === 'es', - } - - const icons = useVisibleContent({ - content: socialMediaAccounts, - config, - }) - - return ( - - {icons.map(({ data, id }) => { - const iconUrl = typeof data.url === 'function' ? data.url(config) : data.url - return ( - - {data.image_alt} - - ) - })} - - ) -} - -export default FooterSocialIcons diff --git a/src/features/components/templates/footer/types.ts b/src/features/components/templates/footer/types.ts deleted file mode 100644 index c68420548a4..00000000000 --- a/src/features/components/templates/footer/types.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { LinkUrlType } from 'features/types' -import { TSmartContent, TString } from 'types/generics' - -export interface FooterLinkConfig { - is_ppc: boolean - is_ppc_redirect: boolean - is_row: boolean -} - -export interface FooterLink { - text: TString - url: LinkUrlType | ((config: Partial) => LinkUrlType) -} - -export type SmartFooterLink = TSmartContent - -export interface FooterLinkColumn { - title: TString - links: SmartFooterLink[] -} - -export type SmartFooterLinkColumn = TSmartContent diff --git a/src/features/components/templates/hero-banners/trade/trade-hero.module.scss b/src/features/components/templates/hero-banners/trade/trade-hero.module.scss index cc5335ec88b..23c0142e4a7 100644 --- a/src/features/components/templates/hero-banners/trade/trade-hero.module.scss +++ b/src/features/components/templates/hero-banners/trade/trade-hero.module.scss @@ -3,7 +3,7 @@ .trade_hero { position: relative; - padding-block-start: 8rem; + padding-block-start: 9rem; direction: ltr; @include breakpoints(tablet) { diff --git a/src/features/components/templates/layout/data.ts b/src/features/components/templates/layout/data.ts new file mode 100644 index 00000000000..01966ba5b6d --- /dev/null +++ b/src/features/components/templates/layout/data.ts @@ -0,0 +1,106 @@ +import { LangItems } from '@deriv-com/providers' + +export const langItemsROW: LangItems = { + en: { + isDefault: true, + path: 'en', + displayName: 'English', + shortName: 'EN', + affiliateLang: 0, + }, + es: { + path: 'es', + displayName: 'Español', + shortName: 'ES', + affiliateLang: 8, + }, + fr: { + path: 'fr', + displayName: 'Français', + shortName: 'FR', + affiliateLang: 2, + }, + it: { + path: 'it', + displayName: 'Italiano', + shortName: 'IT', + affiliateLang: 3, + }, + pl: { + path: 'pl', + displayName: 'Polski', + shortName: 'PL', + affiliateLang: 5, + }, + pt: { + path: 'pt', + displayName: 'Português', + shortName: 'PT', + affiliateLang: 9, + }, + ru: { + path: 'ru', + displayName: 'Русский', + shortName: 'RU', + affiliateLang: 1, + }, + th: { + path: 'th', + displayName: 'Thai', + shortName: 'TH', + affiliateLang: 12, + }, + vi: { + path: 'vi', + displayName: 'Tiếng Việt', + shortName: 'VI', + affiliateLang: 6, + }, + tr: { + path: 'tr', + displayName: 'Türkçe', + shortName: 'TR', + affiliateLang: 14, + }, + zhcn: { + path: 'zh-cn', + displayName: '简体中文', + shortName: '简体', + affiliateLang: 10, + }, + zhtw: { + path: 'zh-tw', + displayName: '繁體中文', + shortName: '繁體', + affiliateLang: 11, + }, + bn: { + path: 'bn', + displayName: 'বাংলা', + shortName: 'BN', + affiliateLang: 15, + }, + ar: { + path: 'ar', + displayName: 'العربية', + shortName: 'AR', + }, + ko: { + path: 'ko', + displayName: '한국어', + shortName: 'KO', + affiliateLang: 16, + }, + de: { + path: 'de', + displayName: 'Deutsch', + shortName: 'DE', + affiliateLang: 16, + }, + si: { + path: 'si', + displayName: 'සිංහල', + shortName: 'SI', + affiliateLang: 17, + }, +} diff --git a/src/features/components/templates/layout/index.tsx b/src/features/components/templates/layout/index.tsx index 7174a2d83fa..3e481ef83f1 100644 --- a/src/features/components/templates/layout/index.tsx +++ b/src/features/components/templates/layout/index.tsx @@ -1,5 +1,8 @@ -import React, { ReactNode } from 'react' +/* eslint-disable @typescript-eslint/ban-ts-comment */ +import React, { ReactNode, useCallback } from 'react' +import { LanguageProvider, SharedLinkProvider } from '@deriv-com/providers' import { main_wrapper } from './style.module.scss' +import { langItemsROW } from './data' import { usePlatformQueryParam } from 'components/hooks/use-platform-query-param' import PpcProvider from 'features/contexts/ppc-campaign/ppc.provider' import { getLanguage, isBrowser } from 'common/utility' @@ -8,6 +11,10 @@ import BrowserUpdateAlert from 'features/components/molecules/browser-update-ale import apiManager from 'common/websocket' import 'swiper/swiper-bundle.min.css' import 'features/styles/app.scss' +import { useLangDirection } from 'components/hooks/use-lang-direction' +import { LocaleContext } from 'components/localization' +import useLangSwitcher from 'features/components/molecules/language-switcher/useLangSwitcher' +import GatsbySharedLink from 'features/components/quill/shared-link' interface LayoutProps { is_ppc?: boolean is_ppc_redirect?: boolean @@ -28,17 +35,46 @@ const Layout = ({ }: LayoutProps) => { const { has_platform } = usePlatformQueryParam() + const lang_direction = useLangDirection() + const { locale } = React.useContext(LocaleContext) + const formatted_lang = locale.replace('_', '-') + + React.useEffect(() => { + document.body.dir = lang_direction + document.documentElement.lang = formatted_lang + }, [lang_direction, formatted_lang]) + + //need to update the language data and type + //here using langauge data from `i18n-config.js` + const { onSwitchLanguage, currentLang } = useLangSwitcher() + const activeLang = langItemsROW[currentLang.path.replace('-', '')] + + const onLanguageChange = useCallback( + (event) => { + onSwitchLanguage(`/${event.path}/`) + }, + [onSwitchLanguage], + ) + //Handle page layout when redirection from mobile app. if (has_platform) { return <>{children} } return ( - -
{children}
- - {!hide_layout_overlay && } -
+ + + +
{children}
+ + {!hide_layout_overlay && } +
+
+
) } diff --git a/src/features/components/templates/navigation/affiliates-nav/index.tsx b/src/features/components/templates/navigation/affiliates-nav/index.tsx index 178a3039e39..73eda7ef687 100644 --- a/src/features/components/templates/navigation/affiliates-nav/index.tsx +++ b/src/features/components/templates/navigation/affiliates-nav/index.tsx @@ -1,9 +1,9 @@ import React from 'react' +import { partners_nav_logo } from './nav.module.scss' import Link from 'features/components/atoms/link' import Image from 'features/components/atoms/image' import NavTemplate from 'features/components/templates/navigation/template' import LanguageSwitcher from 'features/components/molecules/language-switcher' -import { partners_nav_logo } from 'features/components/templates/navigation/payment-agent-nav/payment-agent-nav.module.scss' import PartnerNavLogo from 'images/svg/partner-nav-logo.svg' const AffiliateNav = () => { diff --git a/src/features/components/templates/navigation/payment-agent-nav/payment-agent-nav.module.scss b/src/features/components/templates/navigation/affiliates-nav/nav.module.scss similarity index 74% rename from src/features/components/templates/navigation/payment-agent-nav/payment-agent-nav.module.scss rename to src/features/components/templates/navigation/affiliates-nav/nav.module.scss index 4e57b7afe32..50c03c72a18 100644 --- a/src/features/components/templates/navigation/payment-agent-nav/payment-agent-nav.module.scss +++ b/src/features/components/templates/navigation/affiliates-nav/nav.module.scss @@ -3,12 +3,9 @@ .partners_nav_logo { inline-size: 12rem; block-size: 2rem; + @include breakpoints(tablet) { inline-size: 19rem; block-size: 3.2rem; } -} - -html:not([lang='en']) .partners_buttons { - max-inline-size: 17rem; -} +} \ No newline at end of file diff --git a/src/features/components/templates/navigation/career-nav/career-nav.module.scss b/src/features/components/templates/navigation/career-nav/career-nav.module.scss deleted file mode 100644 index 113e22678ec..00000000000 --- a/src/features/components/templates/navigation/career-nav/career-nav.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -@use 'features/styles/theme/theme-mixins' as *; - -.careers_nav_logo { - inline-size: 10.5rem; - block-size: 1.6rem; - - @include breakpoints(tablet) { - inline-size: 19rem; - block-size: 3.2rem; - } -} diff --git a/src/features/components/templates/navigation/career-nav/data.tsx b/src/features/components/templates/navigation/career-nav/data.tsx index f4b3c6d204d..df2e09146d5 100644 --- a/src/features/components/templates/navigation/career-nav/data.tsx +++ b/src/features/components/templates/navigation/career-nav/data.tsx @@ -1,28 +1,20 @@ -import { NavItems } from '../types' +import React from 'react' +import { NavLinkItems } from '@deriv-com/providers' +import { Localize } from 'components/localization' -const career_nav_items: NavItems = [ - { +export const career_nav_items: NavLinkItems = { + home: { id: 0, - data: { - type: 'single-item', - title: '_t_Home_t_', - content: { - type: 'internal', - to: '/careers/', - }, - }, + type: 'direct', + href: '/careers', + text: , }, - { + trade: { id: 1, - data: { - type: 'single-item', - title: '_t_Locations_t_', - content: { - type: 'internal', - to: '/careers/locations/', - }, - }, + type: 'direct', + href: '/careers/locations', + text: , }, -] +} export default career_nav_items diff --git a/src/features/components/templates/navigation/career-nav/index.tsx b/src/features/components/templates/navigation/career-nav/index.tsx index 1665cab0b1a..28bd6e4a528 100644 --- a/src/features/components/templates/navigation/career-nav/index.tsx +++ b/src/features/components/templates/navigation/career-nav/index.tsx @@ -1,48 +1,50 @@ import React from 'react' -import NavTemplate from '../template' -import career_nav_items from './data' -import { careers_nav_logo } from './career-nav.module.scss' -import Image from 'features/components/atoms/image' -import CareerNavLogo from 'images/svg/career-nav-icon.svg' -import Button from 'features/components/atoms/button' -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 { localize } from 'components/localization' +import { MobileNavToggle, NavigationBlock } from '@deriv-com/blocks' +// eslint-disable-next-line import/no-unresolved +import { SubBrandDerivCareersBrandLightIcon } from '@deriv/quill-icons/Logo' +import { CustomLink } from '@deriv-com/components' +import { Button } from '@deriv/quill-design' +import TopNavigation from '../partners-nav/top-navigation' +import { career_nav_items } from './data' +import { Localize } from 'components/localization' + +const CareersButtons = () => { + return ( +
+ + + +
+ ) +} const CareerNav = () => { return ( - ( - - {localize('_t_Deriv - + + + )} items={career_nav_items} - has_centered_items - > - - - window.open('https://deriv.zohorecruit.eu/jobs/Careers', '_blank') - } - > - - - - + hasLanguageSwitch={false} + /> ) } diff --git a/src/features/components/templates/navigation/main-nav/content/about/index.ts b/src/features/components/templates/navigation/main-nav/content/about/index.ts deleted file mode 100644 index 15537f4485d..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/about/index.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { SmartNavContent } from '../../../types' - -export const aboutUsNavSectionContent: SmartNavContent[] = [ - { - id: 0, - data: { - title: '_t_Who we are_t_', - url: { type: 'internal', to: '/who-we-are/' }, - }, - }, - { - id: 1, - data: { - title: '_t_Regulatory information_t_', - url: { type: 'internal', to: '/regulatory/' }, - }, - }, - { - id: 2, - data: { - title: '_t_Why choose us_t_', - url: { type: 'internal', to: '/why-choose-us/' }, - }, - }, - { - id: 3, - data: { - title: '_t_Partnership programmes_t_', - url: { type: 'internal', to: '/partners/' }, - }, - }, - { - id: 4, - data: { - title: '_t_Contact us_t_', - url: { type: 'internal', to: '/contact_us/' }, - }, - }, - { - id: 5, - data: { - title: '_t_Careers_t_', - url: { type: 'internal', to: '/careers/' }, - }, - }, - { - id: 6, - data: { - url: { type: 'company', url_name: 'derivlife', target: '_blank' }, - title: '_t_Deriv life_t_', - }, - }, -] - -export const aboutUsNavSectionContentMobile: SmartNavContent[] = [ - { - id: 0, - data: { - title: '_t_Who we are_t_', - url: { type: 'internal', to: '/who-we-are/' }, - }, - }, - { - id: 2, - data: { - title: '_t_Why choose us_t_', - url: { type: 'internal', to: '/why-choose-us/' }, - }, - }, - { - id: 3, - data: { - title: '_t_Partnership programmes_t_', - url: { type: 'internal', to: '/partners/' }, - }, - }, - { - id: 4, - data: { - title: '_t_Contact us_t_', - url: { type: 'internal', to: '/contact_us/' }, - }, - }, - { - id: 5, - data: { - title: '_t_Careers_t_', - url: { type: 'internal', to: '/careers/' }, - }, - }, - { - id: 6, - data: { - url: { type: 'company', url_name: 'derivlife', target: '_blank' }, - title: '_t_Deriv life_t_', - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/content/index.ts b/src/features/components/templates/navigation/main-nav/content/index.ts deleted file mode 100644 index 1afd9659e02..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/index.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { NavItems } from '../../types' -import { aboutUsNavSectionContent, aboutUsNavSectionContentMobile } from './about' -import { legalNavSectionContent } from './legal' -import { marketSectionContent } from './market' -import { partnerNavSectionContent } from './partner' -import { trade_nav_section_items } from './platform' -import { resourcesNavSectionContent } from './resources/data' - -export const mainItems: NavItems = [ - { - id: 0, - data: { - title: '_t_Trade_t_', - type: 'multi-column', - content: trade_nav_section_items, - }, - }, - { - id: 1, - data: { - title: '_t_Markets_t_', - type: 'multi-column', - content: marketSectionContent, - }, - }, - { - id: 2, - data: { - title: '_t_About us_t_', - type: 'single-column', - content: aboutUsNavSectionContent, - }, - visibility: { - is_mobile: false, - }, - }, - { - id: 22, - data: { - title: '_t_About us_t_', - type: 'single-column', - content: aboutUsNavSectionContentMobile, - }, - visibility: { - is_mobile: true, - }, - }, - - { - id: 3, - data: { - title: '_t_Resources_t_', - type: 'single-column', - content: resourcesNavSectionContent, - }, - }, - { - id: 4, - data: { - title: '_t_Legal_t_', - type: 'single-column', - content: legalNavSectionContent, - }, - visibility: { - is_mobile: true, - }, - }, - { - id: 5, - data: { - title: '_t_Partners_t_', - type: 'single-column', - content: partnerNavSectionContent, - }, - visibility: { - is_mobile: true, - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/content/legal/index.ts b/src/features/components/templates/navigation/main-nav/content/legal/index.ts deleted file mode 100644 index f662c5088bf..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/legal/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { SmartNavContent } from '../../../types' - -export const legalNavSectionContent: SmartNavContent[] = [ - { - id: 0, - data: { - title: '_t_Regulatory information_t_', - url: { type: 'internal', to: '/regulatory/' }, - }, - }, - { - id: 1, - data: { - title: '_t_Terms and conditions_t_', - url: { type: 'internal', to: '/terms-and-conditions/#clients' }, - }, - }, - { - id: 2, - data: { - title: '_t_Secure and responsible trading_t_', - url: { type: 'internal', to: '/responsible/' }, - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/content/market/index.ts b/src/features/components/templates/navigation/main-nav/content/market/index.ts deleted file mode 100644 index fc10176bfd4..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/market/index.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { SmartNavSectionColumns } from '../../../types' -import Commodities from 'images/svg/custom/rebranding/commodities-icon.svg' -import Cryptocurrencies from 'images/svg/custom/rebranding/cryptocurrencies-icon.svg' -import DerivedFX from 'images/svg/custom/rebranding/derived-fx-icon.svg' -import Forex from 'images/svg/custom/rebranding/forex-icon.svg' -import ETF from 'images/svg/custom/rebranding/etf-icon.svg' -import StockIndices from 'images/svg/custom/rebranding/stock-indices-icon.svg' - -export const marketSectionContent: SmartNavSectionColumns[] = [ - { - id: 0, - data: { - section: [ - { - id: 0, - data: { - aria_label: 'Forex', - icon: { - src: Forex, - alt: 'Forex', - }, - content: - '_t_Trade the world’s largest financial market with popular forex pairs._t_', - title: '_t_Forex_t_', - url: { type: 'internal', to: '/markets/forex/' }, - }, - }, - { - id: 1, - data: { - aria_label: 'Derived indices', - icon: { - src: DerivedFX, - alt: 'Synthetic indices', - }, - content: ({ is_eu }) => { - return is_eu - ? '_t_Enjoy trading asset prices derived from simulated markets._t_' - : '_t_Enjoy trading asset prices derived from real-world or simulated markets._t_' - }, - title: '_t_Derived indices_t_', - url: { type: 'internal', to: '/markets/synthetic/' }, - }, - }, - { - id: 2, - data: { - aria_label: 'Stocks & indices', - icon: { - src: StockIndices, - alt: 'Stocks & indices', - }, - content: - '_t_Predict broader market trends and diversify your risk with stocks & indices._t_', - title: '_t_Stocks & indices_t_', - url: { type: 'internal', to: '/markets/stock/' }, - }, - }, - ], - no_divider: true, - no_title: true, - }, - }, - { - id: 1, - data: { - section: [ - { - id: 3, - data: { - aria_label: 'Commodities', - icon: { - src: Commodities, - alt: 'Commodities', - }, - content: - "_t_Trade natural resources that are central to the world's economy._t_", - title: '_t_Commodities_t_', - url: { type: 'internal', to: '/markets/commodities/' }, - }, - }, - { - id: 4, - data: { - aria_label: 'Cryptocurrencies', - icon: { - src: Cryptocurrencies, - alt: 'Cryptocurrencies', - }, - content: - '_t_Trade with leverage on the price movement of popular crypto-fiat pairs._t_', - title: '_t_Cryptocurrencies_t_', - url: { type: 'internal', to: '/markets/cryptocurrencies/' }, - }, - }, - { - id: 3, - data: { - aria_label: 'Exchange-traded funds (ETFs)', - icon: { - src: ETF, - alt: 'Exchange-traded funds (ETFs)', - }, - content: - '_t_Diversify your portfolio and enjoy low-cost intraday trading with ETFs._t_', - title: '_t_Exchange-traded funds (ETFs)_t_', - url: { type: 'internal', to: '/markets/exchange-traded-funds/' }, - }, - }, - ], - no_divider: true, - no_title: true, - }, - }, -] 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 deleted file mode 100644 index 82d568a130e..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/partner/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -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/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - title: '_t_Affiliates_t_', - url: { type: 'internal', to: '/partners/affiliate-ib/' }, - }, - visibility: { - is_eu: true, - }, - }, - { - id: 3, - data: { - title: '_t_Payment agents_t_', - url: { type: 'internal', to: '/partners/payment-agent/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 4, - data: { - title: '_t_API_t_', - url: { type: 'company', url_name: 'api', target: '_blank' }, - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/content/platform/index.ts b/src/features/components/templates/navigation/main-nav/content/platform/index.ts deleted file mode 100644 index 04e7a333b4a..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/platform/index.ts +++ /dev/null @@ -1,266 +0,0 @@ -import { SmartNavContent, SmartNavSectionColumns } from '../../../types' -import DerivcTrader from 'images/svg/custom/rebranding/deriv-ctrader-icon.svg' -import BinaryBot from 'images/svg/custom/rebranding/binarybot-icon.svg' -import DerivX from 'images/svg/custom/rebranding/deriv-x-icon.svg' -import CFD from 'images/svg/custom/rebranding/cfds-icon.svg' -import Multipliers from 'images/svg/custom/rebranding/multipliers-icon.svg' -import Options from 'images/svg/custom/rebranding/options-icon.svg' -import Smarttrader from 'images/svg/custom/rebranding/smarttrader-icon.svg' -import DerivGo from 'images/svg/custom/rebranding/deriv-go-icon.svg' -import DMT5 from 'images/svg/custom/rebranding/dmt5-icon.svg' -import DTrader from 'images/svg/custom/rebranding/dtrader-icon.svg' -import DerivBot from 'images/svg/custom/rebranding/deriv-bot-icon.svg' - -export const tradeTypesContent: SmartNavContent[] = [ - { - id: 0, - data: { - aria_label: 'Deriv Trader', - icon: { - src: DTrader, - alt: 'Dtrader trading platform', - }, - content: '_t_A whole new trading experience on a powerful yet easy to use platform._t_', - title: '_t_Deriv Trader_t_', - url: { type: 'internal', to: '/dtrader/' }, - }, - visibility: { - is_eu: true, - is_ppc: false, - is_row: true, - }, - }, - { - id: 1, - data: { - aria_label: 'CFDs', - icon: { - src: CFD, - alt: 'CFDs trade type', - }, - content: - '_t_Trade with leverage and tight spreads for better returns on successful trades._t_', - title: '_t_CFDs_t_', - url: { type: 'internal', to: '/trade-types/cfds/' }, - }, - visibility: { - is_ppc: false, - }, - }, - { - id: 2, - data: { - aria_label: 'Options', - icon: { - src: Options, - alt: 'Options trade type', - }, - content: '_t_Earn a range of payouts without risking more than your initial stake._t_', - title: '_t_Options_t_', - url: { type: 'internal', to: '/trade-types/options/digital-options/up-and-down/' }, - }, - visibility: { - is_ppc: false, - is_row: true, - }, - }, - { - id: 3, - data: { - aria_label: 'Multipliers', - icon: { - src: Multipliers, - alt: 'Multipliers trade type', - }, - content: - '_t_Get the upside of CFDs without the downside of losing more than your stake._t_', - title: '_t_Multipliers_t_', - url: { type: 'internal', to: '/trade-types/multiplier/' }, - }, - visibility: { - is_ppc: false, - }, - }, -] - -export const tradingPlatformsContent: SmartNavContent[] = [ - { - id: 0, - data: { - aria_label: 'Deriv MT5', - icon: { - src: DMT5, - alt: 'Deriv MT5 trading platform', - }, - content: '_t_Trade on Deriv MT5, the all-in-one CFD trading platform._t_', - title: '_t_Deriv MT5_t_', - url: ({ is_ppc_redirect }) => ({ - type: 'internal', - to: is_ppc_redirect ? '/landing/dmt5/' : '/dmt5/', - }), - }, - visibility: {}, - }, - { - id: 1, - data: { - aria_label: 'Derivx', - icon: { - src: DerivX, - alt: 'Deriv X trading paltform', - }, - content: '_t_A highly customisable and easy-to-use CFD trading platform._t_', - title: '_t_Deriv X_t_', - url: { type: 'internal', to: '/derivx/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - aria_label: 'SmartTrader', - icon: { - src: Smarttrader, - alt: 'SmartTrader trading platform', - }, - content: '_t_Trade the world’s markets with our popular user-friendly platform._t_', - title: '_t_SmartTrader_t_', - url: { type: 'company', url_name: 'smart_trader', target: '_blank' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 3, - data: { - aria_label: 'Deriv Trader', - icon: { - src: DTrader, - alt: 'Deriv trader trading platform', - }, - content: '_t_A whole new trading experience on a powerful yet easy to use platform._t_', - title: '_t_Deriv Trader_t_', - url: { type: 'internal', to: '/dtrader/' }, - }, - visibility: { - is_eu: true, - }, - }, - { - id: 4, - data: { - aria_label: 'Deriv cTrader', - icon: { - src: DerivcTrader, - alt: 'Deriv cTrader trading platform', - }, - content: - '_t_An intuitive, multi-asset CFD trading platform with copy trading and custom indicators._t_', - title: '_t_Deriv cTrader_t_', - url: { type: 'internal', to: '/deriv-ctrader/' }, - }, - visibility: { - is_row: true, - }, - }, -] - -export const noTitleSection: SmartNavContent[] = [ - { - id: 0, - data: { - aria_label: 'Dtrader', - icon: { - src: DTrader, - alt: 'Dtrader trading platform', - }, - content: '_t_A whole new trading experience on a powerful yet easy to use platform._t_', - title: '_t_Deriv Trader_t_', - url: { type: 'internal', to: '/dtrader/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 1, - data: { - aria_label: 'Deriv GO', - icon: { - src: DerivGo, - alt: 'Deriv GO mobile trading app', - }, - content: - '_t_Trade multipliers on forex, cryptocurrencies, and synthetic indices with our mobile app._t_', - title: '_t_Deriv GO_t_', - - url: { type: 'internal', to: '/deriv-go/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - aria_label: 'Deriv Bot', - icon: { - src: DerivBot, - alt: 'Deriv Bot Automated trading', - }, - content: '_t_Automated trading at your fingertips. No coding needed._t_', - title: '_t_Deriv Bot_t_', - - url: { type: 'internal', to: '/dbot/' }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 3, - data: { - aria_label: 'Binary Bot', - icon: { - src: BinaryBot, - alt: 'Binary bot for creating trading bot', - }, - content: - '_t_Our classic "drag-and-drop" tool for creating trading bots, featuring pop-up trading charts, for advanced users._t_', - title: '_t_Binary Bot_t_', - url: { type: 'company', url_name: 'binary_bot', target: '_blank' }, - }, - visibility: { - is_row: true, - }, - }, -] - -export const trade_nav_section_items: SmartNavSectionColumns[] = [ - { - id: 0, - data: { - title: '_t_Trade types_t_', - section: tradeTypesContent, - }, - }, - { - id: 1, - data: { - title: '_t_Trading platforms_t_', - section: tradingPlatformsContent, - }, - }, - { - id: 3, - data: { - section: noTitleSection, - }, - visibility: { - is_row: true, - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/content/resources/data.ts b/src/features/components/templates/navigation/main-nav/content/resources/data.ts deleted file mode 100644 index b95809d063b..00000000000 --- a/src/features/components/templates/navigation/main-nav/content/resources/data.ts +++ /dev/null @@ -1,56 +0,0 @@ -import { SmartNavContent } from '../../../types' - -export const resourcesNavSectionContent: SmartNavContent[] = [ - { - id: 0, - data: { - title: '_t_Help centre_t_', - url: { type: 'internal', to: '/help-centre/' }, - }, - }, - { - id: 1, - data: { - title: '_t_Community_t_', - url: { type: 'company', url_name: 'community', target: '_blank' }, - }, - }, - { - id: 2, - data: { - title: '_t_Traders’ tools_t_', - url: { type: 'internal', to: '/trader-tools/' }, - }, - }, - { - id: 3, - data: { - title: '_t_Payment methods_t_', - url: { type: 'internal', to: '/payment-methods/' }, - }, - }, - { - id: 4, - data: { - title: '_t_Deriv MT5 Signals_t_', - url: { type: 'internal', to: '/dmt5-trading-signals/#signal-subscriber/' }, - }, - }, - { - id: 5, - data: { - title: '_t_Status page_t_', - url: { type: 'non-company', href: 'https://deriv.statuspage.io', show_eu_modal: true }, - }, - visibility: { - is_mobile: true, - }, - }, - { - id: 6, - data: { - title: '_t_Deriv Blog_t_', - url: { type: 'company', url_name: 'blog', target: '_blank' }, - }, - }, -] diff --git a/src/features/components/templates/navigation/main-nav/data.tsx b/src/features/components/templates/navigation/main-nav/data.tsx new file mode 100644 index 00000000000..0fb0ee3727c --- /dev/null +++ b/src/features/components/templates/navigation/main-nav/data.tsx @@ -0,0 +1,821 @@ +import React from 'react' +import { NavLinkItems } from '@deriv-com/providers' +import { + IllustrativeCfdsIcon, + IllustrativeDerivedIcon, + IllustrativeMultipliersIcon, + IllustrativeOptionsIcon, + IllustrativeForexIcon, + IllustrativeStocksAndIndicesIcon, + IllustrativeCommoditiesIcon, + IllustrativeCryptocurrenciesIcon, + IllustrativeEtfIcon, + // eslint-disable-next-line import/no-unresolved +} from '@deriv/quill-icons/Illustrative' +import { + DerivProductDerivBotBrandDarkLogoHorizontalIcon, + DerivProductDerivGoBrandDarkLogoHorizontalIcon, + DerivProductDerivTraderBrandDarkLogoHorizontalIcon, + DerivProductDerivXBrandDarkLogoIcon, + PartnersProductDerivCtraderBrandDarkLogoHorizontalIcon, + PartnersProductDerivMt5BrandDarkLogoHorizontalIcon, + PartnersProductSmarttraderBrandDarkLogoIcon, + PartnersProductBinaryBotBrandDarkLogoHorizontalIcon, + // eslint-disable-next-line import/no-unresolved +} from '@deriv/quill-icons/Logo' +import { Localize } from 'components/localization' + +export const mainRowNavItems: NavLinkItems = { + trade: { + id: 0, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + header: { + text: , + type: 'text', + }, + items: [ + { + id: 0, + href: '/trade-types/cfds', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 1, + href: '/trade-types/options', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/trade-types/multiplier', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + { + id: 1, + header: { + text: , + type: 'text', + }, + items: [ + { + id: 0, + href: '/dmt5', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 1, + href: '/derivx', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/deriv-ctrader', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 3, + href: 'https://smarttrader.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + target: '_blank', + }, + ], + }, + { + id: 2, + header: { + text: null, + type: 'text', + }, + items: [ + { + id: 0, + href: '/dtrader', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 1, + href: '/deriv-go', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 2, + href: '/dbot', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 3, + href: 'https://bot.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + target: '_blank', + }, + ], + }, + ], + }, + markets: { + id: 1, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/markets/forex', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 1, + href: '/markets/synthetic', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/markets/stock', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/markets/commodities', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 1, + href: '/markets/cryptocurrencies', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/markets/exchange-traded-funds', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + ], + }, + 'about-us': { + id: 2, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/who-we-are', + text: , + type: 'direct', + }, + { + id: 1, + href: '/regulatory', + text: , + type: 'direct', + isDesktopNavOnly: true, + }, + { + id: 2, + href: '/why-choose-us', + text: , + type: 'direct', + }, + { + id: 3, + href: '/partners', + text: , + type: 'direct', + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/contact_us', + text: , + type: 'direct', + }, + { + id: 1, + href: '/careers', + text: , + type: 'direct', + }, + { + id: 2, + href: 'https://derivlife.com', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + ], + }, + ], + }, + resources: { + id: 3, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/help-centre', + text: , + type: 'direct', + }, + { + id: 1, + href: 'https://community.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + { + id: 2, + href: '/trader-tools', + text: , + type: 'direct', + }, + { + id: 3, + href: '/payment-methods', + text: , + type: 'direct', + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/dmt5-trading-signals', + text: , + type: 'direct', + }, + { + id: 1, + href: 'https://deriv.statuspage.io/', //need to update target/type in link component + text: , + type: 'direct', + isMobileNavOnly: true, + }, + { + id: 2, + href: 'https://blog.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + ], + }, + ], + }, + legal: { + id: 4, + type: 'nav-dropdown', + text: , + isMobileNavOnly: true, + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/regulatory', + text: , + type: 'direct', + }, + { + id: 1, + href: '/terms-and-conditions', + text: , + type: 'direct', + }, + { + id: 2, + href: '/responsible', + text: , + type: 'direct', + }, + ], + }, + ], + }, + partners: { + id: 5, + type: 'nav-dropdown', + text: , + isMobileNavOnly: true, + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/partners/deriv-prime', + text: , + type: 'direct', + }, + { + id: 1, + href: '/partners/affiliate-ib', + text: , + type: 'direct', + }, + { + id: 2, + href: '/partners/payment-agent', + text: , + type: 'direct', + }, + { + id: 3, + href: 'https://api.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + }, + ], + }, + ], + }, +} + +export const mainEuNavItems: NavLinkItems = { + trade: { + id: 0, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + header: { + text: , + type: 'text', + }, + items: [ + { + id: 0, + href: '/trade-types/cfds', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/trade-types/multiplier', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + { + id: 1, + header: { + text: , + type: 'text', + }, + items: [ + { + id: 0, + href: '/dmt5', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + { + id: 1, + href: '/dtrader', + text: , + type: 'direct', + icon: ( + + ), + description: ( + + ), + }, + ], + }, + ], + }, + markets: { + id: 1, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/markets/forex', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 1, + href: '/markets/synthetic', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/markets/stock', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/markets/commodities', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 1, + href: '/markets/cryptocurrencies', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + { + id: 2, + href: '/markets/exchange-traded-funds', + text: , + type: 'direct', + icon: , + description: ( + + ), + }, + ], + }, + ], + }, + 'about-us': { + id: 2, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/who-we-are', + text: , + type: 'direct', + }, + { + id: 1, + href: '/regulatory', + text: , + type: 'direct', + isDesktopNavOnly: true, + }, + { + id: 2, + href: '/why-choose-us', + text: , + type: 'direct', + }, + { + id: 3, + href: '/partners', + text: , + type: 'direct', + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/contact_us', + text: , + type: 'direct', + }, + { + id: 1, + href: '/careers', + text: , + type: 'direct', + }, + { + id: 2, + href: 'https://derivlife.com', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + ], + }, + ], + }, + resources: { + id: 3, + type: 'nav-dropdown', + text: , + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/help-centre', + text: , + type: 'direct', + }, + { + id: 1, + href: 'https://community.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + { + id: 2, + href: '/trader-tools', + text: , + type: 'direct', + }, + { + id: 3, + href: '/payment-methods', + text: , + type: 'direct', + }, + ], + }, + { + id: 1, + items: [ + { + id: 0, + href: '/dmt5-trading-signals', + text: , + type: 'direct', + }, + { + id: 1, + href: 'https://deriv.statuspage.io/', //need to update target/type in link component + text: , + type: 'direct', + isMobileNavOnly: true, + }, + { + id: 2, + href: 'https://blog.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + external: true, + target: '_blank', + }, + ], + }, + ], + }, + legal: { + id: 4, + type: 'nav-dropdown', + text: , + isMobileNavOnly: true, + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/regulatory', + text: , + type: 'direct', + }, + { + id: 1, + href: '/terms-and-conditions', + text: , + type: 'direct', + }, + { + id: 2, + href: '/responsible', + text: , + type: 'direct', + }, + ], + }, + ], + }, + partners: { + id: 5, + type: 'nav-dropdown', + text: , + isMobileNavOnly: true, + columns: [ + { + id: 0, + items: [ + { + id: 0, + href: '/partners/deriv-prime', + text: , + type: 'direct', + }, + { + id: 1, + href: '/partners/affiliate-ib', + text: , + type: 'direct', + }, + { + id: 3, + href: 'https://api.deriv.com/', //need to update target/type in link component + text: , + type: 'direct', + }, + ], + }, + ], + }, +} diff --git a/src/features/components/templates/navigation/main-nav/index.tsx b/src/features/components/templates/navigation/main-nav/index.tsx index 607aef50b47..b3a8a607c16 100644 --- a/src/features/components/templates/navigation/main-nav/index.tsx +++ b/src/features/components/templates/navigation/main-nav/index.tsx @@ -1,25 +1,19 @@ import React from 'react' -import NavTemplate from '../template' -import MainNavButtons from './main-nav-buttons' -import { main_nav_logo } from './main-nav.module.scss' -import { mainItems } from './content' -import Image from 'features/components/atoms/image' -import LogoImage from 'images/common/rebranding_logo.svg' -import Link from 'features/components/atoms/link' +import { NavigationBlock } from '@deriv-com/blocks' +import MainNavigationButtons from './nav.buttons' +import MainNavigationLogo from './nav.logo' +import { mainEuNavItems, mainRowNavItems } from './data' +import useRegion from 'components/hooks/use-region' -const MainNav = () => { +const MainRowNavigation = () => { + const { is_eu } = useRegion() return ( - ( - - deriv-logo - - )} - items={mainItems} - > - - + ) } -export default MainNav +export default MainRowNavigation diff --git a/src/features/components/templates/navigation/main-nav/main-nav-buttons/index.tsx b/src/features/components/templates/navigation/main-nav/main-nav-buttons/index.tsx deleted file mode 100644 index 325998fb7fd..00000000000 --- a/src/features/components/templates/navigation/main-nav/main-nav-buttons/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import useAuthCheck from 'components/hooks/use-auth-check' -import { Localize } from 'components/localization' -import Button from 'features/components/atoms/button' -import useHandleLogin from 'components/hooks/use-handle-login' -import useHandleSignup from 'components/hooks/use-handle-signup' -import usePpc from 'features/hooks/use-ppc' -import LanguageSwitcher from 'features/components/molecules/language-switcher' -import Flex from 'features/components/atoms/flex-box' -import { handleRedirectToTradersHub } from 'components/custom/utils' - -const MainNavButtons = () => { - const [is_logged_in] = useAuthCheck() - const { is_ppc_redirect } = usePpc() - - const handleLogin = useHandleLogin() - const handleSignup = useHandleSignup(is_ppc_redirect) - - return ( - - {is_logged_in ? ( - - - - ) : ( - <> - - - - - - - - )} - - - ) -} - -export default MainNavButtons diff --git a/src/features/components/templates/navigation/main-nav/main-nav.module.scss b/src/features/components/templates/navigation/main-nav/main-nav.module.scss deleted file mode 100644 index 56061fe826d..00000000000 --- a/src/features/components/templates/navigation/main-nav/main-nav.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -@use 'features/styles/theme/theme-mixins' as *; - -.main_nav_logo { - inline-size: 7rem; - block-size: 2.4rem; - - @include breakpoints(tablet) { - inline-size: 9.6rem; - block-size: 3.6rem; - } -} diff --git a/src/features/components/templates/navigation/main-nav/nav.buttons.tsx b/src/features/components/templates/navigation/main-nav/nav.buttons.tsx new file mode 100644 index 00000000000..eb74b6d7115 --- /dev/null +++ b/src/features/components/templates/navigation/main-nav/nav.buttons.tsx @@ -0,0 +1,48 @@ +import React from 'react' +import { MobileNavToggle } from '@deriv-com/blocks' +import { Button } from '@deriv/quill-design' +// eslint-disable-next-line import/no-unresolved +import { LabelPairedGrid2BoldIcon } from '@deriv/quill-icons/LabelPaired' +import { Localize } from 'components/localization' +import { handleRedirectToTradersHub } from 'components/custom/utils' +import useAuthCheck from 'components/hooks/use-auth-check' +import useHandleLogin from 'components/hooks/use-handle-login' +import useHandleSignup from 'components/hooks/use-handle-signup' +import usePpc from 'features/hooks/use-ppc' + +export const MainNavigationButtons = () => { + const [is_logged_in] = useAuthCheck() + const { is_ppc_redirect } = usePpc() + + const handleLogin = useHandleLogin() + const handleSignup = useHandleSignup(is_ppc_redirect) + + return ( +
+ {is_logged_in ? ( + + ) : ( + <> + + + + )} + +
+ ) +} + +export default MainNavigationButtons diff --git a/src/features/components/templates/navigation/main-nav/nav.logo.tsx b/src/features/components/templates/navigation/main-nav/nav.logo.tsx new file mode 100644 index 00000000000..6ff144566e1 --- /dev/null +++ b/src/features/components/templates/navigation/main-nav/nav.logo.tsx @@ -0,0 +1,14 @@ +import React from 'react' +import { CustomLink } from '@deriv-com/components' +// eslint-disable-next-line import/no-unresolved +import { BrandDerivWordmarkCoralIcon } from '@deriv/quill-icons/Logo' + +export const MainNavigationLogo = () => { + return ( + + + + ) +} + +export default MainNavigationLogo diff --git a/src/features/components/templates/navigation/market-nav/index.tsx b/src/features/components/templates/navigation/market-nav/index.tsx deleted file mode 100644 index ac5f90ef165..00000000000 --- a/src/features/components/templates/navigation/market-nav/index.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React, { useEffect, useState } from 'react' -import { StringParam, useQueryParam } from 'use-query-params' -import NavTemplate from '../template' -import { mainItems } from '../main-nav/content' -import MainNavButtons from '../main-nav/main-nav-buttons' -import MarketBottomNav from '../template/market-bottom-nav' -import { market_nav_logo } from './market-nav.module.scss' -import Image from 'features/components/atoms/image' -import LogoImage from 'images/common/rebranding_logo.svg' -import Link from 'features/components/atoms/link' -import { localize } from 'components/localization' - -const MarketNav = () => { - const [platform] = useQueryParam('platform', StringParam) - const [is_deriv_go, setIsDerivGo] = useState(false) - - useEffect(() => { - setIsDerivGo(platform === 'derivgo') - }, [platform]) - - return ( - <> - {is_deriv_go ? null : ( - } - renderLogo={() => ( - - {localize('_t_deriv-logo_t_')} - - )} - items={mainItems} - > - - - )} - - ) -} - -export default MarketNav diff --git a/src/features/components/templates/navigation/market-nav/market-nav.module.scss b/src/features/components/templates/navigation/market-nav/market-nav.module.scss deleted file mode 100644 index 30cc73afc59..00000000000 --- a/src/features/components/templates/navigation/market-nav/market-nav.module.scss +++ /dev/null @@ -1,11 +0,0 @@ -@use 'features/styles/theme/theme-mixins' as *; - -.market_nav_logo { - inline-size: 7rem; - block-size: 2.4rem; - - @include breakpoints(tablet) { - inline-size: 9.6rem; - block-size: 3.6rem; - } -} diff --git a/src/features/components/templates/navigation/partners-nav/data.tsx b/src/features/components/templates/navigation/partners-nav/data.tsx new file mode 100644 index 00000000000..5b423b719b6 --- /dev/null +++ b/src/features/components/templates/navigation/partners-nav/data.tsx @@ -0,0 +1,52 @@ +import React from 'react' +import { NavLinkItems } from '@deriv-com/providers' +import { Localize } from 'components/localization' +import { deriv_api_url } from 'common/constants' + +export const partnersItems: NavLinkItems = { + trade: { + id: 0, + type: 'direct', + href: '/partners/deriv-prime', + text: , + }, + affiliates: { + id: 1, + href: '/partners/affiliate-ib', + text: , + type: 'direct', + }, + 'payment-agents': { + id: 2, + href: '/partners/payment-agent', + text: , + type: 'direct', + }, + 'deriv-api': { + id: 3, + href: deriv_api_url, + text: , + type: 'direct', + }, +} + +export const partnersEUItems: NavLinkItems = { + trade: { + id: 0, + type: 'direct', + href: '/partners/deriv-prime', + text: , + }, + affiliates: { + id: 1, + href: '/partners/affiliate-ib', + text: , + type: 'direct', + }, + 'deriv-api': { + id: 3, + href: deriv_api_url, + text: , + type: 'direct', + }, +} diff --git a/src/features/components/templates/navigation/partners-nav/index.tsx b/src/features/components/templates/navigation/partners-nav/index.tsx new file mode 100644 index 00000000000..dacfc236968 --- /dev/null +++ b/src/features/components/templates/navigation/partners-nav/index.tsx @@ -0,0 +1,28 @@ +import React from 'react' +import { NavigationBlock } from '@deriv-com/blocks' +// eslint-disable-next-line import/no-unresolved +import { SubBrandDerivPartnersBrandLightIcon } from '@deriv/quill-icons/Logo' +import { CustomLink } from '@deriv-com/components' +import TopNavigation from './top-navigation' +import { partnersItems, partnersEUItems } from './data' +import PartnersNavButtons from './nav.buttons' +import useRegion from 'components/hooks/use-region' + +const PartnersNav = () => { + const { is_eu } = useRegion() + + return ( + ( + + + + )} + items={is_eu ? partnersEUItems : partnersItems} + /> + ) +} + +export default PartnersNav diff --git a/src/features/components/templates/navigation/partners-nav/nav.buttons.tsx b/src/features/components/templates/navigation/partners-nav/nav.buttons.tsx new file mode 100644 index 00000000000..e5e69b0d942 --- /dev/null +++ b/src/features/components/templates/navigation/partners-nav/nav.buttons.tsx @@ -0,0 +1,65 @@ +import React, { useMemo } from 'react' +import { MobileNavToggle } from '@deriv-com/blocks' +import { Button } from '@deriv/quill-design' +import { getLocationPathname } from 'common/utility' +import useRegion from 'components/hooks/use-region' +import { Localize, LocalizedLink } from 'components/localization' +import useAffiliateSignupLink from 'features/hooks/ab-testing/use-partners-signup-link' + +const AffiliateButtons = () => { + const { affiliate_signup_link } = useAffiliateSignupLink() + return ( + <> + + + + ) +} + +const PaymentAgentButtons = () => { + return ( + + + + + ) +} + +const PartnersNavButtons = () => { + const { is_eu } = useRegion() + const path_name = getLocationPathname() + + const affiliate_buttons = useMemo(() => { + return !path_name ? null : path_name.includes('affiliate-ib') ? ( + + ) : path_name.includes('payment-agent') && !is_eu ? ( + + ) : null + }, [is_eu, path_name]) + + return ( +
+ {affiliate_buttons} + +
+ ) +} + +export default PartnersNavButtons diff --git a/src/features/components/templates/navigation/partners-nav/prime-nav.tsx b/src/features/components/templates/navigation/partners-nav/prime-nav.tsx new file mode 100644 index 00000000000..1b3d459a65d --- /dev/null +++ b/src/features/components/templates/navigation/partners-nav/prime-nav.tsx @@ -0,0 +1,54 @@ +import React from 'react' +import { MobileNavToggle, NavigationBlock } from '@deriv-com/blocks' +// eslint-disable-next-line import/no-unresolved +import { SubBrandDerivPartnersBrandLightIcon } from '@deriv/quill-icons/Logo' +import { Button } from '@deriv/quill-design' +import { CustomLink } from '@deriv-com/components' +import { partnersEUItems, partnersItems } from './data' +import TopNavigation from './top-navigation' +import useRegion from 'components/hooks/use-region' +import { Localize } from 'components/localization' +import useScrollToElement from 'features/hooks/use-scroll-to-element' + +const PrimeNavButtons = () => { + return ( +
+ + + +
+ ) +} + +const PrimeNav = () => { + const { is_eu } = useRegion() + return ( + ( + + + + )} + items={is_eu ? partnersEUItems : partnersItems} + /> + ) +} + +export default PrimeNav diff --git a/src/features/components/templates/navigation/partners-nav/top-navigation.tsx b/src/features/components/templates/navigation/partners-nav/top-navigation.tsx new file mode 100644 index 00000000000..1b56c5ebc77 --- /dev/null +++ b/src/features/components/templates/navigation/partners-nav/top-navigation.tsx @@ -0,0 +1,22 @@ +import React from 'react' +import { CustomLink } from '@deriv-com/components' +import clsx from 'clsx' + +export const TopNavigation = () => { + const sharedClasses = 'text-body-sm hover:text-typography-prominent hover:no-underline' + return ( +
+ + Deriv website + + + Who we are + + + Contact us + +
+ ) +} + +export default TopNavigation diff --git a/src/features/components/templates/navigation/payment-agent-nav/data.tsx b/src/features/components/templates/navigation/payment-agent-nav/data.tsx deleted file mode 100644 index 41b97b0905d..00000000000 --- a/src/features/components/templates/navigation/payment-agent-nav/data.tsx +++ /dev/null @@ -1,69 +0,0 @@ -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_', - content: { - type: 'internal', - to: '/partners/affiliate-ib/', - }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 2, - data: { - type: 'single-item', - title: '_t_Affiliates_t_', - content: { - type: 'internal', - to: '/partners/affiliate-ib/', - }, - }, - visibility: { - is_eu: true, - }, - }, - { - id: 3, - data: { - type: 'single-item', - title: '_t_Payment agents_t_', - content: { - type: 'internal', - to: '/partners/payment-agent/', - }, - }, - visibility: { - is_row: true, - }, - }, - { - id: 4, - data: { - type: 'single-item', - title: '_t_API_t_', - content: { - type: 'company', - url_name: 'api', - }, - }, - }, -] -export default affiliateNavItems diff --git a/src/features/components/templates/navigation/payment-agent-nav/index.tsx b/src/features/components/templates/navigation/payment-agent-nav/index.tsx deleted file mode 100644 index 5eb0980efdf..00000000000 --- a/src/features/components/templates/navigation/payment-agent-nav/index.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import React, { useMemo } from 'react' -import NavTemplate from '../template' -import affiliateNavItems from './data' -import { partners_buttons, partners_nav_logo } 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' -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' -import useAffiliateSignupLink from 'features/hooks/ab-testing/use-partners-signup-link' -import useRegion from 'components/hooks/use-region' -import { TString } from 'types/generics' -import { localize } from 'components/localization' - -type contentType = { - [T: string]: TString -} - -const PaymentAgentAffiliateNav = ({ is_prime_page = false }: { is_prime_page?: boolean }) => { - const path_name = getLocationPathname() - const clickToScrollHandler = useScrollToElement('getintouch') - - const { is_eu } = useRegion() - const { affiliate_signup_link } = useAffiliateSignupLink() - - const texts: contentType = is_eu - ? { - login: '_t_Affiliate log in_t_', - sign_up: '_t_Affiliate sign up_t_', - } - : { - login: '_t_Affiliate & IB Log in_t_', - sign_up: '_t_Affiliate & IB sign up_t_', - } - - const generate_buttons = useMemo(() => { - return !path_name ? null : path_name.includes('deriv-prime') ? ( - - - - ) : ( - <> - - window.open('https://login.deriv.com/signin.php?lang=0', '_blank') - } - outlined - visible={'larger-than-tablet'} - className={partners_buttons} - > - - - - window.open('https://login.deriv.com/signin.php?lang=0', '_blank') - } - outlined - visible={'phone-and-tablet'} - > - - - window.open(affiliate_signup_link, '_blank')} - visible={'larger-than-tablet'} - className={partners_buttons} - > - - - - ) - }, [path_name, affiliate_signup_link]) - - return ( - ( - - {is_prime_page ? ( - {localize('_t_Deriv - ) : ( - {localize('_t_Deriv - )} - - )} - items={affiliateNavItems} - has_top_nav - has_centered_items - > - - {generate_buttons} - - - - ) -} - -export default PaymentAgentAffiliateNav diff --git a/src/features/components/templates/navigation/tab-nav-without-border/index.tsx b/src/features/components/templates/navigation/tab-nav-without-border/index.tsx index f777ccc7925..d346ca030f6 100644 --- a/src/features/components/templates/navigation/tab-nav-without-border/index.tsx +++ b/src/features/components/templates/navigation/tab-nav-without-border/index.tsx @@ -45,7 +45,7 @@ const NavigationTabWithoutBorder = ({ tab_data }: NavigationTabWithoutBorderType }, [pathname]) return ( - + { return ( - + -