import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import { ContainerOwnProps, ContainerDispatchProps, ContainerStateProps } from './interfaces' import * as AvatarSelectors from '../../../modules/avatar/selectors' import * as EnrichmentSelectors from '../../../modules/enrichment/selectors' import { addEmailToMuteList, addDomainToMuteList } from '../../../modules/settings/actions' import { emailOnMuteList, domainOnMuteList } from '../../../modules/settings/selectors' import ExpandableActivityGroup from './component' const makeMapStateToProps = (): any => { const avatarUrl = AvatarSelectors.makeAvatarUrl() const avatarStatus = AvatarSelectors.makeAvatarStatus() const profile = EnrichmentSelectors.makeProfile() return (state: any, props: ContainerOwnProps) => ({ profile: profile(state, { email: props.activityGroup.email }), avatarUrl: avatarUrl(state, { email: props.activityGroup.email }), avatarStatus: avatarStatus(state, { email: props.activityGroup.email }), emailOnMuteList: emailOnMuteList(state, props.activityGroup.email), domainOnMuteList: domainOnMuteList(state, props.activityGroup.email.split('@').pop()), }) } const mapDispatchToProps = (dispatch: any) => ({ actions: bindActionCreators( { addEmailToMuteList, addDomainToMuteList, }, dispatch, ), }) export default connect(makeMapStateToProps, mapDispatchToProps)(ExpandableActivityGroup)