about summary refs log tree commit diff
path: root/app/views/statuses/_status.html.haml
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-07-07 16:16:51 +0200
committerGitHub <noreply@github.com>2019-07-07 16:16:51 +0200
commitb8514561394767a10d3cf40132ada24d938c1680 (patch)
treefb159a823d4aa0bf9c89b22e6bb3f247ff1b7fbe /app/views/statuses/_status.html.haml
parent406b46395d6f79e87b286585f6b6867374d198c1 (diff)
Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` (#11247)
Diffstat (limited to 'app/views/statuses/_status.html.haml')
-rw-r--r--app/views/statuses/_status.html.haml62
1 files changed, 62 insertions, 0 deletions
diff --git a/app/views/statuses/_status.html.haml b/app/views/statuses/_status.html.haml
new file mode 100644
index 000000000..0e3652503
--- /dev/null
+++ b/app/views/statuses/_status.html.haml
@@ -0,0 +1,62 @@
+:ruby
+  pinned          ||= false
+  include_threads ||= false
+  is_predecessor  ||= false
+  is_successor    ||= false
+  direct_reply_id ||= false
+  parent_id       ||= false
+  autoplay        ||= current_account&.user&.setting_auto_play_gif
+  is_direct_parent  = direct_reply_id == status.id
+  is_direct_child   = parent_id == status.in_reply_to_id
+  centered        ||= include_threads && !is_predecessor && !is_successor
+  h_class           = microformats_h_class(status, is_predecessor, is_successor, include_threads)
+  style_classes     = style_classes(status, is_predecessor, is_successor, include_threads)
+  mf_classes        = microformats_classes(status, is_direct_parent, is_direct_child)
+  entry_classes     = h_class + ' ' + mf_classes + ' ' + style_classes
+
+- if status.reply? && include_threads
+  - if @next_ancestor
+    .entry{ class: entry_classes }
+      = link_to_more ActivityPub::TagManager.instance.url_for(@next_ancestor)
+
+  = render partial: 'statuses/status', collection: @ancestors, as: :status, locals: { is_predecessor: true, direct_reply_id: status.in_reply_to_id }, autoplay: autoplay
+
+.entry{ class: entry_classes }
+
+  - if status.reblog?
+    .status__prepend
+      .status__prepend-icon-wrapper
+        %i.status__prepend-icon.fa.fa-fw.fa-retweet
+      %span
+        = link_to ActivityPub::TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
+          %bdi
+            %strong.emojify= display_name(status.account, custom_emojify: true)
+        = t('stream_entries.reblogged')
+  - elsif pinned
+    .status__prepend
+      .status__prepend-icon-wrapper
+        %i.status__prepend-icon.fa.fa-fw.fa-thumb-tack
+      %span
+        = t('stream_entries.pinned')
+
+  = render (centered ? 'statuses/detailed_status' : 'statuses/simple_status'), status: status.proper, autoplay: autoplay
+
+- if include_threads
+  - if @since_descendant_thread_id
+    .entry{ class: entry_classes }
+      = link_to_more short_account_status_url(status.account.username, status, max_descendant_thread_id: @since_descendant_thread_id + 1)
+  - @descendant_threads.each do |thread|
+    = render partial: 'statuses/status', collection: thread[:statuses], as: :status, locals: { is_successor: true, parent_id: status.id }, autoplay: autoplay
+
+    - if thread[:next_status]
+      .entry{ class: entry_classes }
+        = link_to_more ActivityPub::TagManager.instance.url_for(thread[:next_status])
+  - if @next_descendant_thread
+    .entry{ class: entry_classes }
+      = link_to_more short_account_status_url(status.account.username, status, since_descendant_thread_id: @max_descendant_thread_id - 1)
+
+- if include_threads && !embedded_view? && !user_signed_in?
+  .entry{ class: entry_classes }
+    = link_to new_user_session_path, class: 'load-more load-gap' do
+      = fa_icon 'comments'
+      = t('statuses.sign_in_to_participate')