|
: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')
|