From e545148fd594e1683163abd7f71e52c7affb9f96 Mon Sep 17 00:00:00 2001 From: Ben Halpern Date: Tue, 21 Nov 2023 11:10:10 -0500 Subject: [PATCH] Add active discussions to sidebar (#20372) * Add active discussions to sidebar * Move featured tags to before signin-guard * Move featured tags back to view * Fix test --- app/assets/stylesheets/components/cards.scss | 3 -- app/controllers/sidebars_controller.rb | 15 +++++++ app/models/settings/general.rb | 1 + app/views/sidebars/_homepage_content.html.erb | 37 +++++++++++++----- config/environments/development.rb | 1 + config/locales/views/main/en.yml | 1 + spec/requests/sidebars_spec.rb | 39 +++++++++++++++++++ 7 files changed, 85 insertions(+), 12 deletions(-) diff --git a/app/assets/stylesheets/components/cards.scss b/app/assets/stylesheets/components/cards.scss index 3d4d0da5c..1e09009b8 100644 --- a/app/assets/stylesheets/components/cards.scss +++ b/app/assets/stylesheets/components/cards.scss @@ -35,9 +35,6 @@ &__header { padding: var(--su-3) var(--su-4); border-bottom: 1px solid var(--body-bg); - display: flex; - justify-content: space-between; - align-items: center; } &__body { diff --git a/app/controllers/sidebars_controller.rb b/app/controllers/sidebars_controller.rb index 349f22670..66486b970 100644 --- a/app/controllers/sidebars_controller.rb +++ b/app/controllers/sidebars_controller.rb @@ -3,6 +3,7 @@ class SidebarsController < ApplicationController def show get_latest_campaign_articles + get_active_discussions if user_signed_in? end private @@ -11,4 +12,18 @@ class SidebarsController < ApplicationController @campaign_articles_count = Campaign.current.count @latest_campaign_articles = Campaign.current.plucked_article_attributes end + + def get_active_discussions + tag_names = current_user.cached_followed_tag_names + @active_discussions = Article.published + .where("published_at > ?", 1.week.ago) + .where("comments_count > ?", 0) + .with_at_least_home_feed_minimum_score + .cached_tagged_with_any(tag_names) + .or(Article.featured.published.where("published_at > ?", 1.week.ago) + .with_at_least_home_feed_minimum_score) + .order("last_comment_at DESC") + .limit(5) + .pluck(:path, :title, :comments_count, :created_at) + end end diff --git a/app/models/settings/general.rb b/app/models/settings/general.rb index 17715f8f7..923760aa4 100644 --- a/app/models/settings/general.rb +++ b/app/models/settings/general.rb @@ -102,6 +102,7 @@ module Settings setting :twitter_hashtag, type: :string # Tags + setting :display_sidebar_active_discussions, type: :boolean, default: true setting :sidebar_tags, type: :array, default: %w[] # Broadcast diff --git a/app/views/sidebars/_homepage_content.html.erb b/app/views/sidebars/_homepage_content.html.erb index c898db879..225253513 100644 --- a/app/views/sidebars/_homepage_content.html.erb +++ b/app/views/sidebars/_homepage_content.html.erb @@ -1,26 +1,45 @@