Add a title to the create investment page

This commit is contained in:
Javi Martín
2021-07-10 02:37:33 +02:00
parent 9effc10459
commit a71d132164
3 changed files with 33 additions and 16 deletions

View File

@@ -1,19 +1,7 @@
<main class="budget-investment-new">
<%= back_link_to budgets_path %>
<header>
<h1>
<%= t("budgets.investments.form.title") %>
<% if budget.single_heading? %>
<span>
<%= t("budgets.investments.form.subtitle",
heading: budget.headings.first.name,
price: budget.formatted_heading_price(budget.headings.first)) %>
</span>
<% end %>
</h1>
</header>
<%= header %>
<%= render "/budgets/investments/form", form_url: budget_investments_path(budget) %>
</main>

View File

@@ -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

View File

@@ -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