import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import ToggleButton from '../../../components/ui/toggle-button'; export default class ExperimentalTab extends PureComponent { static contextTypes = { t: PropTypes.func, metricsEvent: PropTypes.func, }; static propTypes = { useTokenDetection: PropTypes.bool, setUseTokenDetection: PropTypes.func, useCollectibleDetection: PropTypes.bool, setUseCollectibleDetection: PropTypes.func, setOpenSeaEnabled: PropTypes.func, openSeaEnabled: PropTypes.func, }; renderTokenDetectionToggle() { const { t } = this.context; const { useTokenDetection, setUseTokenDetection } = this.props; return (
{t('useTokenDetection')}
{t('useTokenDetectionDescription')}
{ this.context.metricsEvent({ eventOpts: { category: 'Settings', action: 'Token Detection', name: 'Token Detection', }, }); setUseTokenDetection(!value); }} offLabel={t('off')} onLabel={t('on')} />
); } renderCollectibleDetectionToggle() { if (!process.env.COLLECTIBLES_V1) { return null; } const { t } = this.context; const { useCollectibleDetection, setUseCollectibleDetection, openSeaEnabled, } = this.props; return (
{t('useCollectibleDetection')}
{t('useCollectibleDetectionDescription')}
{ this.context.metricsEvent({ eventOpts: { category: 'Settings', action: 'Collectible Detection', name: 'Collectible Detection', }, }); setUseCollectibleDetection(!value); }} offLabel={t('off')} onLabel={t('on')} />
); } renderOpenSeaEnabledToggle() { if (!process.env.COLLECTIBLES_V1) { return null; } const { t } = this.context; const { openSeaEnabled, setOpenSeaEnabled } = this.props; return (
{t('enableOpenSeaAPI')}
{t('enableOpenSeaAPIDescription')}
{ this.context.metricsEvent({ eventOpts: { category: 'Settings', action: 'Enabled/Disable OpenSea', name: 'Enabled/Disable OpenSea', }, }); setOpenSeaEnabled(!value); }} offLabel={t('off')} onLabel={t('on')} />
); } render() { return (
{this.renderTokenDetectionToggle()} {this.renderOpenSeaEnabledToggle()} {this.renderCollectibleDetectionToggle()}
); } }