From 186c9e518085b869072f9bdd8c260d58a2e977b7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jul 2026 02:13:03 +0000 Subject: [PATCH 1/5] Bump govuk-frontend from 6.2.0 to 6.3.0 Bumps [govuk-frontend](https://github.com/alphagov/govuk-frontend/tree/HEAD/packages/govuk-frontend) from 6.2.0 to 6.3.0. - [Release notes](https://github.com/alphagov/govuk-frontend/releases) - [Changelog](https://github.com/alphagov/govuk-frontend/blob/main/CHANGELOG.md) - [Commits](https://github.com/alphagov/govuk-frontend/commits/v6.3.0/packages/govuk-frontend) --- updated-dependencies: - dependency-name: govuk-frontend dependency-version: 6.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0848ebf82..9bc0f612e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "app", "dependencies": { "dfe-autocomplete": "github:DFE-Digital/dfe-autocomplete#1d4cc65039e11cc3ba9e7217a719b8128d0e4d53", - "govuk-frontend": "^6.2.0" + "govuk-frontend": "^6.3.0" }, "devDependencies": { "autoprefixer": "^10.5.0", @@ -3942,9 +3942,9 @@ } }, "node_modules/govuk-frontend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-6.2.0.tgz", - "integrity": "sha512-PCRyQT+7kiV2dUz0Ku6Co+Nx4anOwJ7mAduXYbTQHK2krppBSynv9dBXtOYha/8j+LIzK7FqesTbJl9HD6ekHg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-6.3.0.tgz", + "integrity": "sha512-cXIQxm5PHCsbic47GXZrVBZhAeeshTLRL6ZBKilLsR6rMCjJuWb7Fruq0VUNMBJFlJk/srsRj/q8d5bM9cgKoA==", "license": "MIT", "engines": { "node": ">= 4.2.0" diff --git a/package.json b/package.json index 28f44be5b..6460e3607 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "dfe-autocomplete": "github:DFE-Digital/dfe-autocomplete#1d4cc65039e11cc3ba9e7217a719b8128d0e4d53", - "govuk-frontend": "^6.2.0" + "govuk-frontend": "^6.3.0" }, "standard": { "globals": [ From a0c2c694af6d965b7e0792e6ce2ef5123f2f2a12 Mon Sep 17 00:00:00 2001 From: Samuel Culley Date: Thu, 9 Jul 2026 10:09:48 +0100 Subject: [PATCH 2/5] Update govuk components for generic header --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 6e637740a..a4f94e315 100644 --- a/Gemfile +++ b/Gemfile @@ -45,7 +45,7 @@ gem "activeresource" gem "pg", "~> 1.6" # For GOV.UK branding -gem "govuk-components", "~> 6" +gem "govuk-components", "~> 6.4" gem "govuk_design_system_formbuilder", "~> 6" # Our own custom markdown renderer diff --git a/Gemfile.lock b/Gemfile.lock index 40bc45140..5ab15fa9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -250,7 +250,7 @@ GEM rake (~> 13.3) googleapis-common-protos-types (1.23.0) google-protobuf (~> 4.26) - govuk-components (6.3.1) + govuk-components (6.4.0) html-attributes-utils (~> 1.0.0, >= 1.0.0) pagy (>= 6, < 10) view_component (>= 4.9, < 4.13) @@ -790,7 +790,7 @@ DEPENDENCIES dfe-autocomplete! factory_bot_rails faker - govuk-components (~> 6) + govuk-components (~> 6.4) govuk-forms-markdown! govuk_design_system_formbuilder (~> 6) govuk_notify_rails @@ -897,7 +897,7 @@ CHECKSUMS google-protobuf (4.35.0-x86_64-linux-gnu) sha256=999226f3b00cd9fddb1b26851d16060212fa1d90c406aaad47e574682b716059 google-protobuf (4.35.0-x86_64-linux-musl) sha256=be0218520d77b2aee898b363514b03819f6f63f9c041ae0d0d79b4ce5247bffd googleapis-common-protos-types (1.23.0) sha256=992e740a523794d9fc5f29a504465d8fc737aaa16c930fe7228e3346860faf0a - govuk-components (6.3.1) sha256=141715c9e65e65b1dad0a0476c7d81dac14dad220f5435496713c63e80df87f0 + govuk-components (6.4.0) sha256=3bb3cdc1b48f2124ceadb86b82c90e07eb12caa761d9bd8b022572a9d60c495f govuk-forms-markdown (0.12.0) govuk_design_system_formbuilder (6.2.1) sha256=bab0fe460f02f8b4df07097fbfe5441c9b9bf6606dea44a09597a3ef3dc0ac83 govuk_notify_rails (3.0.0) sha256=e0e1b8b0a7c47f90963034f290fb2982652aa8051a733c25c178680d44f2d7aa From cb6e559f63576626f2d2f3cdb24fe212c9aaece0 Mon Sep 17 00:00:00 2001 From: Samuel Culley Date: Thu, 9 Jul 2026 10:10:06 +0100 Subject: [PATCH 3/5] Add custom branding config --- config/branding.yml | 11 +++++++++++ config/initializers/branding.rb | 1 + 2 files changed, 12 insertions(+) create mode 100644 config/branding.yml create mode 100644 config/initializers/branding.rb diff --git a/config/branding.yml b/config/branding.yml new file mode 100644 index 000000000..1436f79c4 --- /dev/null +++ b/config/branding.yml @@ -0,0 +1,11 @@ +form_with_branding: + background_colour: "blue" + border_colour: "green" + organisation_name: "Branded Forms County Council" + organisation_url: "https://www.example.com" + logo: | + + + BFCC Logo + + \ No newline at end of file diff --git a/config/initializers/branding.rb b/config/initializers/branding.rb new file mode 100644 index 000000000..579217544 --- /dev/null +++ b/config/initializers/branding.rb @@ -0,0 +1 @@ +BRANDING_CONFIG = YAML.load_file(Rails.root.join("config/branding.yml")).freeze From a8b9dbc3edfab080027f0181f5240ee6f37cac9f Mon Sep 17 00:00:00 2001 From: Samuel Culley Date: Thu, 9 Jul 2026 10:10:31 +0100 Subject: [PATCH 4/5] Add custom branding for form header --- .../form_header_component/_index.scss | 5 ++ app/components/form_header_component/view.rb | 58 ++++++++++++++----- 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/app/components/form_header_component/_index.scss b/app/components/form_header_component/_index.scss index 1fe9a239f..f07521cf4 100644 --- a/app/components/form_header_component/_index.scss +++ b/app/components/form_header_component/_index.scss @@ -16,3 +16,8 @@ gap: .25em; flex-wrap: wrap; } + +.govuk-generic-header { + background: var(--custom-background-colour); + border-bottom-color: var(--custom-border-colour); +} diff --git a/app/components/form_header_component/view.rb b/app/components/form_header_component/view.rb index 81f643638..95d940f92 100644 --- a/app/components/form_header_component/view.rb +++ b/app/components/form_header_component/view.rb @@ -11,19 +11,39 @@ def initialize(current_context:, mode:, hosting_environment: HostingEnvironment) def call if @current_context.present? - homepage_url = @mode.preview? ? Settings.forms_admin.base_url : GOVUK_BASE_URL - - safe_join([ - govuk_header(homepage_url:, - classes:) do |header| - header.with_product_name(name: product_name_with_tag) - end, - govuk_service_navigation( - service_name: form_name, - service_url: form_start_page_url, - navigation_items: navigation_items, - ), - ], "\n") + if BRANDING_CONFIG.key?(@current_context.form.form_slug.gsub("-", "_")) + branding = BRANDING_CONFIG[@current_context.form.form_slug.gsub("-", "_")] + + safe_join([ + "".html_safe, + govuk_generic_header(logo_text: custom_heading(branding), url: branding["organisation_url"]) do |header| + header.with_service_navigation( + service_name: form_name, + service_url: form_start_page_url, + navigation_items: navigation_items, + ) + end, + ]).html_safe + else + homepage_url = @mode.preview? ? Settings.forms_admin.base_url : GOVUK_BASE_URL + + safe_join([ + govuk_header(homepage_url:, + classes:) do |header| + header.with_product_name(name: product_name_with_tag) + end, + govuk_service_navigation( + service_name: form_name, + service_url: form_start_page_url, + navigation_items: navigation_items, + ), + ], "\n") + end else govuk_header(homepage_url: GOVUK_BASE_URL, classes:) do |header| header.with_product_name(name: product_name_with_tag) @@ -31,6 +51,18 @@ def call end end + def custom_background_colour + BRANDING_CONFIG[@current_context.form.form_slug]["background_colour"] + end + + def custom_heading(branding) + branding["logo"].html_safe + branding["organisation_name"] + end + + def custom_org_url + BRANDING_CONFIG[@current_context.form.form_slug]["organisation_url"] + end + private def product_name_with_tag From 56d5f6dd64d6692b33f4d41a91cfb05826764567 Mon Sep 17 00:00:00 2001 From: Samuel Culley Date: Thu, 9 Jul 2026 10:10:39 +0100 Subject: [PATCH 5/5] Add custom branding for form footer --- app/components/footer_component/_index.scss | 3 +++ app/components/footer_component/view.html.erb | 1 + app/components/footer_component/view.rb | 9 +++++++++ app/frontend/entrypoints/application.scss | 1 + 4 files changed, 14 insertions(+) create mode 100644 app/components/footer_component/_index.scss diff --git a/app/components/footer_component/_index.scss b/app/components/footer_component/_index.scss new file mode 100644 index 000000000..159c08ccf --- /dev/null +++ b/app/components/footer_component/_index.scss @@ -0,0 +1,3 @@ +.govuk-footer { + border-top-color: var(--custom-footer-border-colour); +} \ No newline at end of file diff --git a/app/components/footer_component/view.html.erb b/app/components/footer_component/view.html.erb index 6b643408f..e67713eef 100644 --- a/app/components/footer_component/view.html.erb +++ b/app/components/footer_component/view.html.erb @@ -1,3 +1,4 @@ +<%= custom_branding %> <%= govuk_footer(meta_items_title: t("footer.helpful_links"), copyright_text: t("footer.copyright"), meta_items: meta_links) do |footer| %> <% footer.with_meta_licence_html do %>