A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
ciphermask/ui/app/pages/connected-accounts/connected-accounts.componen...

75 lines
2.3 KiB

import PropTypes from 'prop-types'
import React, { PureComponent } from 'react'
import { DEFAULT_ROUTE, CONNECTED_ROUTE } from '../../helpers/constants/routes'
import Popover from '../../components/ui/popover'
import ConnectedAccountsList from '../../components/app/connected-accounts-list'
export default class ConnectedAccounts extends PureComponent {
static contextTypes = {
t: PropTypes.func.isRequired,
}
static defaultProps = {
accountToConnect: null,
permissions: undefined,
}
static propTypes = {
accountToConnect: PropTypes.object,
activeTabOrigin: PropTypes.string.isRequired,
addPermittedAccount: PropTypes.func.isRequired,
connectedAccounts: PropTypes.array.isRequired,
permissions: PropTypes.array,
selectedAddress: PropTypes.string.isRequired,
removePermittedAccount: PropTypes.func.isRequired,
setSelectedAddress: PropTypes.func.isRequired,
history: PropTypes.object.isRequired,
}
viewConnectedSites = () => {
this.props.history.push(CONNECTED_ROUTE)
}
render () {
const {
accountToConnect,
activeTabOrigin,
addPermittedAccount,
connectedAccounts,
history,
permissions,
selectedAddress,
removePermittedAccount,
setSelectedAddress,
} = this.props
const { t } = this.context
const connectedAccountsDescription = connectedAccounts.length > 1
? t('connectedAccountsDescriptionPlural', [connectedAccounts.length])
: t('connectedAccountsDescriptionSingular')
return (
<Popover
title={activeTabOrigin}
subtitle={connectedAccounts.length ? connectedAccountsDescription : t('connectedAccountsEmptyDescription')}
onClose={() => history.push(DEFAULT_ROUTE)}
footerClassName="connected-accounts__footer"
footer={
connectedAccounts.length
? null
: <a onClick={this.viewConnectedSites}>{t('viewConnectedSites')}</a>
}
>
<ConnectedAccountsList
accountToConnect={accountToConnect}
addPermittedAccount={addPermittedAccount}
connectedAccounts={connectedAccounts}
permissions={permissions}
selectedAddress={selectedAddress}
removePermittedAccount={removePermittedAccount}
setSelectedAddress={setSelectedAddress}
/>
</Popover>
)
}
}