diff --git a/app/controllers/discourse_rewind/rewinds_controller.rb b/app/controllers/discourse_rewind/rewinds_controller.rb index 5d3d7aa..fb7871e 100644 --- a/app/controllers/discourse_rewind/rewinds_controller.rb +++ b/app/controllers/discourse_rewind/rewinds_controller.rb @@ -10,10 +10,7 @@ def show DiscourseRewind::FetchReports.call(service_params) do on_model_not_found(:year) { raise Discourse::NotFound } on_model_not_found(:user) { raise Discourse::NotFound } - on_success do |reports:| - @reports = reports - render json: MultiJson.dump(reports), status: :ok - end + on_success { |reports:| render json: MultiJson.dump(reports), status: :ok } end end end diff --git a/app/services/discourse_rewind/action/invites.rb b/app/services/discourse_rewind/action/invites.rb index dc2feae..8c720e9 100644 --- a/app/services/discourse_rewind/action/invites.rb +++ b/app/services/discourse_rewind/action/invites.rb @@ -13,7 +13,7 @@ def call return if total_invites == 0 # Redeemed invites (users who actually joined) - redeemed_count = invites.where.not(redeemed_at: nil).count + redeemed_count = invites.where("redemption_count > 0").count # Get the users who were invited (via InvitedUser or redeemed invites) invited_user_ids = InvitedUser.where(invite: invites).pluck(:user_id).compact @@ -22,11 +22,7 @@ def call # Calculate impact of invitees invitee_post_count = - Post - .where(user_id: invited_user_ids) - .where(created_at: date) - .where(deleted_at: nil) - .count + Post.where(user_id: invited_user_ids).where(created_at: date).where(deleted_at: nil).count invitee_topic_count = Topic diff --git a/app/services/discourse_rewind/action/most_viewed_categories.rb b/app/services/discourse_rewind/action/most_viewed_categories.rb index 6aa6ebe..d473306 100644 --- a/app/services/discourse_rewind/action/most_viewed_categories.rb +++ b/app/services/discourse_rewind/action/most_viewed_categories.rb @@ -10,7 +10,6 @@ class MostViewedCategories < BaseReport { category_id: 2, name: "dogs" }, { category_id: 3, name: "countries" }, { category_id: 4, name: "management" }, - { category_id: 5, name: "things" }, ], identifier: "most-viewed-categories", } @@ -26,7 +25,7 @@ def call .where(categories: { id: user.guardian.allowed_category_ids }) .group("categories.id, categories.name") .order("COUNT(*) DESC") - .limit(5) + .limit(4) .pluck("categories.id, categories.name") .map { |category_id, name| { category_id: category_id, name: name } } diff --git a/app/services/discourse_rewind/action/most_viewed_tags.rb b/app/services/discourse_rewind/action/most_viewed_tags.rb index a11661e..0552961 100644 --- a/app/services/discourse_rewind/action/most_viewed_tags.rb +++ b/app/services/discourse_rewind/action/most_viewed_tags.rb @@ -10,7 +10,6 @@ class MostViewedTags < BaseReport { tag_id: 2, name: "dogs" }, { tag_id: 3, name: "countries" }, { tag_id: 4, name: "management" }, - { tag_id: 5, name: "things" }, ], identifier: "most-viewed-tags", } @@ -28,7 +27,7 @@ def call .where(tags: { id: Tag.visible(user.guardian).pluck(:id) }) .group("tags.id, tags.name") .order("COUNT(DISTINCT topic_views.topic_id) DESC") - .limit(5) + .limit(4) .pluck("tags.id, tags.name") .map { |tag_id, name| { tag_id: tag_id, name: name } } diff --git a/app/services/discourse_rewind/fetch_reports.rb b/app/services/discourse_rewind/fetch_reports.rb index c959a24..79f0049 100644 --- a/app/services/discourse_rewind/fetch_reports.rb +++ b/app/services/discourse_rewind/fetch_reports.rb @@ -81,7 +81,7 @@ def fetch_reports(date:, user:, guardian:, year:) reports = Discourse.redis.get(key) if !reports - reports = REPORTS.map { |report| report.call(date:, user:, guardian:) } + reports = REPORTS.map { |report| report.call(date:, user:, guardian:) }.compact Discourse.redis.setex(key, CACHE_DURATION, MultiJson.dump(reports)) else reports = MultiJson.load(reports, symbolize_keys: true) diff --git a/assets/javascripts/discourse/components/reports/header.gjs b/assets/javascripts/discourse/components/reports/header.gjs index 55ad458..9d2e373 100644 --- a/assets/javascripts/discourse/components/reports/header.gjs +++ b/assets/javascripts/discourse/components/reports/header.gjs @@ -1,13 +1,41 @@ +import { i18n } from "discourse-i18n"; + const RewindHeader = ; diff --git a/assets/javascripts/discourse/components/reports/most-viewed-categories.gjs b/assets/javascripts/discourse/components/reports/most-viewed-categories.gjs index 5d72a85..15c2be7 100644 --- a/assets/javascripts/discourse/components/reports/most-viewed-categories.gjs +++ b/assets/javascripts/discourse/components/reports/most-viewed-categories.gjs @@ -10,11 +10,12 @@ const MostViewedCategories =