catstodon/app/views/stream_entries/_status.html.haml
Akihiko Odaki 519119f657 Paginate ancestor statuses in public page (#7102)
This also limits the statuses returned by API, but pagination is not
implemented in Web API yet. I still expect it brings user experience
better than making a user wait to fetch all ancestor statuses and flooding
the column with them.
2018-04-11 12:35:09 +02:00

43 lines
1.8 KiB
Text

:ruby
pinned ||= false
include_threads ||= false
is_predecessor ||= false
is_successor ||= false
direct_reply_id ||= false
parent_id ||= false
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 short_account_status_url(@next_ancestor.account.username, @next_ancestor), class: 'more light' do
= t('statuses.show_more')
= render partial: 'stream_entries/status', collection: @ancestors, as: :status, locals: { is_predecessor: true, direct_reply_id: status.in_reply_to_id }
.entry{ class: entry_classes }
- if status.reblog?
.pre-header
.pre-header__icon
= fa_icon('retweet fw')
%span
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
%strong.emojify= display_name(status.account)
= t('stream_entries.reblogged')
- elsif pinned
.pre-header
.pre-header__icon
= fa_icon('thumb-tack fw')
%span
= t('stream_entries.pinned')
= render (centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status'), status: status.proper
- if include_threads
= render partial: 'stream_entries/status', collection: @descendants, as: :status, locals: { is_successor: true, parent_id: status.id }