From a71d1321640247fd6c3f97ce4e6413ace7f88c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Sat, 10 Jul 2021 02:37:33 +0200 Subject: [PATCH] Add a title to the create investment page --- .../investments/new_component.html.erb | 14 +------------- .../budgets/investments/new_component.rb | 19 +++++++++++++++++++ app/components/concerns/header.rb | 16 +++++++++++++--- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/app/components/budgets/investments/new_component.html.erb b/app/components/budgets/investments/new_component.html.erb index d5940826c..49ff6f2f2 100644 --- a/app/components/budgets/investments/new_component.html.erb +++ b/app/components/budgets/investments/new_component.html.erb @@ -1,19 +1,7 @@
<%= back_link_to budgets_path %> -
-

- <%= t("budgets.investments.form.title") %> - - <% if budget.single_heading? %> - - <%= t("budgets.investments.form.subtitle", - heading: budget.headings.first.name, - price: budget.formatted_heading_price(budget.headings.first)) %> - - <% end %> -

-
+ <%= header %> <%= render "/budgets/investments/form", form_url: budget_investments_path(budget) %>
diff --git a/app/components/budgets/investments/new_component.rb b/app/components/budgets/investments/new_component.rb index adf749c40..f893a2ad9 100644 --- a/app/components/budgets/investments/new_component.rb +++ b/app/components/budgets/investments/new_component.rb @@ -1,7 +1,26 @@ class Budgets::Investments::NewComponent < ApplicationComponent + include Header attr_reader :budget def initialize(budget) @budget = budget end + + def title + safe_join([base_title, subtitle].compact, " ") + end + + private + + def base_title + sanitize(t("budgets.investments.form.title")) + end + + def subtitle + if budget.single_heading? + tag.span t("budgets.investments.form.subtitle", + heading: budget.headings.first.name, + price: budget.formatted_heading_price(budget.headings.first)) + end + end end diff --git a/app/components/concerns/header.rb b/app/components/concerns/header.rb index 763434370..fe62a0d9b 100644 --- a/app/components/concerns/header.rb +++ b/app/components/concerns/header.rb @@ -3,14 +3,24 @@ module Header def header(&block) provide(:title) do - "#{t("#{namespace}.header.title")} - #{title} - #{setting["org_name"]}" + [ + t("#{namespace}.header.title", default: ""), + strip_tags(title), + setting["org_name"] + ].reject(&:blank?).join(" - ") end + heading_tag = if %w[admin management moderation sdg_management valuation].include?(namespace) + "h2" + else + "h1" + end + tag.header do if block_given? - tag.h2(title) + capture(&block) + content_tag(heading_tag, title) + capture(&block) else - tag.h2(title) + content_tag(heading_tag, title) end end end