,
+ target: '_blank',
},
{ id: 6, href: '/dbot', text:
},
{
id: 7,
href: 'https://bot.deriv.com/',
text:
,
+ target: '_blank',
},
],
},
@@ -263,6 +265,225 @@ export const footerNavData: FooterItems[] = [
},
]
+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',
+ 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 = (
)
diff --git a/src/features/pages/home/footer/index.tsx b/src/features/pages/home/footer/index.tsx
index d1c4f03277e..25ecdd40c36 100644
--- a/src/features/pages/home/footer/index.tsx
+++ b/src/features/pages/home/footer/index.tsx
@@ -1,10 +1,12 @@
import React from 'react'
import { Footer } from '@deriv-com/blocks'
-import { footerNavData, socialButtons, warnText } from './data'
+import { EuFooterNavData, RowFooterNavData, socialButtons, warnText } from './data'
import { DerivGoBannerAndAwards } from './banner-and-awards'
import { DescriptionContent } from './description'
+import useRegion from 'components/hooks/use-region'
export const ROWFooter = () => {
+ const { is_eu } = useRegion()
return (
{
bannerAndAwards={DerivGoBannerAndAwards}
descriptionContent={DescriptionContent}
>
-
+
)
}
diff --git a/src/features/pages/home/index.tsx b/src/features/pages/home/index.tsx
index 28aacf7a779..7a0209ee1b4 100644
--- a/src/features/pages/home/index.tsx
+++ b/src/features/pages/home/index.tsx
@@ -1,7 +1,13 @@
+/* eslint-disable @typescript-eslint/ban-ts-comment */
import React, { useCallback } from 'react'
import { PageLayout } from '@deriv-com/components'
import { BreakpointProvider, ThemeProvider } from '@deriv/quill-design'
-import { LanguageProvider } from '@deriv-com/providers'
+import {
+ LanguageProvider,
+ SharedLinkProvider,
+ SharedLinkProps,
+ SharedLink,
+} from '@deriv-com/providers'
import Layout from 'features/components/templates/layout'
import ROWFooter from './footer'
import LiveMarketSection from './live-pricing-migration'
@@ -19,7 +25,7 @@ import { langItemsROW } from './data'
import { useOpenLiveChat } from 'components/hooks/use-open-live-chat-redirection'
import useLangSwitcher from 'features/components/molecules/language-switcher/useLangSwitcher'
import { useLangDirection } from 'components/hooks/use-lang-direction'
-import { LocaleContext } from 'components/localization'
+import { LocaleContext, LocalizedLink } from 'components/localization'
const HomePage = () => {
useOpenLiveChat(true)
@@ -43,32 +49,49 @@ const HomePage = () => {
},
[onSwitchLanguage],
)
+
+ const GatsbySharedLink: SharedLink = ({ href = '/', ...rest }: SharedLinkProps) => {
+ const link = href as `/${string}`
+ const isExternalUrl = /(http(s?)):\/\//i.test(link.toString())
+ if (isExternalUrl) {
+ return (
+ // @ts-ignore
+
+ )
+ }
+ return (
+ // @ts-ignore
+
+ )
+ }
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/src/features/pages/home/navigation/data.tsx b/src/features/pages/home/navigation/data.tsx
index eb29fec2ea6..1a3905aaf17 100644
--- a/src/features/pages/home/navigation/data.tsx
+++ b/src/features/pages/home/navigation/data.tsx
@@ -128,6 +128,7 @@ export const mainRowNavItems: NavLinkItems = {
description: (
),
+ target: '_blank',
},
],
},
@@ -197,6 +198,7 @@ export const mainRowNavItems: NavLinkItems = {
description: (
),
+ target: '_blank',
},
],
},
@@ -335,6 +337,7 @@ export const mainRowNavItems: NavLinkItems = {
text:
,
type: 'direct',
external: true,
+ target: '_blank',
},
],
},
@@ -360,6 +363,7 @@ export const mainRowNavItems: NavLinkItems = {
text:
,
type: 'direct',
external: true,
+ target: '_blank',
},
{
id: 2,
@@ -396,6 +400,7 @@ export const mainRowNavItems: NavLinkItems = {
text:
,
type: 'direct',
external: true,
+ target: '_blank',
},
],
},
@@ -470,3 +475,354 @@ export const mainRowNavItems: NavLinkItems = {
],
},
}
+
+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: 2,
+ header: {
+ text: null,
+ type: 'text',
+ },
+ items: [
+ {
+ id: 0,
+ 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',
+ },
+ {
+ 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/pages/home/navigation/index.tsx b/src/features/pages/home/navigation/index.tsx
index d66db812be2..b3a8a607c16 100644
--- a/src/features/pages/home/navigation/index.tsx
+++ b/src/features/pages/home/navigation/index.tsx
@@ -2,14 +2,16 @@ import React from 'react'
import { NavigationBlock } from '@deriv-com/blocks'
import MainNavigationButtons from './nav.buttons'
import MainNavigationLogo from './nav.logo'
-import { mainRowNavItems } from './data'
+import { mainEuNavItems, mainRowNavItems } from './data'
+import useRegion from 'components/hooks/use-region'
const MainRowNavigation = () => {
+ const { is_eu } = useRegion()
return (
)
}
diff --git a/src/translations/ach.json b/src/translations/ach.json
index 80ab434fe30..b5969148487 100644
--- a/src/translations/ach.json
+++ b/src/translations/ach.json
@@ -4603,4 +4603,4 @@
"-1165835520": "crwdns3565842:0crwdne3565842:0",
"-651384976": "crwdns3565844:0crwdne3565844:0",
"-1033881248": "crwdns3565846:0crwdne3565846:0"
-}
\ No newline at end of file
+}
diff --git a/src/translations/ar.json b/src/translations/ar.json
index f4a1c8ce751..022c9ffb212 100644
--- a/src/translations/ar.json
+++ b/src/translations/ar.json
@@ -4603,4 +4603,4 @@
"-1165835520": "موظف",
"-651384976": "الجنسيات",
"-1033881248": "شاهد صفقاتنا المفتوحة"
-}
\ No newline at end of file
+}
diff --git a/src/translations/bn.json b/src/translations/bn.json
index c8845361bce..2fd2e411871 100644
--- a/src/translations/bn.json
+++ b/src/translations/bn.json
@@ -4603,4 +4603,4 @@
"-1165835520": "কর্মচারী",
"-651384976": "জাতীয়তা",
"-1033881248": "আমাদের ওপেন পজিশন দেখুন"
-}
\ No newline at end of file
+}
diff --git a/src/translations/de.json b/src/translations/de.json
index 00e096d26bd..e76661e2866 100644
--- a/src/translations/de.json
+++ b/src/translations/de.json
@@ -4603,4 +4603,4 @@
"-1165835520": "Mitarbeiter",
"-651384976": "Nationalitäten",
"-1033881248": "Sehen Sie unsere offenen Stellen"
-}
\ No newline at end of file
+}
diff --git a/src/translations/es.json b/src/translations/es.json
index 9092932b77f..7f4be97cc4a 100644
--- a/src/translations/es.json
+++ b/src/translations/es.json
@@ -4603,4 +4603,4 @@
"-1165835520": "empleados",
"-651384976": "nacionalidades",
"-1033881248": "Vea nuestros puestos disponibles"
-}
\ No newline at end of file
+}
diff --git a/src/translations/fr.json b/src/translations/fr.json
index b91950ee762..57b3a6255ce 100644
--- a/src/translations/fr.json
+++ b/src/translations/fr.json
@@ -4603,4 +4603,4 @@
"-1165835520": "employés",
"-651384976": "nationalités",
"-1033881248": "Voir nos postes vacants"
-}
\ No newline at end of file
+}
diff --git a/src/translations/it.json b/src/translations/it.json
index d6efca18223..43bf0ee4a06 100644
--- a/src/translations/it.json
+++ b/src/translations/it.json
@@ -4603,4 +4603,4 @@
"-1165835520": "dipendenti",
"-651384976": "nazionalità",
"-1033881248": "Vedi le posizioni aperte"
-}
\ No newline at end of file
+}
diff --git a/src/translations/ko.json b/src/translations/ko.json
index 462a4b44aa4..3dc500917a4 100644
--- a/src/translations/ko.json
+++ b/src/translations/ko.json
@@ -4603,4 +4603,4 @@
"-1165835520": "직원",
"-651384976": "출신 국적",
"-1033881248": "채용 정보 보기"
-}
\ No newline at end of file
+}
diff --git a/src/translations/pl.json b/src/translations/pl.json
index 597006a6960..3f241eb9996 100644
--- a/src/translations/pl.json
+++ b/src/translations/pl.json
@@ -4603,4 +4603,4 @@
"-1165835520": "pracowników",
"-651384976": "narodowości",
"-1033881248": "Zobacz nasze otwarte pozycje"
-}
\ No newline at end of file
+}
diff --git a/src/translations/pt.json b/src/translations/pt.json
index 0e53818cb71..f1fcc4a9ce5 100644
--- a/src/translations/pt.json
+++ b/src/translations/pt.json
@@ -4603,4 +4603,4 @@
"-1165835520": "funcionários",
"-651384976": "nacionalidades",
"-1033881248": "Consulte as nossas vagas"
-}
\ No newline at end of file
+}
diff --git a/src/translations/ru.json b/src/translations/ru.json
index d7496420371..4bf54ca62d3 100644
--- a/src/translations/ru.json
+++ b/src/translations/ru.json
@@ -4603,4 +4603,4 @@
"-1165835520": "сотрудников",
"-651384976": "национальностей",
"-1033881248": "Смотреть вакансии"
-}
\ No newline at end of file
+}
diff --git a/src/translations/si.json b/src/translations/si.json
index 67eaa37a733..d4b85b1bd36 100644
--- a/src/translations/si.json
+++ b/src/translations/si.json
@@ -4603,4 +4603,4 @@
"-1165835520": "සේවකයින්",
"-651384976": "ජාතීන්",
"-1033881248": "අපගේ විවෘත ස්ථාන බලන්න"
-}
\ No newline at end of file
+}
diff --git a/src/translations/sw.json b/src/translations/sw.json
index 6f6ed9d4885..2d6155ea256 100644
--- a/src/translations/sw.json
+++ b/src/translations/sw.json
@@ -4603,4 +4603,4 @@
"-1165835520": "wafanyakazi",
"-651384976": "mataifa",
"-1033881248": "Tazama nafasi zetu zilizo wazi"
-}
\ No newline at end of file
+}
diff --git a/src/translations/th.json b/src/translations/th.json
index a71bcf8a4fd..135c9bcc172 100644
--- a/src/translations/th.json
+++ b/src/translations/th.json
@@ -4603,4 +4603,4 @@
"-1165835520": "พนักงาน",
"-651384976": "สัญชาติ",
"-1033881248": "ดูตำแหน่งงานที่เปิดรับ"
-}
\ No newline at end of file
+}
diff --git a/src/translations/tr.json b/src/translations/tr.json
index c917a938de0..1a3d4ea4f1c 100644
--- a/src/translations/tr.json
+++ b/src/translations/tr.json
@@ -4603,4 +4603,4 @@
"-1165835520": "çalışanlar",
"-651384976": "milliyetler",
"-1033881248": "Açık pozisyonlarımızı görün"
-}
\ No newline at end of file
+}
diff --git a/src/translations/vi.json b/src/translations/vi.json
index 773db5bfffe..7be9ddc155b 100644
--- a/src/translations/vi.json
+++ b/src/translations/vi.json
@@ -4603,4 +4603,4 @@
"-1165835520": "nhân viên",
"-651384976": "dân tộc",
"-1033881248": "Xem các vị trí đang tuyển"
-}
\ No newline at end of file
+}
diff --git a/src/translations/zh_cn.json b/src/translations/zh_cn.json
index 27fad04dbfd..72e474e0abc 100644
--- a/src/translations/zh_cn.json
+++ b/src/translations/zh_cn.json
@@ -4603,4 +4603,4 @@
"-1165835520": "雇员",
"-651384976": "国籍",
"-1033881248": "查看空缺职位"
-}
\ No newline at end of file
+}
diff --git a/src/translations/zh_tw.json b/src/translations/zh_tw.json
index 98186c7fa1f..589ee47c1ff 100644
--- a/src/translations/zh_tw.json
+++ b/src/translations/zh_tw.json
@@ -4603,4 +4603,4 @@
"-1165835520": "僱員",
"-651384976": "國籍",
"-1033881248": "查看空缺職位"
-}
\ No newline at end of file
+}