mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-27 21:00:13 +01:00
c4fb514f3d
The unconnected account alert can now be disabled. A "don't show this again" checkbox has been added to the alert, which prevents that alert from being shown in the future. An alert settings page has been added to the settings as well. This page allows the user to disable or enable any alert.
97 lines
2.9 KiB
JavaScript
97 lines
2.9 KiB
JavaScript
import Settings from './settings.component'
|
|
import { compose } from 'redux'
|
|
import { connect } from 'react-redux'
|
|
import { withRouter } from 'react-router-dom'
|
|
import { getAddressBookEntryName } from '../../selectors'
|
|
import { isValidAddress } from '../../helpers/utils/util'
|
|
import { ENVIRONMENT_TYPE_POPUP } from '../../../../app/scripts/lib/enums'
|
|
import { getEnvironmentType } from '../../../../app/scripts/lib/util'
|
|
|
|
import {
|
|
CONNECTIONS_ROUTE,
|
|
ADVANCED_ROUTE,
|
|
SECURITY_ROUTE,
|
|
GENERAL_ROUTE,
|
|
ALERTS_ROUTE,
|
|
ABOUT_US_ROUTE,
|
|
SETTINGS_ROUTE,
|
|
CONTACT_LIST_ROUTE,
|
|
CONTACT_ADD_ROUTE,
|
|
CONTACT_EDIT_ROUTE,
|
|
CONTACT_VIEW_ROUTE,
|
|
CONTACT_MY_ACCOUNTS_ROUTE,
|
|
CONTACT_MY_ACCOUNTS_EDIT_ROUTE,
|
|
CONTACT_MY_ACCOUNTS_VIEW_ROUTE,
|
|
} from '../../helpers/constants/routes'
|
|
|
|
const ROUTES_TO_I18N_KEYS = {
|
|
[GENERAL_ROUTE]: 'general',
|
|
[CONNECTIONS_ROUTE]: 'connections',
|
|
[ADVANCED_ROUTE]: 'advanced',
|
|
[SECURITY_ROUTE]: 'securityAndPrivacy',
|
|
[ABOUT_US_ROUTE]: 'about',
|
|
[ALERTS_ROUTE]: 'alerts',
|
|
[CONTACT_LIST_ROUTE]: 'contacts',
|
|
[CONTACT_ADD_ROUTE]: 'newContact',
|
|
[CONTACT_EDIT_ROUTE]: 'editContact',
|
|
[CONTACT_VIEW_ROUTE]: 'viewContact',
|
|
[CONTACT_MY_ACCOUNTS_ROUTE]: 'myAccounts',
|
|
}
|
|
|
|
const mapStateToProps = (state, ownProps) => {
|
|
const { location } = ownProps
|
|
const { pathname } = location
|
|
const pathNameTail = pathname.match(/[^/]+$/)[0]
|
|
|
|
const isAddressEntryPage = pathNameTail.includes('0x')
|
|
const isMyAccountsPage = pathname.match('my-accounts')
|
|
const isAddContactPage = Boolean(pathname.match(CONTACT_ADD_ROUTE))
|
|
const isEditContactPage = Boolean(pathname.match(CONTACT_EDIT_ROUTE))
|
|
const isEditMyAccountsContactPage = Boolean(pathname.match(CONTACT_MY_ACCOUNTS_EDIT_ROUTE))
|
|
|
|
const isPopupView = getEnvironmentType() === ENVIRONMENT_TYPE_POPUP
|
|
const pathnameI18nKey = ROUTES_TO_I18N_KEYS[pathname]
|
|
|
|
let backRoute
|
|
if (isMyAccountsPage && isAddressEntryPage) {
|
|
backRoute = CONTACT_MY_ACCOUNTS_ROUTE
|
|
} else if (isEditContactPage) {
|
|
backRoute = `${CONTACT_VIEW_ROUTE}/${pathNameTail}`
|
|
} else if (isEditMyAccountsContactPage) {
|
|
backRoute = `${CONTACT_MY_ACCOUNTS_VIEW_ROUTE}/${pathNameTail}`
|
|
} else if (isAddressEntryPage || isMyAccountsPage || isAddContactPage) {
|
|
backRoute = CONTACT_LIST_ROUTE
|
|
} else {
|
|
backRoute = SETTINGS_ROUTE
|
|
}
|
|
|
|
let initialBreadCrumbRoute
|
|
let breadCrumbTextKey
|
|
let initialBreadCrumbKey
|
|
if (isMyAccountsPage) {
|
|
initialBreadCrumbRoute = CONTACT_LIST_ROUTE
|
|
breadCrumbTextKey = 'myWalletAccounts'
|
|
initialBreadCrumbKey = ROUTES_TO_I18N_KEYS[initialBreadCrumbRoute]
|
|
}
|
|
|
|
const addressName = getAddressBookEntryName(state, isValidAddress(pathNameTail) ? pathNameTail : '')
|
|
|
|
return {
|
|
isAddressEntryPage,
|
|
isMyAccountsPage,
|
|
backRoute,
|
|
currentPath: pathname,
|
|
isPopupView,
|
|
pathnameI18nKey,
|
|
addressName,
|
|
initialBreadCrumbRoute,
|
|
breadCrumbTextKey,
|
|
initialBreadCrumbKey,
|
|
}
|
|
}
|
|
|
|
export default compose(
|
|
withRouter,
|
|
connect(mapStateToProps)
|
|
)(Settings)
|