diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index 8a8540522f..7bba41ee97 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -817,12 +817,16 @@ export function insertFeaturedTagCompose(position, data) { }; } -export function insertReferenceCompose(position, url, attributeType) { - return { - type: COMPOSE_REFERENCE_INSERT, - position, - url, - attributeType, +export function insertReferenceCompose(position, url, attributeType, routerHistory) { + return (dispatch, getState) => { + dispatch({ + type: COMPOSE_REFERENCE_INSERT, + position, + url, + attributeType, + }); + + ensureComposeIsVisible(getState, routerHistory); }; } diff --git a/app/javascript/mastodon/components/status_action_bar.jsx b/app/javascript/mastodon/components/status_action_bar.jsx index d88e68a1e4..1a38189e10 100644 --- a/app/javascript/mastodon/components/status_action_bar.jsx +++ b/app/javascript/mastodon/components/status_action_bar.jsx @@ -290,11 +290,11 @@ class StatusActionBar extends ImmutablePureComponent { }; handleReference = () => { - this.props.onReference(this.props.status); + this.props.onReference(this.props.status, this.props.history); }; handleQuote = () => { - this.props.onQuote(this.props.status); + this.props.onQuote(this.props.status, this.props.history); }; handleHideClick = () => { diff --git a/app/javascript/mastodon/containers/status_container.jsx b/app/javascript/mastodon/containers/status_container.jsx index 1ed546a57b..74490a252d 100644 --- a/app/javascript/mastodon/containers/status_container.jsx +++ b/app/javascript/mastodon/containers/status_container.jsx @@ -203,12 +203,12 @@ const mapDispatchToProps = (dispatch, { intl, contextType }) => ({ }); }, - onReference (status) { - dispatch(insertReferenceCompose(0, status.get('url'), 'BT')); + onReference (status, router) { + dispatch(insertReferenceCompose(0, status.get('url'), 'BT', router)); }, - onQuote (status) { - dispatch(insertReferenceCompose(0, status.get('url'), 'QT')); + onQuote (status, router) { + dispatch(insertReferenceCompose(0, status.get('url'), 'QT', router)); }, onTranslate (status) { diff --git a/app/javascript/mastodon/features/status/components/action_bar.jsx b/app/javascript/mastodon/features/status/components/action_bar.jsx index 6eb4fb1a47..0f35e38cae 100644 --- a/app/javascript/mastodon/features/status/components/action_bar.jsx +++ b/app/javascript/mastodon/features/status/components/action_bar.jsx @@ -225,11 +225,11 @@ class ActionBar extends PureComponent { }; handleReference = () => { - this.props.onReference(this.props.status); + this.props.onReference(this.props.status, this.props.history); }; handleQuote = () => { - this.props.onQuote(this.props.status); + this.props.onQuote(this.props.status, this.props.history); }; handleEmojiPick = (data) => { diff --git a/app/javascript/mastodon/features/status/index.jsx b/app/javascript/mastodon/features/status/index.jsx index 1a8cb39b18..1c0b1ab13d 100644 --- a/app/javascript/mastodon/features/status/index.jsx +++ b/app/javascript/mastodon/features/status/index.jsx @@ -368,12 +368,12 @@ class Status extends ImmutablePureComponent { this.handleReblogClick(status, e, true); }; - handleReference = (status) => { - this.props.dispatch(insertReferenceCompose(0, status.get('url'), 'BT')); + handleReference = (status, router) => { + this.props.dispatch(insertReferenceCompose(0, status.get('url'), 'BT', router)); }; - handleQuote = (status) => { - this.props.dispatch(insertReferenceCompose(0, status.get('url'), 'QT')); + handleQuote = (status, router) => { + this.props.dispatch(insertReferenceCompose(0, status.get('url'), 'QT', router)); }; handleBookmarkClick = (status) => {