diff --git a/app/javascript/flavours/glitch/components/status_action_bar.js b/app/javascript/flavours/glitch/components/status_action_bar.js
index 977c98ccbc..2f0f55f507 100644
--- a/app/javascript/flavours/glitch/components/status_action_bar.js
+++ b/app/javascript/flavours/glitch/components/status_action_bar.js
@@ -25,6 +25,7 @@ const messages = defineMessages({
replyAll: { id: 'status.replyAll', defaultMessage: 'Reply to thread' },
reblog: { id: 'status.reblog', defaultMessage: 'Boost' },
reblog_private: { id: 'status.reblog_private', defaultMessage: 'Boost with original visibility' },
+ quote: { id: 'status.quote', defaultMessage: 'Quote' },
cancel_reblog_private: { id: 'status.cancel_reblog_private', defaultMessage: 'Unboost' },
cannot_reblog: { id: 'status.cannot_reblog', defaultMessage: 'This post cannot be boosted' },
favourite: { id: 'status.favourite', defaultMessage: 'Favourite' },
@@ -58,6 +59,7 @@ class StatusActionBar extends ImmutablePureComponent {
onReply: PropTypes.func,
onFavourite: PropTypes.func,
onReblog: PropTypes.func,
+ onQuote: PropTypes.func,
onDelete: PropTypes.func,
onDirect: PropTypes.func,
onMention: PropTypes.func,
@@ -124,6 +126,17 @@ class StatusActionBar extends ImmutablePureComponent {
}
}
+ handleQuoteClick = () => {
+ const { signedIn } = this.context.identity;
+
+ if (signedIn) {
+ this.props.onQuote(this.props.status, this.context.router.history);
+ } else {
+ // TODO(ariadne): Add an interaction modal for quoting specifically.
+ this.props.onInteractionModal('reply', this.props.status);
+ }
+ }
+
handleBookmarkClick = (e) => {
this.props.onBookmark(this.props.status, e);
}
@@ -307,6 +320,8 @@ class StatusActionBar extends ImmutablePureComponent {
obfuscateCount
/>
+
+
{shareButton}