import React from 'react'; import IgnoreUserAction from '../components/IgnoreUserAction'; import {compose, gql} from 'react-apollo'; import {connect, withFragments, excludeIf} from 'plugin-api/beta/client/hocs'; import {bindActionCreators} from 'redux'; import {setContentSlot} from 'plugins/talk-plugin-author-menu/client/actions'; import IgnoreUserConfirmation from './IgnoreUserConfirmation'; import {getDefinitionName} from 'plugin-api/beta/client/utils'; class IgnoreUserActionContainer extends React.Component { ignoreUser = () => { this.props.setContentSlot('ignoreUserConfirmation'); }; render() { return ; } } const mapDispatchToProps = (dispatch) => bindActionCreators({ setContentSlot, }, dispatch); const withIgnoreUserActionFragments = withFragments({ root: gql` fragment TalkIgnoreUser_IgnoreUserAction_root on RootQuery { me { id } } `, comment: gql` fragment TalkIgnoreUser_IgnoreUserAction_comment on Comment { user { id } ...${getDefinitionName(IgnoreUserConfirmation.fragments.comment)} } ${IgnoreUserConfirmation.fragments.comment} `, }); const enhance = compose( connect(null, mapDispatchToProps), withIgnoreUserActionFragments, excludeIf(({root: {me}, comment}) => !me || me.id === comment.user.id), ); export default enhance(IgnoreUserActionContainer);