old_contents: import { connect } from 'react-redux';
  import ComposeForm from '../components/compose_form';
  import {
    changeCompose,
    submitCompose,
    clearComposeSuggestions,
    fetchComposeSuggestions,
    selectComposeSuggestion,
    changeComposeSpoilerText,
    insertEmojiCompose,
    uploadCompose,
  } from '../../../actions/compose';
  
  const mapStateToProps = state => ({
    text: state.getIn(['compose', 'text']),
    suggestions: state.getIn(['compose', 'suggestions']),
    spoiler: state.getIn(['compose', 'spoiler']),
    spoilerText: state.getIn(['compose', 'spoiler_text']),
    privacy: state.getIn(['compose', 'privacy']),
    focusDate: state.getIn(['compose', 'focusDate']),
    caretPosition: state.getIn(['compose', 'caretPosition']),
    preselectDate: state.getIn(['compose', 'preselectDate']),
    is_submitting: state.getIn(['compose', 'is_submitting']),
    isChangingUpload: state.getIn(['compose', 'is_changing_upload']),
    isUploading: state.getIn(['compose', 'is_uploading']),
    showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
    anyMedia: state.getIn(['compose', 'media_attachments']).size > 0,
  });
  
  const mapDispatchToProps = (dispatch) => ({
  
    onChange (text) {
      dispatch(changeCompose(text));
    },
  
    onSubmit (router) {
      dispatch(submitCompose(router));
    },
  
    onClearSuggestions () {
      dispatch(clearComposeSuggestions());
    },
  
    onFetchSuggestions (token) {
      dispatch(fetchComposeSuggestions(token));
    },
  
    onSuggestionSelected (position, token, suggestion, path) {
      dispatch(selectComposeSuggestion(position, token, suggestion, path));
    },
  
    onChangeSpoilerText (checked) {
      dispatch(changeComposeSpoilerText(checked));
    },
  
    onPaste (files) {
      dispatch(uploadCompose(files));
    },
  
    onPickEmoji (position, data, needsSpace) {
      dispatch(insertEmojiCompose(position, data, needsSpace));
    },
  
  });
  
  export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);
  
new_contents: import { connect } from 'react-redux';
  import ComposeForm from '../components/compose_form';
  import {
    changeCompose,
    submitCompose,
    clearComposeSuggestions,
    fetchComposeSuggestions,
    selectComposeSuggestion,
    changeComposeSpoilerText,
    insertEmojiCompose,
    uploadCompose,
  } from '../../../actions/compose';
  
  const mapStateToProps = state => ({
    text: state.getIn(['compose', 'text']),
    suggestions: state.getIn(['compose', 'suggestions']),
    spoiler: state.getIn(['compose', 'spoiler']),
    spoilerText: state.getIn(['compose', 'spoiler_text']),
    privacy: state.getIn(['compose', 'privacy']),
    focusDate: state.getIn(['compose', 'focusDate']),
    caretPosition: state.getIn(['compose', 'caretPosition']),
    preselectDate: state.getIn(['compose', 'preselectDate']),
    isSubmitting: state.getIn(['compose', 'is_submitting']),
    isChangingUpload: state.getIn(['compose', 'is_changing_upload']),
    isUploading: state.getIn(['compose', 'is_uploading']),
    showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),
    anyMedia: state.getIn(['compose', 'media_attachments']).size > 0,
  });
  
  const mapDispatchToProps = (dispatch) => ({
  
    onChange (text) {
      dispatch(changeCompose(text));
    },
  
    onSubmit (router) {
      dispatch(submitCompose(router));
    },
  
    onClearSuggestions () {
      dispatch(clearComposeSuggestions());
    },
  
    onFetchSuggestions (token) {
      dispatch(fetchComposeSuggestions(token));
    },
  
    onSuggestionSelected (position, token, suggestion, path) {
      dispatch(selectComposeSuggestion(position, token, suggestion, path));
    },
  
    onChangeSpoilerText (checked) {
      dispatch(changeComposeSpoilerText(checked));
    },
  
    onPaste (files) {
      dispatch(uploadCompose(files));
    },
  
    onPickEmoji (position, data, needsSpace) {
      dispatch(insertEmojiCompose(position, data, needsSpace));
    },
  
  });
  
  export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);
  
subject: fix `isSubmitting` prop case (#10785)