};
};
-export function submitCompose() {
+export function submitCompose(routerHistory) {
return function (dispatch, getState) {
let status = getState().getIn(['compose', 'text'], '');
let media = getState().getIn(['compose', 'media_attachments']);
}
};
+ if (routerHistory && routerHistory.location.pathname === '/statuses/new'
+ && window.history.state
+ && !getState().getIn(['compose', 'advanced_options', 'threaded_mode'])) {
+ routerHistory.goBack();
+ }
+
insertIfOnline('home');
if (response.data.in_reply_to_id === null && response.data.visibility === 'public') {
onSelectSuggestion(position, token, suggestion) {
dispatch(selectComposeSuggestion(position, token, suggestion));
},
- onMediaDescriptionConfirm() {
+ onMediaDescriptionConfirm(routerHistory) {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.missingDescriptionMessage),
confirm: intl.formatMessage(messages.missingDescriptionConfirm),
- onConfirm: () => dispatch(submitCompose()),
+ onConfirm: () => dispatch(submitCompose(routerHistory)),
}));
},
- onSubmit() {
- dispatch(submitCompose());
+ onSubmit(routerHistory) {
+ dispatch(submitCompose(routerHistory));
},
onUndoUpload(id) {
dispatch(undoUploadCompose(id));
inputs[firstWithoutDescription].focus();
}
}
- onMediaDescriptionConfirm();
+ onMediaDescriptionConfirm(this.context.router ? this.context.router.history : null);
} else if (onSubmit) {
- onSubmit();
+ onSubmit(this.context.router ? this.context.router.history : null);
}
},
onMediaDescriptionConfirm: PropTypes.func,
};
+Composer.contextTypes = {
+ router: PropTypes.object,
+};
+
// Connecting and export.
export { Composer as WrappedComponent };
export default wrap(Composer, mapStateToProps, mapDispatchToProps, true);