diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js
index 043a749ed..d97190698 100644
--- a/app/javascript/mastodon/features/status/components/detailed_status.js
+++ b/app/javascript/mastodon/features/status/components/detailed_status.js
@@ -54,8 +54,15 @@ class DetailedStatus extends ImmutablePureComponent {
handleAccountClick = (e) => {
if (e.button === 0 && !(e.ctrlKey || e.metaKey) && this.context.router) {
+ const id = e.currentTarget.getAttribute('data-id');
+ const group = e.currentTarget.getAttribute('data-group') !== 'false';
+
e.preventDefault();
- this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);
+ if (group) {
+ this.context.router.history.push(`/timelines/groups/${id}`);
+ } else {
+ this.context.router.history.push(`/accounts/${id}`);
+ }
}
e.stopPropagation();
@@ -121,6 +128,95 @@ class DetailedStatus extends ImmutablePureComponent {
outerStyle.height = `${this.state.height}px`;
}
+ let quote = null;
+ if (status.get('quote', null) !== null) {
+ let quote_status = status.get('quote');
+
+ let quote_media = null;
+ if (quote_status.get('media_attachments').size > 0) {
+
+ if (quote_status.getIn(['media_attachments', 0, 'type']) === 'audio') {
+ const attachment = quote_status.getIn(['media_attachments', 0]);
+
+ quote_media = (
+
+ );
+ } else if (quote_status.getIn(['media_attachments', 0, 'type']) === 'video') {
+ const attachment = quote_status.getIn(['media_attachments', 0]);
+
+ quote_media = (
+
+ );
+ } else {
+ quote_media = (
+
+ );
+ }
+ }
+
+ if (quote_muted) {
+ quote = (
+
+ );
+ } else {
+ quote = (
+
+
+
+
+
+
+
+ {quote_media}
+
+ );
+ }
+ } else if (quote_muted) {
+ quote = (
+
+ );
+ }
+
if (pictureInPicture.get('inUse')) {
media =
;
} else if (status.get('media_attachments').size > 0) {
@@ -239,8 +335,8 @@ class DetailedStatus extends ImmutablePureComponent {
return (