From d32e0364f9aa2d61080c53489996351d4bd7b1c4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 21 Nov 2016 10:52:11 +0100 Subject: Switch to compose route when replying and compose is not mounted --- .../javascripts/components/features/compose/index.jsx | 18 ++++++++++++------ .../javascripts/components/features/status/index.jsx | 5 ++++- 2 files changed, 16 insertions(+), 7 deletions(-) (limited to 'app/assets/javascripts/components/features') diff --git a/app/assets/javascripts/components/features/compose/index.jsx b/app/assets/javascripts/components/features/compose/index.jsx index a50118bef..5c1b22e00 100644 --- a/app/assets/javascripts/components/features/compose/index.jsx +++ b/app/assets/javascripts/components/features/compose/index.jsx @@ -1,12 +1,13 @@ -import Drawer from './components/drawer'; +import Drawer from './components/drawer'; import ComposeFormContainer from './containers/compose_form_container'; -import UploadFormContainer from './containers/upload_form_container'; -import NavigationContainer from './containers/navigation_container'; -import PureRenderMixin from 'react-addons-pure-render-mixin'; +import UploadFormContainer from './containers/upload_form_container'; +import NavigationContainer from './containers/navigation_container'; +import PureRenderMixin from 'react-addons-pure-render-mixin'; import SuggestionsContainer from './containers/suggestions_container'; -import SearchContainer from './containers/search_container'; +import SearchContainer from './containers/search_container'; import { fetchSuggestions } from '../../actions/suggestions'; -import { connect } from 'react-redux'; +import { connect } from 'react-redux'; +import { mountCompose, unmountCompose } from '../../actions/compose'; const Compose = React.createClass({ @@ -17,9 +18,14 @@ const Compose = React.createClass({ mixins: [PureRenderMixin], componentDidMount () { + this.props.dispatch(mountCompose()); this.props.dispatch(fetchSuggestions()); }, + componentWillUnmount () { + this.props.dispatch(unmountCompose()); + }, + render () { return ( diff --git a/app/assets/javascripts/components/features/status/index.jsx b/app/assets/javascripts/components/features/status/index.jsx index 553baf863..0a1528fe9 100644 --- a/app/assets/javascripts/components/features/status/index.jsx +++ b/app/assets/javascripts/components/features/status/index.jsx @@ -38,6 +38,9 @@ const makeMapStateToProps = () => { }; const Status = React.createClass({ + contextTypes: { + router: React.PropTypes.object + }, propTypes: { params: React.PropTypes.object.isRequired, @@ -64,7 +67,7 @@ const Status = React.createClass({ }, handleReplyClick (status) { - this.props.dispatch(replyCompose(status)); + this.props.dispatch(replyCompose(status, this.context.router)); }, handleReblogClick (status) { -- cgit