mirror of
https://github.com/mastodon/mastodon
synced 2024-12-15 15:18:14 +09:00
d4c94fa004
Checking reblog vs original status was happening in multiple places across the app. For views, this logic was encapsulated in a helper method named `proper_status` but in the other layers of the app, the logic was duplicated. Because the logic is used at all layers of the app, we extracted it into a `Status#proper` method on the model and changed all uses of the logic to use this method. There is now a single source of truth for this condition. We added test coverage to untested methods that got refactored.
23 lines
969 B
Plaintext
23 lines
969 B
Plaintext
- include_threads ||= false
|
|
- is_predecessor ||= false
|
|
- is_successor ||= false
|
|
- centered ||= include_threads && !is_predecessor && !is_successor
|
|
|
|
- if status.reply? && include_threads
|
|
= render partial: 'stream_entries/status', collection: @ancestors, as: :status, locals: { is_predecessor: true }
|
|
|
|
.entry{ class: entry_classes(status, is_predecessor, is_successor, include_threads) }
|
|
- if status.reblog?
|
|
.pre-header
|
|
%div.pre-header__icon
|
|
= fa_icon('retweet fw')
|
|
%span
|
|
= link_to TagManager.instance.url_for(status.account), class: 'status__display-name muted' do
|
|
%strong= display_name(status.account)
|
|
= t('stream_entries.reblogged')
|
|
|
|
= render partial: centered ? 'stream_entries/detailed_status' : 'stream_entries/simple_status', locals: { status: status.proper }
|
|
|
|
- if include_threads
|
|
= render partial: 'stream_entries/status', collection: @descendants, as: :status, locals: { is_successor: true }
|