Add a title to the create investment page
This commit is contained in:
@@ -1,19 +1,7 @@
|
|||||||
<main class="budget-investment-new">
|
<main class="budget-investment-new">
|
||||||
<%= back_link_to budgets_path %>
|
<%= back_link_to budgets_path %>
|
||||||
|
|
||||||
<header>
|
<%= 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>
|
|
||||||
|
|
||||||
<%= render "/budgets/investments/form", form_url: budget_investments_path(budget) %>
|
<%= render "/budgets/investments/form", form_url: budget_investments_path(budget) %>
|
||||||
</main>
|
</main>
|
||||||
|
|||||||
@@ -1,7 +1,26 @@
|
|||||||
class Budgets::Investments::NewComponent < ApplicationComponent
|
class Budgets::Investments::NewComponent < ApplicationComponent
|
||||||
|
include Header
|
||||||
attr_reader :budget
|
attr_reader :budget
|
||||||
|
|
||||||
def initialize(budget)
|
def initialize(budget)
|
||||||
@budget = budget
|
@budget = budget
|
||||||
end
|
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
|
end
|
||||||
|
|||||||
@@ -3,14 +3,24 @@ module Header
|
|||||||
|
|
||||||
def header(&block)
|
def header(&block)
|
||||||
provide(:title) do
|
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
|
end
|
||||||
|
|
||||||
tag.header do
|
tag.header do
|
||||||
if block_given?
|
if block_given?
|
||||||
tag.h2(title) + capture(&block)
|
content_tag(heading_tag, title) + capture(&block)
|
||||||
else
|
else
|
||||||
tag.h2(title)
|
content_tag(heading_tag, title)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user