Exclude pinned answers from pagination queries

This commit is contained in:
Karina Kwiatek 2023-05-08 20:29:27 +02:00
parent 33bd1ae9e4
commit a37a498fb9

View file

@ -4,8 +4,8 @@ module PaginatesAnswers
def paginate_answers def paginate_answers
@answers = yield(last_id: params[:last_id]) @answers = yield(last_id: params[:last_id])
answer_ids = @answers.map(&:id) answer_ids = @answers.map(&:id)
answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present?
@answers_last_id = answer_ids.min @answers_last_id = answer_ids.min
answer_ids += @pinned_answers.pluck(:id) if @pinned_answers.present?
@more_data_available = !yield(last_id: @answers_last_id, size: 1).count.zero? @more_data_available = !yield(last_id: @answers_last_id, size: 1).count.zero?
@subscribed_answer_ids = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in? @subscribed_answer_ids = Subscription.where(user: current_user, answer_id: answer_ids).pluck(:answer_id) if user_signed_in?
end end