Skip to content

Commit

Permalink
Browse helper refactoring
Browse files Browse the repository at this point in the history
In preparation for popular links AB test
  • Loading branch information
unoduetre committed Aug 12, 2024
1 parent 075f40d commit ea77c61
Show file tree
Hide file tree
Showing 70 changed files with 1,384 additions and 314 deletions.
30 changes: 8 additions & 22 deletions app/helpers/browse_helper.rb
Original file line number Diff line number Diff line change
@@ -1,28 +1,14 @@
module BrowseHelper
ACTION_LINK_DATA = {
benefits: [
{ lang: "browse.check_benefits_and_financial_support", href: "/check-benefits-financial-support" },
],
business: [
{ lang: "browse.hmrc_online_services", href: "/log-in-register-hmrc-online-services" },
{ lang: "browse.self_assessment_tax_returns", href: "/self-assessment-tax-returns" },
{ lang: "browse.pay_employers_paye", href: "/pay-paye-tax" },
],
}.freeze

def display_action_links_for_slug?(slug)
ACTION_LINK_DATA.key?(slug.to_sym)
def display_popular_links_for_slug?(slug)
I18n.exists?(slug.to_s, scope: "browse.popular_links")
end

def action_link_data(slug)
links = ACTION_LINK_DATA[slug.to_sym]
return [] unless links

links.each_with_index do |link, index|
link[:text] = I18n.t(link[:lang])
link[:ga4_text] = I18n.t(link[:lang], locale: :en)
link[:index_link] = index + 1
link[:index_total] = links.length
def each_popular_link_for_slug(slug)
links = I18n.t(slug.to_s, scope: "browse.popular_links")
count = links.length
links.each.with_index(1) do |link, index|
analytics_label = I18n.t(link[:analytics_label_key], scope: "browse.analytics_labels", locale: :en)
yield link, analytics_label, index, count
end
end
end
13 changes: 8 additions & 5 deletions app/views/browse/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
} %>
<% end %>
<% if display_action_links_for_slug?(page.slug) %>
<% if display_popular_links_for_slug?(page.slug) %>
<div class="govuk-width-container">
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
Expand All @@ -45,9 +45,12 @@
font_size: "m"
} %>
<ul class="govuk-list govuk-!-margin-bottom-7">
<% action_link_data(page.slug).each do |link| %>
<li>
<%= render "shared/browse_action_link", locals: link %>
<% each_popular_link_for_slug(page.slug) do |link, analytics_label, link_index, link_count| %>
<li
data-module="ga4-link-tracker"
data-ga4-track-links-only=""
data-ga4-link='{"event_name":"navigation","type":"action","index_link":<%= link_index %>,"index_total":<%= link_count %>,"text":"<%= analytics_label %>"}'>
<%= render partial: "shared/browse_action_link", locals: {link:} %>
</li>
<% end %>
</ul>
Expand Down Expand Up @@ -83,6 +86,6 @@
description: second_level_browse_page.description,
}
end,
sub_heading_level: display_action_links_for_slug?(page.slug) ? 3 : 2,
sub_heading_level: display_popular_links_for_slug?(page.slug) ? 3 : 2,
} %>
<% end %>
15 changes: 2 additions & 13 deletions app/views/shared/_browse_action_link.erb
Original file line number Diff line number Diff line change
@@ -1,17 +1,6 @@
<%= render "govuk_publishing_components/components/action_link", {
text: locals[:text],
href: locals[:href],
text: link[:title],
href: link[:url],
dark_large_icon: true,
margin_bottom: 3,
data_attributes: {
module: "ga4-link-tracker",
ga4_track_links_only: "",
ga4_link: {
event_name: "navigation",
type: "action",
index_link: locals[:index_link],
index_total: locals[:index_total],
text: locals[:ga4_text]
}
}
} %>
24 changes: 20 additions & 4 deletions config/locales/ar/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
ar:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: جميع الفئات
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/az/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
az:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Bütün kateqoriyalar
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/be/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
be:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Усе катэгорыі
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/bg/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
bg:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Всички категории
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/bn/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
bn:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: সকল শ্রেণিবিভাগ
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/cs/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
cs:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Všechny kategorie
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/cy/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
cy:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Pob categori
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/da/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
da:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Alle kategorier
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
24 changes: 20 additions & 4 deletions config/locales/de/browse.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,28 @@
---
de:
browse:
popular_links:
benefits:
- title:
url: /check-benefits-financial-support
analytics_label_key: check_benefits_and_financial_support
business:
- title:
url: /log-in-register-hmrc-online-services
analytics_label_key: hmrc_online_services
- title:
url: /self-assessment-tax-returns
analytics_label_key: self_assessment_tax_returns
- title:
url: /pay-paye-tax
analytics_label_key: pay_employers_paye
all_categories: Alle Kategorien
check_benefits_and_financial_support:
analytics_labels:
check_benefits_and_financial_support:
hmrc_online_services:
self_assessment_tax_returns:
pay_employers_paye:
description:
hmrc_online_services:
pay_employers_paye:
popular_tasks:
self_assessment_tax_returns:
title:
topics:
Loading

0 comments on commit ea77c61

Please sign in to comment.