From a698b767c175e7ca59122da11412660a22519067 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Sat, 5 Nov 2016 17:44:14 +0100
Subject: [PATCH] Fix linking of remote hashtags in UI, add public view of
 hashtags

---
 .../javascripts/components/components/status_content.jsx  | 2 +-
 app/controllers/tags_controller.rb                        | 3 +++
 app/views/tags/show.html.haml                             | 8 ++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/app/assets/javascripts/components/components/status_content.jsx b/app/assets/javascripts/components/components/status_content.jsx
index 2006e965a3..118635ed39 100644
--- a/app/assets/javascripts/components/components/status_content.jsx
+++ b/app/assets/javascripts/components/components/status_content.jsx
@@ -23,7 +23,7 @@ const StatusContent = React.createClass({
 
       if (mention) {
         link.addEventListener('click', this.onMentionClick.bind(this, mention), false);
-      } else if (link.text[0] === '#' || (link.previousSibling && link.previousSibling.text === '#')) {
+      } else if (link.text[0] === '#' || (link.previousSibling && link.previousSibling.text[link.previousSibling.text.length - 1] === '#')) {
         link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
       } else {
         link.setAttribute('target', '_blank');
diff --git a/app/controllers/tags_controller.rb b/app/controllers/tags_controller.rb
index c1aaf7e479..ca5ee2f834 100644
--- a/app/controllers/tags_controller.rb
+++ b/app/controllers/tags_controller.rb
@@ -1,4 +1,7 @@
 class TagsController < ApplicationController
+  layout 'public'
+
   def show
+    @statuses = Tag.find_by!(name: params[:id].downcase).statuses.order('id desc').with_includes.with_counters.paginate(page: params[:page], per_page: 10)
   end
 end
diff --git a/app/views/tags/show.html.haml b/app/views/tags/show.html.haml
index e69de29bb2..0e6fd2db7a 100644
--- a/app/views/tags/show.html.haml
+++ b/app/views/tags/show.html.haml
@@ -0,0 +1,8 @@
+- if @statuses.empty?
+  .accounts-grid
+    = render partial: 'accounts/nothing_here'
+- else
+  .activity-stream
+    = render partial: 'stream_entries/status', collection: @statuses, as: :status, cached: true
+
+= will_paginate @statuses, pagination_options
-- 
GitLab