From 5dc98929fc0bbdca998903fe13eadcdc9d0dd825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 7 Jun 2024 21:03:20 +0200 Subject: [PATCH] Move poll header partial to a component This way it'll be easier to write tests for it when we change it. --- .../polls/poll_header_component.html.erb} | 22 +++++++++---------- app/components/polls/poll_header_component.rb | 8 +++++++ app/views/polls/results.html.erb | 2 +- app/views/polls/show.html.erb | 2 +- app/views/polls/stats.html.erb | 2 +- 5 files changed, 22 insertions(+), 14 deletions(-) rename app/{views/polls/_poll_header.html.erb => components/polls/poll_header_component.html.erb} (50%) create mode 100644 app/components/polls/poll_header_component.rb diff --git a/app/views/polls/_poll_header.html.erb b/app/components/polls/poll_header_component.html.erb similarity index 50% rename from app/views/polls/_poll_header.html.erb rename to app/components/polls/poll_header_component.html.erb index 73cd608db..c4b2e6cad 100644 --- a/app/views/polls/_poll_header.html.erb +++ b/app/components/polls/poll_header_component.html.erb @@ -1,33 +1,33 @@
- <% if @poll.related.nil? %> + <% if poll.related.nil? %> <%= back_link_to polls_path, t("polls.show.back") %> <% else %> - <%= link_to t("polls.poll_header.back_to_proposal"), [@poll.related] %> + <%= link_to t("polls.poll_header.back_to_proposal"), [poll.related] %> <% end %> -

<%= @poll.name %>

+

<%= poll.name %>

- <%= auto_link_already_sanitized_html simple_format(@poll.summary) %> + <%= auto_link_already_sanitized_html simple_format(poll.summary) %> - <% if @poll.geozones.any? %> + <% if poll.geozones.any? %>
    - <% @poll.geozones.each do |g| %> + <% poll.geozones.each do |g| %>
  • <%= g.name %>
  • <% end %>
<% end %> - <%= render SDG::TagListComponent.new(@poll, linkable: false) %> + <%= render SDG::TagListComponent.new(poll, linkable: false) %>
diff --git a/app/components/polls/poll_header_component.rb b/app/components/polls/poll_header_component.rb new file mode 100644 index 000000000..a4da1befe --- /dev/null +++ b/app/components/polls/poll_header_component.rb @@ -0,0 +1,8 @@ +class Polls::PollHeaderComponent < ApplicationComponent + attr_reader :poll + use_helpers :auto_link_already_sanitized_html + + def initialize(poll) + @poll = poll + end +end diff --git a/app/views/polls/results.html.erb b/app/views/polls/results.html.erb index 940be9e8a..8f6cddd44 100644 --- a/app/views/polls/results.html.erb +++ b/app/views/polls/results.html.erb @@ -1,7 +1,7 @@ <% provide :title, @poll.name %>
- <%= render "poll_header" %> + <%= render Polls::PollHeaderComponent.new(@poll) %> <%= render "poll_subnav" %> diff --git a/app/views/polls/show.html.erb b/app/views/polls/show.html.erb index 3d9d88494..0ccbeaad1 100644 --- a/app/views/polls/show.html.erb +++ b/app/views/polls/show.html.erb @@ -10,7 +10,7 @@ <% end %>
- <%= render "poll_header" %> + <%= render Polls::PollHeaderComponent.new(@poll) %> <%= render "poll_subnav" %> diff --git a/app/views/polls/stats.html.erb b/app/views/polls/stats.html.erb index dcc45836d..b99052f48 100644 --- a/app/views/polls/stats.html.erb +++ b/app/views/polls/stats.html.erb @@ -1,7 +1,7 @@ <% provide :title, @poll.name %>
- <%= render "poll_header" %> + <%= render Polls::PollHeaderComponent.new(@poll) %> <%= render "poll_subnav" %>