* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time
64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
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);
|