diff --git a/src/app/containers/PageContainer/components/DefaultHeaderComponent/DefaultHeaderComponent.tsx b/src/app/containers/PageContainer/components/DefaultHeaderComponent/DefaultHeaderComponent.tsx index 184c775648..640d9be6d0 100644 --- a/src/app/containers/PageContainer/components/DefaultHeaderComponent/DefaultHeaderComponent.tsx +++ b/src/app/containers/PageContainer/components/DefaultHeaderComponent/DefaultHeaderComponent.tsx @@ -23,7 +23,7 @@ import { import { LanguageToggle } from '../../../../components/LanguageToggle'; import styles from './index.module.scss'; import { ReactComponent as SovLogo } from 'assets/images/sovryn-logo-alpha.svg'; -import { bitocracyUrl, myntUrl } from 'utils/classifiers'; +import { D2_URL, bitocracyUrl, myntUrl } from 'utils/classifiers'; import { Menu } from 'app/components/Menu'; import { MenuItem } from 'app/components/Menu/components/MenuItem'; import { MenuSeparator } from 'app/components/Menu/components/MenuSeparator'; @@ -37,12 +37,15 @@ import { import { Sovryn } from 'utils/sovryn'; import { bignumber } from 'mathjs'; +import { ReactComponent as AppsIcon } from 'assets/apps-icon.svg'; + type PagesProps = { to: string; title: string; dataActionId: string; hrefExternal?: boolean; disabled?: boolean; + bold?: boolean; }; export const DefaultHeaderComponent: React.FC = () => { @@ -188,6 +191,33 @@ export const DefaultHeaderComponent: React.FC = () => { dataActionId: 'header-mobile-bitocracy-link-forum', hrefExternal: true, }, + { + to: '', + title: 'Sovryn.app', + dataActionId: '', + hrefExternal: true, + }, + { + to: D2_URL, + title: t(translations.mainMenu.borrow), + dataActionId: 'header-mobile-d2-link-borrow', + hrefExternal: true, + bold: true, + }, + { + to: `${D2_URL}/earn`, + title: t(translations.mainMenu.earn), + dataActionId: 'header-mobile-d2-link-earn', + hrefExternal: true, + bold: true, + }, + { + to: `${D2_URL}/convert`, + title: t(translations.mainMenu.convert), + dataActionId: 'header-mobile-d2-link-convert', + hrefExternal: true, + bold: true, + }, { to: '', title: '', @@ -231,7 +261,9 @@ export const DefaultHeaderComponent: React.FC = () => { hrefExternal={link.hrefExternal} data-action-id={link.dataActionId} disabled={link.disabled || false} - className="tw-leading-snug" + className={classNames('tw-leading-snug', { + 'tw-font-bold': link.bold, + })} /> ); }); @@ -254,6 +286,7 @@ export const DefaultHeaderComponent: React.FC = () => { }; const SECTION_TYPE = { + PRODUCTS: 'products', TRADE: 'trade', EARN: 'earn', LABS: 'labs', @@ -310,6 +343,37 @@ export const DefaultHeaderComponent: React.FC = () => { + + + + + + } + > + + + + diff --git a/src/app/pages/LandingPage/components/Banner/GetStartedBanner.tsx b/src/app/pages/LandingPage/components/Banner/GetStartedBanner.tsx index 7aea631024..7be4c58ded 100644 --- a/src/app/pages/LandingPage/components/Banner/GetStartedBanner.tsx +++ b/src/app/pages/LandingPage/components/Banner/GetStartedBanner.tsx @@ -3,7 +3,7 @@ import getStartedBanner from 'assets/images/banner/Zero_banner.svg'; import getStartedBannerMobile from 'assets/images/banner/Zero_banner_mobile.svg'; import { Picture } from 'app/components/Picture'; import { Breakpoint } from 'types'; -import { zeroUrl } from 'utils/classifiers'; +import { D2_URL } from 'utils/classifiers'; const zeroSrcSet = [ { @@ -21,7 +21,7 @@ const zeroSrcSet = [ export const GetStartedBanner: React.FC = () => { const handleZeroBannerClick = useCallback( - () => window.open(zeroUrl, '_blank'), + () => window.open(D2_URL, '_blank'), [], ); diff --git a/src/assets/apps-icon.svg b/src/assets/apps-icon.svg new file mode 100644 index 0000000000..ce14ddabeb --- /dev/null +++ b/src/assets/apps-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 5160d06741..1ec9c98a30 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -465,10 +465,12 @@ }, "mainMenu": { "buySov": "Buy SOV", + "products": "Products", "trade": "Trade", "swap": "Swap", "marginTrade": "Margin", "earn": "Earn", + "convert": "Convert", "pool": "Pool", "voting": "Voting", "portfolio": "Portfolio", @@ -515,7 +517,10 @@ "perpetuals": "Trade perpetual futures contracts", "zero": "0% interest loans on your bitcoin", "voting": "Affect Sovryn's governance", - "forum": "Join the community" + "forum": "Join the community", + "d2Borrow": "Open a line of credit with BTC at 0% interest", + "d2Earn": "Earn BTC by providing liquidity for liquidations", + "d2Convert": "Convert between assets" } }, "originsLaunchpad": { diff --git a/src/utils/classifiers.ts b/src/utils/classifiers.ts index cefe007649..517329acc9 100644 --- a/src/utils/classifiers.ts +++ b/src/utils/classifiers.ts @@ -42,7 +42,7 @@ export const bitocracyUrl = ? 'https://bitocracy.sovryn.app' : 'https://bitocracy.test.sovryn.app'; -export const zeroUrl = +export const D2_URL = currentNetwork === AppMode.MAINNET ? isStaging ? 'https://staging.sovryn.app'