From f72936b4e696049a9829fc84b0ec5a84e4ecf7bb Mon Sep 17 00:00:00 2001 From: KY Date: Mon, 16 Oct 2017 20:10:12 +0800 Subject: [PATCH] Fix #5082 - disable retweet link for followers only toot (#5397) * Fix #5082 - disable retweet link for followers only toot * Hide reblog count when it is a direct message --- .../status/components/detailed_status.js | 26 ++++++++++++++----- .../stream_entries/_detailed_status.html.haml | 13 +++++++--- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js index 4fd1c2ec0..c10e2c531 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.js +++ b/app/javascript/mastodon/features/status/components/detailed_status.js @@ -43,6 +43,8 @@ export default class DetailedStatus extends ImmutablePureComponent { let media = ''; let applicationLink = ''; + let reblogLink = ''; + let reblogIcon = 'retweet'; if (status.get('media_attachments').size > 0) { if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) { @@ -80,6 +82,23 @@ export default class DetailedStatus extends ImmutablePureComponent { applicationLink = · {status.getIn(['application', 'name'])}; } + if (status.get('visibility') === 'direct') { + reblogIcon = 'envelope'; + } else if (status.get('visibility') === 'private') { + reblogIcon = 'lock'; + } + + if (status.get('visibility') === 'private') { + reblogLink = ; + } else { + reblogLink = ( + + + + + ); + } + return (
@@ -94,12 +113,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
- {applicationLink} · - - - - - · + {applicationLink} · {reblogLink} · diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml index ceb796743..3119ebf4b 100644 --- a/app/views/stream_entries/_detailed_status.html.haml +++ b/app/views/stream_entries/_detailed_status.html.haml @@ -39,9 +39,16 @@ - else = link_to status.application.name, status.application.website, class: 'detailed-status__application', target: '_blank', rel: 'noopener' · - %span< - = fa_icon('retweet') - %span= status.reblogs_count + - if status.direct_visibility? + %span< + = fa_icon('envelope') + - elsif status.private_visibility? + %span< + = fa_icon('lock') + - else + %span< + = fa_icon('retweet') + %span= status.reblogs_count · %span< = fa_icon('star')