From 4e9ed4dfa6ddb8b7b0affc00a45d926391d913cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Tue, 23 Apr 2024 23:51:05 +0200 Subject: [PATCH] Extract component to render links to event stats --- .../admin/stats/event_links_component.html.erb | 6 ++++++ .../admin/stats/event_links_component.rb | 17 +++++++++++++++++ app/helpers/stats_helper.rb | 8 -------- app/views/admin/stats/show.html.erb | 7 +------ 4 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 app/components/admin/stats/event_links_component.html.erb create mode 100644 app/components/admin/stats/event_links_component.rb diff --git a/app/components/admin/stats/event_links_component.html.erb b/app/components/admin/stats/event_links_component.html.erb new file mode 100644 index 000000000..e63a3624a --- /dev/null +++ b/app/components/admin/stats/event_links_component.html.erb @@ -0,0 +1,6 @@ +<% event_names.each do |event| %> +

+ <%= link_to link_text(event), + graph_admin_stats_path(event: event) %> +

+<% end %> diff --git a/app/components/admin/stats/event_links_component.rb b/app/components/admin/stats/event_links_component.rb new file mode 100644 index 000000000..71d3121b9 --- /dev/null +++ b/app/components/admin/stats/event_links_component.rb @@ -0,0 +1,17 @@ +class Admin::Stats::EventLinksComponent < ApplicationComponent + attr_reader :event_names + + def initialize(event_names) + @event_names = event_names + end + + private + + def link_text(event) + text = t("admin.stats.graph.#{event}") + if text.to_s.match(/translation missing/) + text = event + end + text + end +end diff --git a/app/helpers/stats_helper.rb b/app/helpers/stats_helper.rb index acc79319b..711804d5f 100644 --- a/app/helpers/stats_helper.rb +++ b/app/helpers/stats_helper.rb @@ -15,14 +15,6 @@ module StatsHelper data end - def graph_link_text(event) - text = t("admin.stats.graph.#{event}") - if text.to_s.match(/translation missing/) - text = event - end - text - end - def budget_investments_chart_tag(opt = {}) opt[:data] ||= {} opt[:data][:graph] = admin_api_stats_path(budget_investments: true) diff --git a/app/views/admin/stats/show.html.erb b/app/views/admin/stats/show.html.erb index fadda0c9c..0e8594da9 100644 --- a/app/views/admin/stats/show.html.erb +++ b/app/views/admin/stats/show.html.erb @@ -114,12 +114,7 @@ - <% @event_names.each do |event| %> -

- <%= link_to graph_link_text(event), - graph_admin_stats_path(event: event) %> -

- <% end %> + <%= render Admin::Stats::EventLinksComponent.new(@event_names) %> <% if feature?(:budgets) %>

<%= t "admin.stats.show.budgets_title" %>