diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/app/pages/settings/security-tab/security-tab.component.js | 29 | ||||
-rw-r--r-- | ui/app/pages/settings/security-tab/security-tab.container.js | 6 | ||||
-rw-r--r-- | ui/app/selectors/transactions.js | 5 |
3 files changed, 40 insertions, 0 deletions
diff --git a/ui/app/pages/settings/security-tab/security-tab.component.js b/ui/app/pages/settings/security-tab/security-tab.component.js index 600ec7069..117010d0f 100644 --- a/ui/app/pages/settings/security-tab/security-tab.component.js +++ b/ui/app/pages/settings/security-tab/security-tab.component.js @@ -18,6 +18,8 @@ export default class SecurityTab extends PureComponent { mobileSync: PropTypes.bool, participateInMetaMetrics: PropTypes.bool, setParticipateInMetaMetrics: PropTypes.func, + showIncomingTransactions: PropTypes.bool, + setShowIncomingTransactionsFeatureFlag: PropTypes.func, } renderSeedWords () { @@ -80,6 +82,32 @@ export default class SecurityTab extends PureComponent { ) } + renderIncomingTransactionsOptIn () { + const { t } = this.context + const { showIncomingTransactions, setShowIncomingTransactionsFeatureFlag } = this.props + + return ( + <div className="settings-page__content-row"> + <div className="settings-page__content-item"> + <span>{ t('showIncomingTransactions') }</span> + <div className="settings-page__content-description"> + { t('showIncomingTransactionsDescription') } + </div> + </div> + <div className="settings-page__content-item"> + <div className="settings-page__content-item-col"> + <ToggleButton + value={showIncomingTransactions} + onToggle={value => setShowIncomingTransactionsFeatureFlag(!value)} + offLabel={t('off')} + onLabel={t('on')} + /> + </div> + </div> + </div> + ) + } + renderContent () { const { warning } = this.props @@ -87,6 +115,7 @@ export default class SecurityTab extends PureComponent { <div className="settings-page__body"> { warning && <div className="settings-tab__error">{ warning }</div> } { this.renderSeedWords() } + { this.renderIncomingTransactionsOptIn() } { this.renderMetaMetricsOptIn() } </div> ) diff --git a/ui/app/pages/settings/security-tab/security-tab.container.js b/ui/app/pages/settings/security-tab/security-tab.container.js index fe79d86af..35375ebf5 100644 --- a/ui/app/pages/settings/security-tab/security-tab.container.js +++ b/ui/app/pages/settings/security-tab/security-tab.container.js @@ -5,17 +5,22 @@ import { withRouter } from 'react-router-dom' import { displayWarning, revealSeedConfirmation, + setFeatureFlag, setParticipateInMetaMetrics, } from '../../../store/actions' const mapStateToProps = state => { const { appState: { warning }, metamask } = state const { + featureFlags: { + showIncomingTransactions, + } = {}, participateInMetaMetrics, } = metamask return { warning, + showIncomingTransactions, participateInMetaMetrics, } } @@ -25,6 +30,7 @@ const mapDispatchToProps = dispatch => { displayWarning: warning => dispatch(displayWarning(warning)), revealSeedConfirmation: () => dispatch(revealSeedConfirmation()), setParticipateInMetaMetrics: (val) => dispatch(setParticipateInMetaMetrics(val)), + setShowIncomingTransactionsFeatureFlag: shouldShow => dispatch(setFeatureFlag('showIncomingTransactions', shouldShow)), } } diff --git a/ui/app/selectors/transactions.js b/ui/app/selectors/transactions.js index d52170c34..2a6a92ddf 100644 --- a/ui/app/selectors/transactions.js +++ b/ui/app/selectors/transactions.js @@ -16,6 +16,11 @@ import txHelper from '../../lib/tx-helper' export const shapeShiftTxListSelector = state => state.metamask.shapeShiftTxList export const incomingTxListSelector = state => { + const { showIncomingTransactions } = state.metamask.featureFlags + if (!showIncomingTransactions) { + return [] + } + const network = state.metamask.network const selectedAddress = state.metamask.selectedAddress return Object.values(state.metamask.incomingTransactions) |