Skip to content

Commit

Permalink
Connect connected-status-indicator to state so that it correctly disp…
Browse files Browse the repository at this point in the history
…lays status
  • Loading branch information
danjm committed Apr 1, 2020
1 parent 68affdd commit decf103
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'
import { ENVIRONMENT_TYPE_POPUP } from '../../../../../app/scripts/lib/enums'
import { getEnvironmentType } from '../../../../../app/scripts/lib/util'
import {
STATUS_CONNECTED,
STATUS_CONNECTED_TO_ANOTHER_ACCOUNT,
Expand Down Expand Up @@ -51,8 +53,13 @@ export default class ConnectedStatusIndicator extends Component {
}

render () {
console.log('getEnvironmentType()', getEnvironmentType())
console.log('ENVIRONMENT_TYPE_POPUP', ENVIRONMENT_TYPE_POPUP)
return (
<div className="connected-status-indicator">
<div className={classnames('connected-status-indicator', {
invisible: getEnvironmentType() !== ENVIRONMENT_TYPE_POPUP,
})}
>
{ this.renderStatusCircle() }
{ this.renderStatusText() }
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { connect } from 'react-redux'
import ConnectedStatusIndicator from './connected-status-indicator.component'
import {
STATUS_CONNECTED,
STATUS_CONNECTED_TO_ANOTHER_ACCOUNT,
STATUS_NOT_CONNECTED,
} from '../../../helpers/constants/connected-sites'
import {
getAddressConnectedDomainMap,
getOriginOfCurrentTab,
getSelectedAddress,
} from '../../../selectors/selectors'


const mapStateToProps = (state) => {
const selectedAddress = getSelectedAddress(state)
const addressConnectedDomainMap = getAddressConnectedDomainMap(state)
const originOfCurrentTab = getOriginOfCurrentTab(state)

const selectedAddressDomainMap = addressConnectedDomainMap[selectedAddress]
const currentTabIsConnectedToSelectedAddress = selectedAddressDomainMap && selectedAddressDomainMap[originOfCurrentTab]

const allConnectedDomains = Object.values(addressConnectedDomainMap).reduce((acc, val) => {
return { ...acc, ...val }
}, {})
const currentTabIsConnectToSomeOtherAddress = !currentTabIsConnectedToSelectedAddress && allConnectedDomains[originOfCurrentTab]

let status
if (currentTabIsConnectedToSelectedAddress) {
status = STATUS_CONNECTED
} else if (currentTabIsConnectToSomeOtherAddress) {
status = STATUS_CONNECTED_TO_ANOTHER_ACCOUNT
} else {
status = STATUS_NOT_CONNECTED
}

return {
status,
}
}

export default connect(mapStateToProps)(ConnectedStatusIndicator)
2 changes: 1 addition & 1 deletion ui/app/components/app/connected-status-indicator/index.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { default } from './connected-status-indicator.component'
export { default } from './connected-status-indicator.container'

0 comments on commit decf103

Please sign in to comment.