Merge remote-tracking branch 'parent/main' into upstream-20240117
This commit is contained in:
commit
5d79bd078c
150 changed files with 2982 additions and 1485 deletions
|
@ -16,7 +16,7 @@ class Trends::Links < Trends::Base
|
|||
class Query < Trends::Query
|
||||
def to_arel
|
||||
scope = PreviewCard.joins(:trend).reorder(score: :desc)
|
||||
scope = scope.reorder(language_order_clause.desc, score: :desc) if preferred_languages.present?
|
||||
scope = scope.reorder(language_order_clause, score: :desc) if preferred_languages.present?
|
||||
scope = scope.merge(PreviewCardTrend.allowed) if @allowed
|
||||
scope = scope.offset(@offset) if @offset.present?
|
||||
scope = scope.limit(@limit) if @limit.present?
|
||||
|
@ -25,8 +25,8 @@ class Trends::Links < Trends::Base
|
|||
|
||||
private
|
||||
|
||||
def language_order_clause
|
||||
Arel::Nodes::Case.new.when(PreviewCardTrend.arel_table[:language].in(preferred_languages)).then(1).else(0)
|
||||
def trend_class
|
||||
PreviewCardTrend
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -94,6 +94,16 @@ class Trends::Query
|
|||
to_arel.to_a
|
||||
end
|
||||
|
||||
def language_order_clause
|
||||
Arel::Nodes::Case.new.when(language_is_preferred).then(1).else(0).desc
|
||||
end
|
||||
|
||||
def language_is_preferred
|
||||
trend_class
|
||||
.arel_table[:language]
|
||||
.in(preferred_languages)
|
||||
end
|
||||
|
||||
def preferred_languages
|
||||
if @account&.chosen_languages.present?
|
||||
@account.chosen_languages
|
||||
|
|
|
@ -15,7 +15,7 @@ class Trends::Statuses < Trends::Base
|
|||
class Query < Trends::Query
|
||||
def to_arel
|
||||
scope = Status.joins(:trend).reorder(score: :desc)
|
||||
scope = scope.reorder(language_order_clause.desc, score: :desc) if preferred_languages.present?
|
||||
scope = scope.reorder(language_order_clause, score: :desc) if preferred_languages.present?
|
||||
scope = scope.merge(StatusTrend.allowed) if @allowed
|
||||
scope = scope.not_excluded_by_account(@account).not_domain_blocked_by_account(@account) if @account.present?
|
||||
scope = scope.offset(@offset) if @offset.present?
|
||||
|
@ -25,8 +25,8 @@ class Trends::Statuses < Trends::Base
|
|||
|
||||
private
|
||||
|
||||
def language_order_clause
|
||||
Arel::Nodes::Case.new.when(StatusTrend.arel_table[:language].in(preferred_languages)).then(1).else(0)
|
||||
def trend_class
|
||||
StatusTrend
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@ class Trends::Tags < Trends::Base
|
|||
|
||||
class Query < Trends::Query
|
||||
def to_arel
|
||||
scope = Tag.joins(:trend).reorder(language_order_clause.desc, score: :desc)
|
||||
scope = Tag.joins(:trend).reorder(score: :desc)
|
||||
scope = scope.reorder(language_order_clause, score: :desc) if preferred_languages.present?
|
||||
scope = scope.merge(TagTrend.allowed) if @allowed
|
||||
scope = scope.offset(@offset) if @offset.present?
|
||||
scope = scope.limit(@limit) if @limit.present?
|
||||
|
@ -24,8 +25,8 @@ class Trends::Tags < Trends::Base
|
|||
|
||||
private
|
||||
|
||||
def language_order_clause
|
||||
Arel::Nodes::Case.new.when(TagTrend.arel_table[:language].in(preferred_languages)).then(1).else(0)
|
||||
def trend_class
|
||||
TagTrend
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue