From 205cbd7d82d4bb2cd10202337dc474ee64f5f3f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sen=C3=A9n=20Rodero=20Rodr=C3=ADguez?= Date: Tue, 16 Feb 2021 12:10:18 +0100 Subject: [PATCH] Extract component to render a single stat box --- app/components/admin/stats/sdg/goal_component.html.erb | 6 +----- app/components/admin/stats/stat_component.html.erb | 5 +++++ app/components/admin/stats/stat_component.rb | 9 +++++++++ 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 app/components/admin/stats/stat_component.html.erb create mode 100644 app/components/admin/stats/stat_component.rb diff --git a/app/components/admin/stats/sdg/goal_component.html.erb b/app/components/admin/stats/sdg/goal_component.html.erb index d54fdeea0..055d94744 100644 --- a/app/components/admin/stats/sdg/goal_component.html.erb +++ b/app/components/admin/stats/sdg/goal_component.html.erb @@ -4,11 +4,7 @@
<% stats.each do |text, amount, options = {}| %> -
- <%= tag.p(options) do %> - <%= text %>
<%= amount %> - <% end %> -
+ <%= render Admin::Stats::StatComponent.new(text: text, amount: amount, options: options) %> <% end %>
diff --git a/app/components/admin/stats/stat_component.html.erb b/app/components/admin/stats/stat_component.html.erb new file mode 100644 index 000000000..684b016a3 --- /dev/null +++ b/app/components/admin/stats/stat_component.html.erb @@ -0,0 +1,5 @@ +
+ <%= tag.p(options) do %> + <%= text %>
<%= amount %> + <% end %> +
diff --git a/app/components/admin/stats/stat_component.rb b/app/components/admin/stats/stat_component.rb new file mode 100644 index 000000000..1cf3891ea --- /dev/null +++ b/app/components/admin/stats/stat_component.rb @@ -0,0 +1,9 @@ +class Admin::Stats::StatComponent < ApplicationComponent + attr_reader :text, :amount, :options + + def initialize(text:, amount:, options: {}) + @text = text + @amount = amount + @options = options + end +end