diff --git a/app/controllers/sidebars_controller.rb b/app/controllers/sidebars_controller.rb index 76fb31165..2fb04c9b3 100644 --- a/app/controllers/sidebars_controller.rb +++ b/app/controllers/sidebars_controller.rb @@ -3,6 +3,21 @@ class SidebarsController < ApplicationController before_action :set_cache_control_headers, only: %i[show] def show + get_latest_campaign_articles set_surrogate_key_header "home-sidebar" end + + private + + def get_latest_campaign_articles + campaign_articles_scope = Article.tagged_with(Campaign.current.featured_tags, any: true) + .where("published_at > ? AND score > ?", 4.weeks.ago, 0) + .order(hotness_score: :desc) + + requires_approval = Campaign.current.articles_require_approval? + campaign_articles_scope = campaign_articles_scope.where(approved: true) if requires_approval + + @campaign_articles_count = campaign_articles_scope.count + @latest_campaign_articles = campaign_articles_scope.limit(5).pluck(:path, :title, :comments_count, :created_at) + end end diff --git a/app/views/articles/_sidebar_additional.html.erb b/app/views/articles/_sidebar_additional.html.erb index c9dcac424..7b8cc3d35 100644 --- a/app/views/articles/_sidebar_additional.html.erb +++ b/app/views/articles/_sidebar_additional.html.erb @@ -1,3 +1,5 @@