diff --git a/src/components/ExchangePage/index.js b/src/components/ExchangePage/index.js
deleted file mode 100644
index 0a1e46a9..00000000
--- a/src/components/ExchangePage/index.js
+++ /dev/null
@@ -1,126 +0,0 @@
-// @flow
-
-import React, { PureComponent } from 'react'
-import { translate } from 'react-i18next'
-import shuffle from 'lodash/shuffle'
-
-import type { T } from 'types/common'
-import { urls } from 'config/urls'
-import { i } from 'helpers/staticPath'
-
-import TrackPage from 'analytics/TrackPage'
-import Box from 'components/base/Box'
-import ExchangeCard from './ExchangeCard'
-
-import CoinhouseLogo from './logos/coinhouse'
-import ChangellyLogo from './logos/changelly'
-import CoinmamaLogo from './logos/bigmama'
-import SimplexLogo from './logos/simplex'
-import PaybisLogo from './logos/paybis'
-import Coinberry from './logos/coinberry'
-import BtcDirect from './logos/btcdirect'
-
-type Props = {
- t: T,
-}
-
-const cards = shuffle([
- {
- key: 'coinhouse',
- id: 'coinhouse',
- url: urls.coinhouse,
- logo: ,
- },
- {
- key: 'changelly',
- id: 'changelly',
- url: urls.changelly,
- logo: ,
- },
- {
- key: 'coinmama',
- id: 'coinmama',
- url: urls.coinmama,
- logo: ,
- },
- {
- key: 'simplex',
- id: 'simplex',
- url: urls.simplex,
- logo: ,
- },
- {
- key: 'paybis',
- id: 'paybis',
- url: urls.paybis,
- logo: ,
- },
- {
- key: 'luno',
- id: 'luno',
- url: urls.luno,
- logo: ,
- },
- {
- key: 'shapeshift',
- id: 'shapeshift',
- url: urls.shapeshift,
- logo: ,
- },
- {
- key: 'genesis',
- id: 'genesis',
- url: urls.genesis,
- logo: ,
- },
- {
- key: 'kyberSwap',
- id: 'kyberSwap',
- url: urls.kyberSwap,
- logo: ,
- },
- {
- key: 'changeNow',
- id: 'changeNow',
- url: urls.changeNow,
- logo: ,
- },
- {
- key: 'thorSwap',
- id: 'thorSwap',
- url: urls.thorSwap,
- logo: ,
- },
- {
- key: 'coinberry',
- id: 'coinberry',
- url: urls.coinberry,
- logo: ,
- },
- {
- key: 'btcDirect',
- id: 'btcDirect',
- url: urls.btcDirect,
- logo: ,
- },
-])
-
-class ExchangePage extends PureComponent {
- render() {
- const { t } = this.props
- return (
-
-
-
- {t('exchange.title')}
-
-
- {t('exchange.desc')}
-
- {cards.map(card => )}
-
- )
- }
-}
-
-export default translate()(ExchangePage)
diff --git a/src/components/ExchangePage/logos/bigmama.js b/src/components/ExchangePage/logos/bigmama.js
deleted file mode 100644
index 58dd5df2..00000000
--- a/src/components/ExchangePage/logos/bigmama.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// @flow
-
-import React from 'react'
-
-const inner = (
-
-
-
-
-)
-
-export default ({ width }: { width: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/btcdirect.js b/src/components/ExchangePage/logos/btcdirect.js
deleted file mode 100644
index 70840be4..00000000
--- a/src/components/ExchangePage/logos/btcdirect.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// @flow
-
-import React from 'react'
-
-const styles = {
- fill: '#0086fb',
-}
-
-const inner = (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
-)
-
-export default ({ width }: { width: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/changelly.js b/src/components/ExchangePage/logos/changelly.js
deleted file mode 100644
index 0a57bed0..00000000
--- a/src/components/ExchangePage/logos/changelly.js
+++ /dev/null
@@ -1,26 +0,0 @@
-// @flow
-
-import React from 'react'
-
-const inner = (
-
-
-
-
-
-)
-
-export default ({ width }: { width: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/coinberry.js b/src/components/ExchangePage/logos/coinberry.js
deleted file mode 100644
index 46396d39..00000000
--- a/src/components/ExchangePage/logos/coinberry.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// @flow
-
-import React from 'react'
-
-const styles = {
- blue: {
- fill: '#334F93',
- },
- pink: {
- fill: '#EC2D6E',
- },
-}
-
-const inner = (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
-)
-
-export default ({ width }: { width: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/coinhouse.js b/src/components/ExchangePage/logos/coinhouse.js
deleted file mode 100644
index b8cdf175..00000000
--- a/src/components/ExchangePage/logos/coinhouse.js
+++ /dev/null
@@ -1,58 +0,0 @@
-// @flow
-
-import React, { Fragment } from 'react'
-
-const inner = (
-
-
-
-
-
-
-
-
-
-
-
-
-
-)
-
-export default ({ width }: { width: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/paybis.js b/src/components/ExchangePage/logos/paybis.js
deleted file mode 100644
index 2c6336ac..00000000
--- a/src/components/ExchangePage/logos/paybis.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// @flow
-
-import React, { Fragment } from 'react'
-
-const inner = (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-)
-
-export default ({ width, height }: { width: number, height: number }) => (
-
-)
diff --git a/src/components/ExchangePage/logos/simplex.js b/src/components/ExchangePage/logos/simplex.js
deleted file mode 100644
index 94d68a37..00000000
--- a/src/components/ExchangePage/logos/simplex.js
+++ /dev/null
@@ -1,27 +0,0 @@
-// @flow
-
-import React, { Fragment } from 'react'
-
-const inner = (
-
-
-
-
-
-)
-
-export default ({ width, height }: { width: number, height: number }) => (
-
-)
diff --git a/src/components/MainSideBar/index.js b/src/components/MainSideBar/index.js
index 4ada30c9..4ec9af02 100644
--- a/src/components/MainSideBar/index.js
+++ b/src/components/MainSideBar/index.js
@@ -88,7 +88,7 @@ class MainSideBar extends PureComponent {
handleOpenSendModal = () => this.props.openModal(MODAL_SEND)
handleOpenReceiveModal = () => this.props.openModal(MODAL_RECEIVE)
handleClickManager = () => this.push('/manager')
- handleClickExchange = () => this.push('/exchange')
+ handleClickExchange = () => this.push('/partners')
handleClickDev = () => this.push('/dev')
handleOpenImportModal = () => this.props.openModal(MODAL_ADD_ACCOUNTS)
diff --git a/src/components/ExchangePage/ExchangeCard.js b/src/components/PartnersPage/PartnerCard.js
similarity index 67%
rename from src/components/ExchangePage/ExchangeCard.js
rename to src/components/PartnersPage/PartnerCard.js
index 5b8366d4..57c12c9d 100644
--- a/src/components/ExchangePage/ExchangeCard.js
+++ b/src/components/PartnersPage/PartnerCard.js
@@ -11,29 +11,30 @@ import { FakeLink } from 'components/base/Link'
type CardType = {
id: string,
- logo: any,
+ Logo: any,
url: string,
}
-export default class ExchangeCard extends PureComponent<{ t: T, card: CardType }> {
+export default class PartnerCard extends PureComponent<{ t: T, card: CardType }> {
onClick = () => {
const { card } = this.props
- openURL(card.url, 'VisitExchange', { id: card.id })
+ openURL(card.url, 'VisitPartner', { id: card.id })
}
+
render() {
const {
- card: { logo, id },
+ card: { Logo, id },
t,
} = this.props
return (
-
- {logo}
+
+
- {t(`exchange.${id}`)}
+ {t(`partners.${id}`)}
- {t('exchange.visitWebsite')}
+ {t('partners.visitWebsite')}
diff --git a/src/components/PartnersPage/index.js b/src/components/PartnersPage/index.js
new file mode 100644
index 00000000..7b5a0460
--- /dev/null
+++ b/src/components/PartnersPage/index.js
@@ -0,0 +1,33 @@
+// @flow
+
+import React, { PureComponent } from 'react'
+import { T, translate } from 'react-i18next'
+
+import partners from '@ledgerhq/live-common/lib/partners/react'
+import TrackPage from 'analytics/TrackPage'
+import Box from 'components/base/Box'
+import PartnerCard from './PartnerCard'
+
+type Props = {
+ t: T,
+}
+
+class PartnersPage extends PureComponent {
+ render() {
+ const { t } = this.props
+ return (
+
+
+
+ {t('partners.title')}
+
+
+ {t('partners.desc')}
+
+ {partners.map(card => )}
+
+ )
+ }
+}
+
+export default translate()(PartnersPage)
diff --git a/src/components/layout/Default.js b/src/components/layout/Default.js
index 14156b39..8926fa12 100644
--- a/src/components/layout/Default.js
+++ b/src/components/layout/Default.js
@@ -19,7 +19,7 @@ import Idler from 'components/Idler'
import AccountPage from 'components/AccountPage'
import DashboardPage from 'components/DashboardPage'
import ManagerPage from 'components/ManagerPage'
-import ExchangePage from 'components/ExchangePage'
+import PartnersPage from 'components/PartnersPage'
import DevToolsPage from 'components/DevToolsPage'
import SettingsPage from 'components/SettingsPage'
import KeyboardContent from 'components/KeyboardContent'
@@ -117,7 +117,7 @@ class Default extends Component {
-
+
diff --git a/static/i18n/en/app.json b/static/i18n/en/app.json
index bc8ab0b4..49c22b96 100644
--- a/static/i18n/en/app.json
+++ b/static/i18n/en/app.json
@@ -163,23 +163,27 @@
}
}
},
- "exchange": {
+ "partners": {
"title": "Buy crypto",
"desc": "Try a few services we've selected",
"visitWebsite": "Visit website",
- "coinhouse": "Coinhouse is a trusted platform for individuals and institutional investors looking to analyze, acquire, sell and securely store crypto assets.",
+
+ "btcdirect": "Buy and sell with the greatest of ease at Europe's leading cryptocurrency broker. Sign up for free and receive your coins within minutes! Our users rate us with an 8,7 on Trustpilot",
"changelly": "Changelly is a popular instant crypto asset exchange with 100+ coins and tokens listed.",
+ "changenow": "ChangeNOW is one of the leading custody-free instant exchange services",
+ "coinberry": "Coinberry is the most trusted crypto platform in Canada with better-than-bank security, best-in-class user interface and No Fee funding & withdraw. Pre-register to get early access to our platform if you are not a Canadian citizen.",
+ "coinhouse": "Coinhouse is a trusted platform for individuals and institutional investors looking to analyze, acquire, sell and securely store crypto assets.",
"coinmama": "Coinmama is a financial service that makes it fast, safe and fun to buy digital assets, anywhere in the world.",
- "simplex": "Simplex is a EU licensed financial institution, providing a fraudless credit card payment solution.",
- "paybis": "it is safe and easy to Buy Bitcoin with credit card from PayBis. Service operates in US, Canada, Germany, Russia and Saudi Arabia.",
+ "genesis": "Genesis is an institutional trading firm offering liquidity and borrow for digital currencies, including bitcoin, bitcoin cash, ethereum, ethereum classic, litecoin, and XRP.",
+ "kyberswap": "Fast, simple and secure token swap platform. Powered by Kyber Network's on-chain liquidity protocol.",
"luno": "Luno makes it safe and easy to buy, store and learn about cryptocurrencies like Bitcoin and Ethereum",
+ "paybis": "it is safe and easy to Buy Bitcoin with credit card from PayBis. Service operates in US, Canada, Germany, Russia and Saudi Arabia.",
"shapeshift": "ShapeShift is an online marketplace where users can buy and sell digital assets. It is a fast and secure way for the world to buy and sell digital assets, with no lengthy signup process, no counterparty risk, and no friction.",
- "genesis": "Genesis is an institutional trading firm offering liquidity and borrow for digital currencies, including bitcoin, bitcoin cash, ethereum, ethereum classic, litecoin, and XRP.",
- "kyberSwap": "Fast, simple and secure token swap platform. Powered by Kyber Network's on-chain liquidity protocol.",
- "thorSwap": "ThorSwap is an instant, safe and fair crypto asset market powered by decentralized atomic swap technologies. It is the most convenient way to start trading, no registration or KYC for small amount transactions.",
- "changeNow": "ChangeNOW is one of the leading custody-free instant exchange services",
- "coinberry": "Coinberry is the most trusted crypto platform in Canada with better-than-bank security, best-in-class user interface and No Fee funding & withdraw. Pre-register to get early access to our platform if you are not a Canadian citizen.",
- "btcDirect": "Buy and sell with the greatest of ease at Europe's leading cryptocurrency broker. Sign up for free and receive your coins within minutes! Our users rate us with an 8,7 on Trustpilot"
+ "simplex": "Simplex is a EU licensed financial institution, providing a fraudless credit card payment solution.",
+ "taxtoken": "Automated cryptocurrency tax and cost basis software for US citizens.",
+ "thorswap": "ThorSwap is an instant, safe and fair crypto asset market powered by decentralized atomic swap technologies. It is the most convenient way to start trading, no registration or KYC for small amount transactions.",
+ "bitpanda": "Bitpanda is Europe’s leading retail broker for buying and selling Bitcoin, Ethereum, IOTA and many more. Deposit money using your credit card, SOFORT-Transfer, NETELLER, and other options.",
+ "exmo": "Founded in 2013 and based in London, Kiev, Barcelona, and Moscow, EXMO is #1 exchange in Eastern Europe, and one of the world's largest global exchanges in volume and liquidity."
},
"genuinecheck": {
"modal": {
diff --git a/static/images/logos/exchanges/change-now.png b/static/images/logos/exchanges/change-now.png
deleted file mode 100644
index fb3f8a77..00000000
Binary files a/static/images/logos/exchanges/change-now.png and /dev/null differ
diff --git a/static/images/logos/exchanges/genesis.svg b/static/images/logos/exchanges/genesis.svg
deleted file mode 100644
index 6aa3ea56..00000000
--- a/static/images/logos/exchanges/genesis.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/static/images/logos/exchanges/kyber-swap.png b/static/images/logos/exchanges/kyber-swap.png
deleted file mode 100644
index 45472e4f..00000000
Binary files a/static/images/logos/exchanges/kyber-swap.png and /dev/null differ
diff --git a/static/images/logos/exchanges/luno.svg b/static/images/logos/exchanges/luno.svg
deleted file mode 100644
index e2ee1781..00000000
--- a/static/images/logos/exchanges/luno.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/static/images/logos/exchanges/shapeshift.svg b/static/images/logos/exchanges/shapeshift.svg
deleted file mode 100644
index 5efd76eb..00000000
--- a/static/images/logos/exchanges/shapeshift.svg
+++ /dev/null
@@ -1,93 +0,0 @@
-
diff --git a/static/images/logos/exchanges/thor-swap.png b/static/images/logos/exchanges/thor-swap.png
deleted file mode 100644
index f3851d66..00000000
Binary files a/static/images/logos/exchanges/thor-swap.png and /dev/null differ