import { connect } from 'react-redux'; import ComposeForm from '../components/compose_form'; import { changeCompose, submitCompose, cancelReplyCompose } from '../actions/compose'; function selectStatus(state) { let statusId = state.getIn(['compose', 'in_reply_to'], null); if (statusId === null) { return null; } let status = state.getIn(['timelines', 'statuses', statusId]); status = status.set('account', state.getIn(['timelines', 'accounts', status.get('account')])); return status; }; const mapStateToProps = function (state, props) { return { text: state.getIn(['compose', 'text']), is_submitting: state.getIn(['compose', 'is_submitting']), in_reply_to: selectStatus(state) }; }; const mapDispatchToProps = function (dispatch) { return { onChange: function (text) { dispatch(changeCompose(text)); }, onSubmit: function () { dispatch(submitCompose()); }, onCancelReply: function () { dispatch(cancelReplyCompose()); } } }; export default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);