text: import Editor from './containers/Editor';
  import CommentContent from './containers/CommentContent';
  import AdminCommentContent from './containers/AdminCommentContent';
  import translations from './translations.yml';
  
  import { gql } from 'react-apollo';
  
  export default {
    translations,
    slots: {
      draftArea: [Editor],
      commentContent: [CommentContent],
      adminCommentContent: [AdminCommentContent],
      userDetailCommentContent: [AdminCommentContent],
    },
    fragments: {
      CreateCommentResponse: gql`
        fragment TalkRichText_CreateCommentResponse on CreateCommentResponse {
          comment {
            richTextBody
          }
        }
      `,
      EditCommentResponse: gql`
        fragment TalkRichText_EditCommentResponse on EditCommentResponse {
          comment {
            richTextBody
          }
        }
      `,
    },
    mutations: {
      PostComment: ({ variables: { input } }) => {
        return {
          optimisticResponse: {
            createComment: {
              comment: {
                richTextBody: input.richTextBody,
              },
            },
          },
        };
      },
      EditComment: ({ variables: { id, edit } }) => {
        return {
          optimisticResponse: {
            editComment: {
              comment: {
                richTextBody: edit.richTextBody,
              },
            },
          },
          update: proxy => {
            const editCommentFragment = gql`
              fragment TalkRichText_EditComment on Comment {
                richTextBody
              }
            `;
  
            const fragmentId = `Comment_${id}`;
  
            proxy.writeFragment({
              fragment: editCommentFragment,
              id: fragmentId,
              data: {
                __typename: 'Comment',
                richTextBody: edit.richTextBody,
              },
            });
          },
        };
      },
    },
  };
  