diff --git a/src/components/GenuineCheck.js b/src/components/GenuineCheck.js index b96fee29..50cb9d28 100644 --- a/src/components/GenuineCheck.js +++ b/src/components/GenuineCheck.js @@ -85,7 +85,7 @@ class GenuineCheck extends PureComponent { .toPromise() const isGenuine = res === '0000' if (!isGenuine) { - return Promise.reject(new Error('Device not genuine')) // TODO: use custom error class + return Promise.reject(new DeviceNotGenuineError()) } setDeviceGenuinity(device, true) return Promise.resolve(true) @@ -142,11 +142,11 @@ class GenuineCheck extends PureComponent { return ( ) } diff --git a/src/components/Onboarding/steps/Analytics.js b/src/components/Onboarding/steps/Analytics.js index 94bdea55..bfd63e00 100644 --- a/src/components/Onboarding/steps/Analytics.js +++ b/src/components/Onboarding/steps/Analytics.js @@ -6,6 +6,8 @@ import { connect } from 'react-redux' import { saveSettings } from 'actions/settings' import Box from 'components/base/Box' import CheckBox from 'components/base/CheckBox' +import TrackPage from 'analytics/TrackPage' +import Track from 'analytics/Track' import { Title, Description, FixedTopContainer, StepContainerInner } from '../helperComponents' import OnboardingFooter from '../OnboardingFooter' @@ -19,7 +21,7 @@ type State = { } const INITIAL_STATE = { - analyticsToggle: false, + analyticsToggle: true, sentryLogsToggle: true, } @@ -46,11 +48,17 @@ class Analytics extends PureComponent { } render() { - const { nextStep, t } = this.props + const { nextStep, t, onboarding } = this.props const { analyticsToggle, sentryLogsToggle } = this.state return ( + {t('onboarding:analytics.title')} {t('onboarding:analytics.desc')} @@ -61,6 +69,14 @@ class Analytics extends PureComponent { {t('onboarding:analytics.sentryLogs.desc')} + @@ -70,6 +86,14 @@ class Analytics extends PureComponent { {t('onboarding:analytics.shareAnalytics.desc')} + diff --git a/src/components/Onboarding/steps/Finish.js b/src/components/Onboarding/steps/Finish.js index 05ba2f96..bcb20c07 100644 --- a/src/components/Onboarding/steps/Finish.js +++ b/src/components/Onboarding/steps/Finish.js @@ -8,6 +8,7 @@ import { i } from 'helpers/staticPath' import Box from 'components/base/Box' import Button from 'components/base/Button' import ConfettiParty from 'components/ConfettiParty' +import TrackPage from 'analytics/TrackPage' import IconCheckFull from 'icons/CheckFull' import IconSocialTwitter from 'icons/Twitter' @@ -58,10 +59,16 @@ export default class Finish extends Component { this.setState({ emit: false }) } render() { - const { finish, t } = this.props + const { finish, t, onboarding } = this.props const { emit } = this.state return ( + diff --git a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js index a5d7322b..213622a4 100644 --- a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js +++ b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckErrorPage.js @@ -4,27 +4,35 @@ import React, { Fragment } from 'react' import { i } from 'helpers/staticPath' import type { T } from 'types/common' +import type { OnboardingState } from 'reducers/onboarding' import Box from 'components/base/Box' import Button from 'components/base/Button' +import TrackPage from 'analytics/TrackPage' import { Title, Description, OnboardingFooterWrapper } from '../../helperComponents' export function GenuineCheckErrorPage({ redoGenuineCheck, contactSupport, - isLedgerNano, + onboarding, t, }: { redoGenuineCheck: () => void, contactSupport: () => void, - isLedgerNano: boolean | null, + onboarding: OnboardingState, t: T, }) { return ( + - {isLedgerNano ? ( + {onboarding.isLedgerNano ? ( {t('onboarding:genuineCheck.errorPage.ledgerNano.title')} {t('onboarding:genuineCheck.errorPage.ledgerNano.desc')} diff --git a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js index 1f88b7aa..3e620983 100644 --- a/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js +++ b/src/components/Onboarding/steps/GenuineCheck/GenuineCheckUnavailable.js @@ -11,6 +11,7 @@ import IconCross from 'icons/Cross' import Box from 'components/base/Box' import Button from 'components/base/Button' import TranslatedError from 'components/TranslatedError' +import { track } from 'analytics/segment' import { OnboardingFooterWrapper } from '../../helperComponents' @@ -29,7 +30,13 @@ export function GenuineCheckUnavailableFooter({ {t('app:common.back')} - -