import { connect } from 'react-redux'; import ComposeForm from '../components/compose_form'; import { uploadCompose } from '../../../actions/compose'; import { changeCompose, submitCompose, clearComposeSuggestions, fetchComposeSuggestions, selectComposeSuggestion, changeComposeSpoilerText, insertEmojiCompose } from '../../../actions/compose'; const mapStateToProps = state => ({ text: state.getIn(['compose', 'text']), suggestion_token: state.getIn(['compose', 'suggestion_token']), suggestions: state.getIn(['compose', 'suggestions']), spoiler: state.getIn(['compose', 'spoiler']), spoiler_text: state.getIn(['compose', 'spoiler_text']), privacy: state.getIn(['compose', 'privacy']), focusDate: state.getIn(['compose', 'focusDate']), preselectDate: state.getIn(['compose', 'preselectDate']), is_submitting: state.getIn(['compose', 'is_submitting']), is_uploading: state.getIn(['compose', 'is_uploading']), me: state.getIn(['compose', 'me']) }); const mapDispatchToProps = (dispatch) => ({ onChange (text) { dispatch(changeCompose(text)); }, onSubmit () { dispatch(submitCompose()); }, onClearSuggestions () { dispatch(clearComposeSuggestions()); }, onFetchSuggestions (token) { dispatch(fetchComposeSuggestions(token)); }, onSuggestionSelected (position, token, accountId) { dispatch(selectComposeSuggestion(position, token, accountId)); }, onChangeSpoilerText (checked) { dispatch(changeComposeSpoilerText(checked)); }, onPaste (files) { dispatch(uploadCompose(files)); }, onPickEmoji (position, data) { dispatch(insertEmojiCompose(position, data)); }, }); export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);