import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import ToggleButton from '../../../components/ui/toggle-button'; import { REVEAL_SEED_ROUTE } from '../../../helpers/constants/routes'; import Button from '../../../components/ui/button'; export default class SecurityTab extends PureComponent { static contextTypes = { t: PropTypes.func, metricsEvent: PropTypes.func, }; static propTypes = { warning: PropTypes.string, history: PropTypes.object, participateInMetaMetrics: PropTypes.bool.isRequired, setParticipateInMetaMetrics: PropTypes.func.isRequired, showIncomingTransactions: PropTypes.bool.isRequired, setShowIncomingTransactionsFeatureFlag: PropTypes.func.isRequired, setUsePhishDetect: PropTypes.func.isRequired, usePhishDetect: PropTypes.bool.isRequired, useTokenDetection: PropTypes.bool.isRequired, setUseTokenDetection: PropTypes.func.isRequired, }; renderSeedWords() { const { t } = this.context; const { history } = this.props; return (
{t('revealSeedWords')}
); } renderMetaMetricsOptIn() { const { t } = this.context; const { participateInMetaMetrics, setParticipateInMetaMetrics, } = this.props; return (
{t('participateInMetaMetrics')}
{t('participateInMetaMetricsDescription')}
setParticipateInMetaMetrics(!value)} offLabel={t('off')} onLabel={t('on')} />
); } renderIncomingTransactionsOptIn() { const { t } = this.context; const { showIncomingTransactions, setShowIncomingTransactionsFeatureFlag, } = this.props; return (
{t('showIncomingTransactions')}
{t('showIncomingTransactionsDescription')}
setShowIncomingTransactionsFeatureFlag(!value) } offLabel={t('off')} onLabel={t('on')} />
); } renderPhishingDetectionToggle() { const { t } = this.context; const { usePhishDetect, setUsePhishDetect } = this.props; return (
{t('usePhishingDetection')}
{t('usePhishingDetectionDescription')}
setUsePhishDetect(!value)} offLabel={t('off')} onLabel={t('on')} />
); } renderTokenDetectionToggle() { const { t } = this.context; const { useTokenDetection, setUseTokenDetection } = this.props; return (
{t('useTokenDetection')}
{t('useTokenDetectionDescription')}
setUseTokenDetection(!value)} offLabel={t('off')} onLabel={t('on')} />
); } render() { const { warning } = this.props; return (
{warning &&
{warning}
} {this.renderSeedWords()} {this.renderIncomingTransactionsOptIn()} {this.renderPhishingDetectionToggle()} {this.renderMetaMetricsOptIn()} {this.renderTokenDetectionToggle()}
); } }