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')} , ])}
); } }