1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-24 20:32:02 +02:00
metamask-extension/ui/app/pages/settings/advanced-tab/advanced-tab.container.js
2020-11-02 17:41:28 -06:00

81 lines
2.4 KiB
JavaScript

import { compose } from 'redux'
import { connect } from 'react-redux'
import { withRouter } from 'react-router-dom'
import {
displayWarning,
setFeatureFlag,
showModal,
setShowFiatConversionOnTestnetsPreference,
setAutoLockTimeLimit,
setThreeBoxSyncingPermission,
turnThreeBoxSyncingOnAndInitialize,
setUseNonceField,
setIpfsGateway,
} from '../../../store/actions'
import { getPreferences } from '../../../selectors'
import AdvancedTab from './advanced-tab.component'
export const mapStateToProps = (state) => {
const {
appState: { warning },
metamask,
} = state
const {
featureFlags: { sendHexData, transactionTime, advancedInlineGas } = {},
threeBoxSyncingAllowed,
threeBoxDisabled,
useNonceField,
ipfsGateway,
} = metamask
const { showFiatInTestnets, autoLockTimeLimit } = getPreferences(state)
return {
warning,
sendHexData,
advancedInlineGas,
transactionTime,
showFiatInTestnets,
autoLockTimeLimit,
threeBoxSyncingAllowed,
threeBoxDisabled,
useNonceField,
ipfsGateway,
}
}
export const mapDispatchToProps = (dispatch) => {
return {
setHexDataFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('sendHexData', shouldShow)),
displayWarning: (warning) => dispatch(displayWarning(warning)),
showResetAccountConfirmationModal: () =>
dispatch(showModal({ name: 'CONFIRM_RESET_ACCOUNT' })),
setAdvancedInlineGasFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('advancedInlineGas', shouldShow)),
setTransactionTimeFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('transactionTime', shouldShow)),
setUseNonceField: (value) => dispatch(setUseNonceField(value)),
setShowFiatConversionOnTestnetsPreference: (value) => {
return dispatch(setShowFiatConversionOnTestnetsPreference(value))
},
setAutoLockTimeLimit: (value) => {
return dispatch(setAutoLockTimeLimit(value))
},
setThreeBoxSyncingPermission: (newThreeBoxSyncingState) => {
if (newThreeBoxSyncingState) {
dispatch(turnThreeBoxSyncingOnAndInitialize())
} else {
dispatch(setThreeBoxSyncingPermission(newThreeBoxSyncingState))
}
},
setIpfsGateway: (value) => {
return dispatch(setIpfsGateway(value))
},
}
}
export default compose(
withRouter,
connect(mapStateToProps, mapDispatchToProps),
)(AdvancedTab)