From 50cd73e5d7e39600203c9c3f591f04289f41e297 Mon Sep 17 00:00:00 2001
From: Sasha Sorokin <dafri.nochiterov8@gmail.com>
Date: Wed, 29 Jan 2020 11:35:54 -0500
Subject: [PATCH] Add "Show thread" button to public profiles (#13000)

This adds "Show thread" button to the status view which is used in
profiles. The logic to display the button is mimicking logic in
web app available at app/javascript/mastodon/components/status.js#L439.

* The little change in components CSS required to remove enforced
  underline for all links on public pages on our button.
---
 app/javascript/styles/mastodon/components.scss | 1 +
 app/views/statuses/_simple_status.html.haml    | 4 ++++
 config/locales/en.yml                          | 1 +
 3 files changed, 6 insertions(+)

diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss
index d72f2e059..7c09780b4 100644
--- a/app/javascript/styles/mastodon/components.scss
+++ b/app/javascript/styles/mastodon/components.scss
@@ -923,6 +923,7 @@
   background: transparent;
   padding: 0;
   padding-top: 8px;
+  text-decoration: none;
 
   &:hover,
   &:active {
diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml
index 66c9412af..5d16b1fc2 100644
--- a/app/views/statuses/_simple_status.html.haml
+++ b/app/views/statuses/_simple_status.html.haml
@@ -45,6 +45,10 @@
   - elsif status.preview_card
     = react_component :card, 'maxDescription': 160, card: ActiveModelSerializers::SerializableResource.new(status.preview_card, serializer: REST::PreviewCardSerializer).as_json
 
+  - if !status.in_reply_to_id.nil? && status.in_reply_to_account_id == status.account.id
+    = link_to ActivityPub::TagManager.instance.url_for(status), class: 'status__content__read-more-button', target: stream_link_target, rel: 'noopener noreferrer' do
+      = t 'statuses.show_thread'
+
   .status__action-bar
     .status__action-bar__counter
       = link_to remote_interaction_path(status, type: :reply), class: 'status__action-bar-button icon-button modal-button', style: 'font-size: 18px; width: 23.1429px; height: 23.1429px; line-height: 23.15px;' do
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 44900d426..b1586ade5 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1088,6 +1088,7 @@ en:
         other: "%{count} votes"
       vote: Vote
     show_more: Show more
+    show_thread: Show thread
     sign_in_to_participate: Sign in to participate in the conversation
     title: '%{name}: "%{quote}"'
     visibilities: