about summary refs log tree commit diff
path: root/app/controllers/stream_entries_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/stream_entries_controller.rb')
-rw-r--r--app/controllers/stream_entries_controller.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/app/controllers/stream_entries_controller.rb b/app/controllers/stream_entries_controller.rb
index 1e50d3b60..c26149627 100644
--- a/app/controllers/stream_entries_controller.rb
+++ b/app/controllers/stream_entries_controller.rb
@@ -7,6 +7,20 @@ class StreamEntriesController < ApplicationController
   def show
     @type = @stream_entry.activity_type.downcase
 
+    if @stream_entry.activity_type == 'Status'
+      @ancestors   = @stream_entry.activity.ancestors.with_includes.with_counters
+      @descendants = @stream_entry.activity.descendants.with_includes.with_counters
+
+      if user_signed_in?
+        status_ids  = [@stream_entry.activity_id] + @ancestors.map { |s| s.id } + @descendants.map { |s| s.id }
+        @favourited = Status.favourites_map(status_ids, current_user.account_id)
+        @reblogged  = Status.reblogs_map(status_ids, current_user.account_id)
+      else
+        @favourited = {}
+        @reblogged  = {}
+      end
+    end
+
     respond_to do |format|
       format.html
       format.atom