import React, { Component } from 'react' import PropTypes from 'prop-types' import MetaFoxLogo from '../../../components/ui/metafox-logo' import PageContainerFooter from '../../../components/ui/page-container/page-container-footer' export default class MetaMetricsOptIn extends Component { static propTypes = { history: PropTypes.object, setParticipateInMetaMetrics: PropTypes.func, nextRoute: PropTypes.string, firstTimeSelectionMetaMetricsName: PropTypes.string, participateInMetaMetrics: PropTypes.bool, } static contextTypes = { metricsEvent: PropTypes.func, t: PropTypes.func, } render() { const { metricsEvent, t } = this.context const { nextRoute, history, setParticipateInMetaMetrics, firstTimeSelectionMetaMetricsName, participateInMetaMetrics, } = this.props return (
{t('metametricsHelpImproveMetaMask')}
{t('metametricsOptInDescription')}
{t('metametricsCommitmentsIntro')}
{t('metametricsCommitmentsAllowOptOut')}
{t('metametricsCommitmentsSendAnonymizedEvents')}
{t('metametricsCommitmentsNeverCollectKeysEtc', [ {t('metametricsCommitmentsBoldNever')} , ])}
{t('metametricsCommitmentsNeverCollectIP', [ {t('metametricsCommitmentsBoldNever')} , ])}
{t('metametricsCommitmentsNeverSellDataForProfit', [ {t('metametricsCommitmentsBoldNever')} , ])}
{ await setParticipateInMetaMetrics(false) try { if ( participateInMetaMetrics === null || participateInMetaMetrics === true ) { await metricsEvent({ eventOpts: { category: 'Onboarding', action: 'Metrics Option', name: 'Metrics Opt Out', }, isOptIn: true, flushImmediately: true, }) } } finally { history.push(nextRoute) } }} cancelText={t('noThanks')} hideCancel={false} onSubmit={async () => { const [, metaMetricsId] = await setParticipateInMetaMetrics( true, ) try { const metrics = [] if ( participateInMetaMetrics === null || participateInMetaMetrics === false ) { metrics.push( metricsEvent({ eventOpts: { category: 'Onboarding', action: 'Metrics Option', name: 'Metrics Opt In', }, isOptIn: true, flushImmediately: true, }), ) } metrics.push( metricsEvent({ eventOpts: { category: 'Onboarding', action: 'Import or Create', name: firstTimeSelectionMetaMetricsName, }, isOptIn: true, metaMetricsId, flushImmediately: true, }), ) await Promise.all(metrics) } finally { history.push(nextRoute) } }} submitText={t('affirmAgree')} submitButtonType="primary" disabled={false} />
{t('gdprMessage', [ {t('gdprMessagePrivacyPolicy')} , ])}
) } }