1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 10:30:04 +01:00
metamask-extension/ui/pages/settings/advanced-tab/advanced-tab.container.js
Olusegun Akintayo 4f34e72085
3box Replacement (#15243)
* Backup user data

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Tests for prependZero (utils.js)

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Fix advancedtab test

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

backup controller tests

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Lint fixes

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Backup controller don't have a store.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Restore from file.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Advanced Tab tests

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Lint fix

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

e2e tests for backup
unit tests for restore.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Fix comments on PR.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

restore style

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Lint fixes

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

We should move the exportAsFile to a utility file in the shared/ directory

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Move export as file to shared folder

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Refactor create download folder methods

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Lint fixes.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Move the backup/restore buttons closer to 3box

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Change descriptions
Add to search

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

refactor code to use if instead of &&

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Lint fixes

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Restore button should change cursor to pointer.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Fix restore not uploading same file twice.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Do not backup these items in preferences
    identities
    lostIdentities
    selectedAddress

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

lint fixes.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Only update what is needed.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Fixed test for search

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* remove txError as it currently does nothing.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Remove dispatch, not needed since we're not dispatching any actions.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Event should be title case.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Make backup/restore normal async functions
rename event as per product suggestion.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Use success Actionable message for success message and danger for error
message

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* change event name to match with backup

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Lint fixes

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* lint fixes
Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* fix e2e

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2022-08-09 19:36:32 +01:00

113 lines
3.3 KiB
JavaScript

import { compose } from 'redux';
import { connect } from 'react-redux';
import { withRouter } from 'react-router-dom';
import {
displayWarning,
setFeatureFlag,
showModal,
setShowFiatConversionOnTestnetsPreference,
setShowTestNetworks,
setAutoLockTimeLimit,
setThreeBoxSyncingPermission,
turnThreeBoxSyncingOnAndInitialize,
setUseNonceField,
setIpfsGateway,
setLedgerTransportPreference,
setDismissSeedBackUpReminder,
setUseTokenDetection,
backupUserData,
restoreUserData,
} from '../../../store/actions';
import { getPreferences } from '../../../selectors';
import { doesUserHaveALedgerAccount } from '../../../ducks/metamask/metamask';
import AdvancedTab from './advanced-tab.component';
export const mapStateToProps = (state) => {
const {
appState: { warning },
metamask,
} = state;
const {
featureFlags: { sendHexData, advancedInlineGas } = {},
threeBoxSyncingAllowed,
threeBoxDisabled,
useNonceField,
ipfsGateway,
ledgerTransportType,
dismissSeedBackUpReminder,
useTokenDetection,
} = metamask;
const {
showFiatInTestnets,
showTestNetworks,
autoLockTimeLimit = 0,
} = getPreferences(state);
const userHasALedgerAccount = doesUserHaveALedgerAccount(state);
return {
warning,
sendHexData,
advancedInlineGas,
showFiatInTestnets,
showTestNetworks,
autoLockTimeLimit,
threeBoxSyncingAllowed,
threeBoxDisabled,
useNonceField,
ipfsGateway,
ledgerTransportType,
dismissSeedBackUpReminder,
userHasALedgerAccount,
useTokenDetection,
};
};
export const mapDispatchToProps = (dispatch) => {
return {
backupUserData: () => backupUserData(),
restoreUserData: (jsonString) => restoreUserData(jsonString),
setHexDataFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('sendHexData', shouldShow)),
displayWarning: (warning) => dispatch(displayWarning(warning)),
showResetAccountConfirmationModal: () =>
dispatch(showModal({ name: 'CONFIRM_RESET_ACCOUNT' })),
setAdvancedInlineGasFeatureFlag: (shouldShow) =>
dispatch(setFeatureFlag('advancedInlineGas', shouldShow)),
setUseNonceField: (value) => dispatch(setUseNonceField(value)),
setShowFiatConversionOnTestnetsPreference: (value) => {
return dispatch(setShowFiatConversionOnTestnetsPreference(value));
},
setShowTestNetworks: (value) => {
return dispatch(setShowTestNetworks(value));
},
setAutoLockTimeLimit: (value) => {
return dispatch(setAutoLockTimeLimit(value));
},
setThreeBoxSyncingPermission: (newThreeBoxSyncingState) => {
if (newThreeBoxSyncingState) {
dispatch(turnThreeBoxSyncingOnAndInitialize());
} else {
dispatch(setThreeBoxSyncingPermission(newThreeBoxSyncingState));
}
},
setIpfsGateway: (value) => {
return dispatch(setIpfsGateway(value));
},
setLedgerTransportPreference: (value) => {
return dispatch(setLedgerTransportPreference(value));
},
setDismissSeedBackUpReminder: (value) => {
return dispatch(setDismissSeedBackUpReminder(value));
},
setUseTokenDetection: (value) => {
return dispatch(setUseTokenDetection(value));
},
};
};
export default compose(
withRouter,
connect(mapStateToProps, mapDispatchToProps),
)(AdvancedTab);