text: 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 <IgnoreUserAction ignoreUser={this.ignoreUser} />;
    }
  }
  
  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);
  