diff --git a/package.json b/package.json index 6e298264..b986fa88 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "productName": "Ledger Live", "description": "Ledger Live - Desktop", "repository": "https://github.com/LedgerHQ/ledger-live-desktop", - "version": "1.2.4", + "version": "1.2.5", "author": "Ledger", "license": "MIT", "scripts": { diff --git a/src/components/ExchangePage/index.js b/src/components/ExchangePage/index.js index d6afa06a..76fd5505 100644 --- a/src/components/ExchangePage/index.js +++ b/src/components/ExchangePage/index.js @@ -72,10 +72,22 @@ const cards = shuffle([ logo: , }, { - key: 'kyber', - id: 'kyber', - url: urls.kyber, - 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: , }, ]) diff --git a/src/components/Onboarding/steps/Analytics.js b/src/components/Onboarding/steps/Analytics.js index c3f35e0f..6e1a01d0 100644 --- a/src/components/Onboarding/steps/Analytics.js +++ b/src/components/Onboarding/steps/Analytics.js @@ -7,10 +7,13 @@ import { saveSettings } from 'actions/settings' import Box from 'components/base/Box' import Switch from 'components/base/Switch' import FakeLink from 'components/base/FakeLink' +import { Trans } from 'react-i18next' import TrackPage from 'analytics/TrackPage' import Track from 'analytics/Track' import { openModal } from 'reducers/modals' import { MODAL_SHARE_ANALYTICS, MODAL_TECHNICAL_DATA } from 'config/constants' +import { openURL } from 'helpers/linking' +import { urls } from 'config/urls' import ShareAnalytics from '../../modals/ShareAnalytics' import TechnicalData from '../../modals/TechnicalData' import { Title, Description, FixedTopContainer, StepContainerInner } from '../helperComponents' @@ -46,6 +49,9 @@ class Analytics extends PureComponent { }) } + onClickTerms = () => openURL(urls.terms) + onClickPrivacy = () => openURL(urls.privacyPolicy) + handleNavBack = () => { const { savePassword, prevStep } = this.props savePassword(undefined) @@ -157,6 +163,26 @@ class Analytics extends PureComponent { + + + + + {t('onboarding.analytics.terms.title')} + + + + + + {'Accept the '} + {'terms of license'} + {'and'} + {'privacy'} + {'.'} + + + + + p.theme.colors.wallet}; } ` + +const HoveredLink = styled.span` + cursor: pointer; + text-decoration: underline; + &:hover { + color: ${p => p.theme.colors.wallet}; + } +` diff --git a/src/components/modals/AddAccounts/steps/02-step-connect-device.js b/src/components/modals/AddAccounts/steps/02-step-connect-device.js index 0531ab3f..3e753d03 100644 --- a/src/components/modals/AddAccounts/steps/02-step-connect-device.js +++ b/src/components/modals/AddAccounts/steps/02-step-connect-device.js @@ -15,6 +15,8 @@ import type { StepProps } from '../index' function StepConnectDevice({ t, currency, device, setAppOpened }: StepProps) { invariant(currency, 'No crypto asset given') + const currencyName = `${currency.name} (${currency.ticker})` + return ( @@ -23,9 +25,7 @@ function StepConnectDevice({ t, currency, device, setAppOpened }: StepProps) { {`Follow the steps below to add `} - {`${currency.name} (${ - currency.ticker - })`} + {currencyName} {` accounts from your Ledger device.`} diff --git a/src/config/urls.js b/src/config/urls.js index 8b66332f..1e0d5376 100644 --- a/src/config/urls.js +++ b/src/config/urls.js @@ -16,7 +16,7 @@ export const urls = { contactSupport: 'https://support.ledgerwallet.com/hc/en-us/requests/new?ticket_form_id=248165', feesMoreInfo: 'https://support.ledgerwallet.com/hc/en-us/articles/360006535873', recipientAddressInfo: 'https://support.ledgerwallet.com/hc/en-us/articles/360006433934', - privacyPolicy: 'https://www.ledgerwallet.com/privacy-policy', + privacyPolicy: 'https://www.ledger.com/pages/privacy-policy', githubIssues: 'https://github.com/LedgerHQ/ledger-live-desktop/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Acomments-desc', @@ -30,7 +30,10 @@ export const urls = { luno: 'http://luno.go2cloud.org/aff_c?offer_id=4&aff_id=1001&source=ledger', shapeshift: 'https://shapeshift.io/#/coins?affiliate=ledger', genesis: 'https://genesistrading.com/ledger-live/', - kyber: 'http://kyber.network/swap?ref=0xE2D8481eeF31CDA994833974FFfEccd576f8D71E', + kyberSwap: 'http://kyber.network/swap?ref=0xE2D8481eeF31CDA994833974FFfEccd576f8D71E', + changeNow: 'https://changenow.io/?utm_source=ledger_wallet', + thorSwap: + 'https://www.thorswap.com/?utm_source=Wallet&utm_medium=ledger&utm_campaign=EmbedLink&utm_content=Link1', // Errors errors: { @@ -38,6 +41,5 @@ export const urls = { }, // Currencies status - currenciesStatus: - 'https://s3-eu-west-1.amazonaws.com/ledger-ledgerlive-resources-prod/public_resources/currencies.json', + currenciesStatus: 'http://resources.live.ledger.app/public_resources/currencies.json', } diff --git a/static/i18n/en/app.json b/static/i18n/en/app.json index 7569962e..084bf85e 100644 --- a/static/i18n/en/app.json +++ b/static/i18n/en/app.json @@ -170,7 +170,9 @@ "luno": "Luno makes it safe and easy to buy, store and learn about cryptocurrencies like Bitcoin and Ethereum", "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.", - "kyber": "Kyber is a trading platform for exchange and conversion of ERC-20 tokens" + "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" }, "genuinecheck": { "modal": { @@ -185,7 +187,10 @@ "import": "Accounts", "finish": "Confirmation" }, - "accountAlreadyImportedSubtitle": "Accounts already in Portfolio ({{count}})", + "connectDevice": { + "desc": "Follow the steps below to add <1><0>{{currencyName}}0>1> accounts" + }, + "accountAlreadyImportedSubtitle": "Accounts already in portfolio ({{count}})", "accountToImportSubtitle": "Add existing account", "accountToImportSubtitle_plural": "Add existing accounts", "selectAll": "Select all ({{count}})", @@ -674,6 +679,10 @@ "item4": "", "item5": "" } + }, + "terms": { + "title": "Terms *", + "desc": "By continuing, you acknowledge that you have read and agree to the <1>Terms of Use1> and <3>Privacy Policy3>." } }, "finish": { diff --git a/static/images/logos/exchanges/change-now.png b/static/images/logos/exchanges/change-now.png new file mode 100644 index 00000000..fb3f8a77 Binary files /dev/null and b/static/images/logos/exchanges/change-now.png differ diff --git a/static/images/logos/exchanges/kyber-swap.png b/static/images/logos/exchanges/kyber-swap.png new file mode 100644 index 00000000..45472e4f Binary files /dev/null and b/static/images/logos/exchanges/kyber-swap.png differ diff --git a/static/images/logos/exchanges/kyber.svg b/static/images/logos/exchanges/kyber.svg deleted file mode 100644 index 4cc634a0..00000000 --- a/static/images/logos/exchanges/kyber.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - Kyber network - Created with Sketch. - - - - - - - - \ No newline at end of file diff --git a/static/images/logos/exchanges/thor-swap.png b/static/images/logos/exchanges/thor-swap.png new file mode 100644 index 00000000..f3851d66 Binary files /dev/null and b/static/images/logos/exchanges/thor-swap.png differ