From c8c77d5f60f66089cf2de4f469b6737f4f6829f3 Mon Sep 17 00:00:00 2001 From: Matthew Mascord <27346863+matthewmascord@users.noreply.github.com> Date: Wed, 20 Jan 2021 13:24:44 +0000 Subject: [PATCH 1/2] PLATUI-924: Add new user research component --- CHANGELOG.md | 6 ++ ...default_HMRC_Header_0_document_0_phone.png | Bin 6342 -> 23462 bytes ...efault_HMRC_Header_0_document_1_tablet.png | Bin 9941 -> 31323 bytes ...ser_Research_Banner_0_document_0_phone.png | Bin 0 -> 10747 bytes ...er_Research_Banner_0_document_1_tablet.png | Bin 0 -> 16173 bytes check-compatibility.js | 2 +- package-lock.json | 6 ++ package.json | 5 +- src/all.js | 7 ++ src/components/_all.scss | 1 + src/components/header/_header.scss | 6 ++ src/components/header/header.yaml | 48 +++++++++++- src/components/header/template.njk | 10 +++ src/components/user-research-banner/README.md | 1 + .../_user-research-banner.scss | 58 ++++++++++++++ src/components/user-research-banner/macro.njk | 3 + .../user-research-banner/template.njk | 27 +++++++ .../user-research-banner/template.test.js | 38 +++++++++ .../user-research-banner.js | 28 +++++++ .../user-research-banner.test.js | 72 ++++++++++++++++++ .../user-research-banner.yaml | 22 ++++++ src/utils/__tests__/cookies.test.js | 70 +++++++++++++++++ src/utils/cookies.js | 30 ++++++++ tasks/gulp/backstop-config.js | 5 ++ 24 files changed, 440 insertions(+), 5 deletions(-) create mode 100644 backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_0_phone.png create mode 100644 backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_1_tablet.png create mode 100644 src/components/user-research-banner/README.md create mode 100644 src/components/user-research-banner/_user-research-banner.scss create mode 100644 src/components/user-research-banner/macro.njk create mode 100644 src/components/user-research-banner/template.njk create mode 100644 src/components/user-research-banner/template.test.js create mode 100644 src/components/user-research-banner/user-research-banner.js create mode 100644 src/components/user-research-banner/user-research-banner.test.js create mode 100644 src/components/user-research-banner/user-research-banner.yaml create mode 100644 src/utils/__tests__/cookies.test.js create mode 100644 src/utils/cookies.js diff --git a/CHANGELOG.md b/CHANGELOG.md index e81af06d..280e7084 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [1.26.0] - 2021-02-19 + +## Added + +- HMRC user research banner + ## [1.25.0] - 2021-02-17 ## Updated diff --git a/backstop_data/bitmaps_reference/backstop_default_HMRC_Header_0_document_0_phone.png b/backstop_data/bitmaps_reference/backstop_default_HMRC_Header_0_document_0_phone.png index 1840d4231ee97dced822147dd44d95415978c45c..4c2707ab3c0035208bec54f451e0c68ce71b570b 100644 GIT binary patch literal 23462 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 W3|^%utS$eJQd;8B5HVQI@gH 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 diff --git a/backstop_data/bitmaps_reference/backstop_default_HMRC_Header_0_document_1_tablet.png b/backstop_data/bitmaps_reference/backstop_default_HMRC_Header_0_document_1_tablet.png index 05fef688bd8af88e5831140b90923055e3b11e2b..e95a4f8babc1ea04e7d1454599f050fdad66f020 100644 GIT binary patch literal 31323 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 literal 9941 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 diff --git a/backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_0_phone.png b/backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_0_phone.png new file mode 100644 index 0000000000000000000000000000000000000000..0fac019f237dc88655f52834de5b7063fc33f399 GIT binary patch literal 10747 zcmeHtX*8Q%yT49P2M^kMR9jP9v=537WJ`yRHDA?+5+>o{$q8t^t2`h1r-G3e@yU(gg%g37B5HY8Rc)9FK{$ z;}CaN*1q2JtlPhPcqsev{VPMMq%vQ7y9OJ)1GCQ;+c?4{G$xEVIAd{CXGW->m|vv> z!(rd8!#Mvlx}PmiUDd>Bl(;NTk ztPCF(ynp%e#uFW;&h6V}59@M0S)AuWw*HT8pUmQPf*S?~eoIE?JzYyqlM5iJq@qNP zbvs;yLCCONe~rB5+*KUf7bI2m#RvUnI>evXAy3h0OqbMbp?E zyU3BoCTCC=f=x$PwYWJ~SB@xRs_kKcIlr76Sax@QHQp_Gz31nr9Zj>!=c%xzjsjSO zk3;?1aDuPXxctI0GR#tNr9TjaT>X1EV6rtU_jskj*o6cvA*+P~xGGUapHK%|Vv z2l$%@yGCFWzaThcB_JL%DqcZR?b@cGB5-1z8M^Gkiv+j6(9qE8UKy&bdE^W}ckS_m zaka=Rn$3nwBeAcq^$f1&6&zi`Lq{aCM_?(F5pCX#DbG<$#Pn|2F=2>?;w^-GM|eer z8L*(hh=ljuTKg77EvrSP@5^ppW5`4$+NRvdX5oqu@V9Yl@J9n8nYfLd3)x0}u~;{& z(%04H!(Nk)Vb*KyINUfrdr7NgQ747Pk}XqjBc{VuET|~wUuq!b_iMxPo`3dRsA2{Q z2;;1*(eT`_zYhs5oTveE)%X3JUeb~%rhQVs7q4duV|Uw)?_e>xEvLca`C_QNayA9{ zQSQc=ujv3pTxftYoyMkTb?~BXp(rZYt9l$

t*-D^_18n>AczDjO8d0e~(VWRk# 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 D_hp3y literal 0 HcmV?d00001 diff --git a/backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_1_tablet.png b/backstop_data/bitmaps_reference/backstop_default_HMRC_User_Research_Banner_0_document_1_tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..801f7fb6450695860cce8a2e5621df95b5c6e6a5 GIT binary patch literal 16173 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 literal 0 HcmV?d00001 diff --git a/check-compatibility.js b/check-compatibility.js index d1a0c8ec..f5299a34 100644 --- a/check-compatibility.js +++ b/check-compatibility.js @@ -14,7 +14,7 @@ if (!knownPrototypeKitNames.includes(consumerPackageJson.name)) { } const compatibility = { - 1.25: { + 1.26: { 'prototype-kit': ['9.12', '9.11', '9.10', '9.9', '9.8', '9.7', '9.6', '9.5', '9.4', '9.3', '9.2', '9.1', '9.0', '9.9', '9.10', '9.11'], }, 0.6: { diff --git a/package-lock.json b/package-lock.json index 9ea0480a..e20f181b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14129,6 +14129,12 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true }, + "mockdate": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mockdate/-/mockdate-3.0.2.tgz", + "integrity": "sha512-ldfYSUW1ocqSHGTK6rrODUiqAFPGAg0xaHqYJ5tvj1hQyFsjuHpuWgWFTZWwDVlzougN/s2/mhDr8r5nY5xDpA==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/package.json b/package.json index c069893d..3551e434 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hmrc-frontend", - "version": "1.25.0", + "version": "1.26.0", "description": "Design patterns for HMRC frontends", "scripts": { "start": "gulp dev", @@ -10,7 +10,7 @@ "build:dist": "gulp build:dist --destination 'dist' && npm run test:build:dist", "build": "npm run build:dist && npm run build:package", "lint": "stylelint 'src/**/*.scss' && eslint .", - "lint:fix": "stylelint 'src/**/*.scss' && eslint --fix .", + "lint:fix": "stylelint 'src/**/*.scss' --fix && eslint --fix .", "test": "npm run build:dist && jest src && npm run lint", "test:update-snapshots": "jest src -u", "test:compatibility": "jest __tests__/check-compatibility.test.js", @@ -72,6 +72,7 @@ "js-yaml": "^3.14.1", "merge-stream": "^1.0.1", "mkdirp": "^1.0.4", + "mockdate": "^3.0.2", "node-sass": "^5.0.0", "nodemon": "^2.0.3", "nunjucks": "^3.2.1", diff --git a/src/all.js b/src/all.js index be99332f..1530472d 100644 --- a/src/all.js +++ b/src/all.js @@ -1,5 +1,6 @@ import AccountMenu from './components/account-menu/account-menu'; import TimeoutDialog from './components/timeout-dialog/timeout-dialog'; +import UserResearchBanner from './components/user-research-banner/user-research-banner'; function initAll() { const $AccountMenuSelector = '[data-module="hmrc-account-menu"]'; @@ -11,10 +12,16 @@ function initAll() { if ($TimeoutDialog) { new TimeoutDialog($TimeoutDialog).init(); } + + const $UserResearchBanner = document.querySelector('[data-module="hmrc-user-research-banner"]'); + if ($UserResearchBanner) { + new UserResearchBanner($UserResearchBanner).init(); + } } export default { initAll, AccountMenu, TimeoutDialog, + UserResearchBanner, }; diff --git a/src/components/_all.scss b/src/components/_all.scss index 2c6c8a5b..083a4d1d 100644 --- a/src/components/_all.scss +++ b/src/components/_all.scss @@ -9,3 +9,4 @@ @import "add-to-a-list/add-to-a-list"; @import "timeout-dialog/timeout-dialog"; @import "status-tags-in-task-list-pages/status-tags-in-task-list-pages"; +@import "user-research-banner/user-research-banner"; diff --git a/src/components/header/_header.scss b/src/components/header/_header.scss index 151f8912..5e147cb3 100644 --- a/src/components/header/_header.scss +++ b/src/components/header/_header.scss @@ -52,3 +52,9 @@ } } } + +// Shift user research banner up 10px to compensate for govuk header border +// only when adjacent to govuk header +.hmrc-header + .hmrc-user-research-banner { + top: -10px; +} diff --git a/src/components/header/header.yaml b/src/components/header/header.yaml index c697fd9b..ff5734dd 100644 --- a/src/components/header/header.yaml +++ b/src/components/header/header.yaml @@ -64,7 +64,45 @@ params: type: string required: false description: Either "en" for english or "cy" for welsh. - +- name: displayHmrcBanner + type: boolean + required: false + description: Display the HMRC banner or not +- name: userResearch + type: object + required: false + description: User research banner parameters. If not supplied, the user research banner will not be displayed. + params: + - name: url + type: string + required: true + description: The URL the user research banner should link to +- name: phaseBanner + type: object + required: false + description: Phase banner parameters. If not supplied, the phase banner will not be displayed. + params: + - name: text + type: string + required: true + description: If `html` is set, this is not required. Text to use within the phase banner. If `html` is provided, the `text` argument will be ignored. + - name: html + type: string + required: true + description: If `text` is set, this is not required. HTML to use within the phase banner. If `html` is provided, the `text` argument will be ignored. + - name: tag + type: object + required: false + description: Options for the tag component. + isComponent: true + - name: classes + type: string + required: false + description: Classes to add to the phase banner container. + - name: attributes + type: object + required: false + description: HTML attributes (for example data attributes) to add to the phase banner container. previewLayout: full-width accessibilityCriteria: | Text and links in the Header must: @@ -89,7 +127,13 @@ examples: - name: default description: The standard header as used on information pages on GOV.UK data: - {} + userResearch: + url: '/sign-up-for-user-research' + phaseBanner: + tag: + text: alpha + html: This is a new service – your feedback will help us to improve it. + displayHmrcBanner: true - name: with service name description: If your service is more than a few pages long, you can help users understand where they are by adding the service name. diff --git a/src/components/header/template.njk b/src/components/header/template.njk index ad47ce0b..4f7c6068 100644 --- a/src/components/header/template.njk +++ b/src/components/header/template.njk @@ -1,5 +1,7 @@ {% set language = params.language | default('en') %} {% from "../banner/macro.njk" import hmrcBanner %} +{% from "../user-research-banner/macro.njk" import hmrcUserResearchBanner %} + {% from "govuk/components/phase-banner/macro.njk" import govukPhaseBanner %}
+ {% if params.userResearch %} + {{ hmrcUserResearchBanner({language: params.language, url: params.userResearch.url }) }} + {% endif %} + {% if params.phaseBanner %} +
+ {{ govukPhaseBanner(params.phaseBanner) }} +
+ {% endif %} {% if params.displayHmrcBanner %}
{{ hmrcBanner({language: params.language}) }} diff --git a/src/components/user-research-banner/README.md b/src/components/user-research-banner/README.md new file mode 100644 index 00000000..07039863 --- /dev/null +++ b/src/components/user-research-banner/README.md @@ -0,0 +1 @@ +# HMRC User Research Banner diff --git a/src/components/user-research-banner/_user-research-banner.scss b/src/components/user-research-banner/_user-research-banner.scss new file mode 100644 index 00000000..9b435ee2 --- /dev/null +++ b/src/components/user-research-banner/_user-research-banner.scss @@ -0,0 +1,58 @@ +@import "node_modules/govuk-frontend/govuk/helpers/typography"; + +@mixin hmrc-white-link() { + color: govuk-colour("white"); + + &:link, + &:hover, + &:visited { + color: govuk-colour("white"); + } + + &:active, + &:focus { + color: govuk-colour("black"); + } +} + +.hmrc-user-research-banner { + display: none; + position: relative; + color: govuk-colour("white"); + background-color: $govuk-brand-colour; + box-sizing: border-box; + + @include govuk-responsive-padding(6, "top"); + @include govuk-responsive-padding(6, "bottom"); + @include govuk-font($size: 19); + + &__container { + position: relative; + } + + &__title { + @include govuk-responsive-margin(1, "bottom"); + } + + &__link { + @include hmrc-white-link(); + } + + &--show { + display: block; + } + + &__close { + @include hmrc-white-link(); + @include govuk-responsive-margin(2, "top"); + + outline: 0; + border: 0; + background: none; + text-decoration: underline; + box-shadow: none; + padding: 0; + cursor: pointer; + font-size: inherit; + } +} diff --git a/src/components/user-research-banner/macro.njk b/src/components/user-research-banner/macro.njk new file mode 100644 index 00000000..9c9b192e --- /dev/null +++ b/src/components/user-research-banner/macro.njk @@ -0,0 +1,3 @@ +{% macro hmrcUserResearchBanner(params) %} + {%- include "./template.njk" -%} +{% endmacro %} diff --git a/src/components/user-research-banner/template.njk b/src/components/user-research-banner/template.njk new file mode 100644 index 00000000..fdf759dd --- /dev/null +++ b/src/components/user-research-banner/template.njk @@ -0,0 +1,27 @@ +
+
+
+
+ {% if params.language == 'cy' %} + Helpwch i wella gwasanaethau CThEM + {% else %} + Help improve HMRC services + {% endif %} +
+ + {% if params.language == 'cy' %} + Cofrestrwch i gymryd rhan mewn ymchwil defnyddwyr (yn agor tab newydd) + {% else %} + Sign up to take part in user research (opens in new tab) + {% endif %} + +
+ +
+
diff --git a/src/components/user-research-banner/template.test.js b/src/components/user-research-banner/template.test.js new file mode 100644 index 00000000..4fe506ee --- /dev/null +++ b/src/components/user-research-banner/template.test.js @@ -0,0 +1,38 @@ +/* eslint-env jest */ + +const axe = require('../../../lib/axe-helper'); + +const { render, getExamples } = require('../../../lib/jest-helpers'); + +const examples = getExamples('user-research-banner'); + +describe('User Research Banner', () => { + describe('by default', () => { + it('passes accessibility tests', async () => { + const $ = render('user-research-banner', examples.default); + + const results = await axe($.html(), { + rules: { + region: { enabled: false }, + }, + }); + + expect(results).toHaveNoViolations(); + }); + + it('should render the correct URL', () => { + const $ = render('user-research-banner', examples.default); + expect($('.hmrc-user-research-banner__link').attr('href')).toEqual('https://www.example.com/user-research'); + }); + + it('should have English text by default', () => { + const $ = render('user-research-banner', examples.default); + expect($('.hmrc-user-research-banner__title').text().trim()).toEqual('Help improve HMRC services'); + }); + + it('should have Welsh text when specified', () => { + const $ = render('user-research-banner', examples.welsh); + expect($('.hmrc-user-research-banner__title').text().trim()).toEqual('Helpwch i wella gwasanaethau CThEM'); + }); + }); +}); diff --git a/src/components/user-research-banner/user-research-banner.js b/src/components/user-research-banner/user-research-banner.js new file mode 100644 index 00000000..91fe51de --- /dev/null +++ b/src/components/user-research-banner/user-research-banner.js @@ -0,0 +1,28 @@ +import { getCookie, setCookie } from '../../utils/cookies'; + +function UserResearchBanner($module) { + this.$module = $module; + this.$closeLink = this.$module.querySelector('.hmrc-user-research-banner__close'); + this.cookieName = 'mdtpurr'; + this.cookieExpiryDays = 28; +} + +UserResearchBanner.prototype.init = function init() { + const cookieData = getCookie(this.cookieName); + + if (cookieData == null) { + this.$module.classList.add('hmrc-user-research-banner--show'); + this.$closeLink.addEventListener('click', this.eventHandlers.noThanksClick.bind(this)); + } +}; + +UserResearchBanner.prototype.eventHandlers = { + noThanksClick(event) { + event.preventDefault(); + + setCookie(this.cookieName, 'suppress_for_all_services', { days: this.cookieExpiryDays }); + this.$module.classList.remove('hmrc-user-research-banner--show'); + }, +}; + +export default UserResearchBanner; diff --git a/src/components/user-research-banner/user-research-banner.test.js b/src/components/user-research-banner/user-research-banner.test.js new file mode 100644 index 00000000..cbed6538 --- /dev/null +++ b/src/components/user-research-banner/user-research-banner.test.js @@ -0,0 +1,72 @@ +/** + * @jest-environment ./lib/puppeteer/environment.js + */ +/* eslint-env jest */ + +const configPaths = require('../../../config/paths.json'); + +describe('/components/user-research-banner', () => { + let page; + const url = `http://localhost:${configPaths.ports.test}/components/user-research-banner/default/preview`; + const dayInSeconds = 24 * 60 * 60; + const expiryTimeInSeconds = 28 * dayInSeconds; + + const getExpectedExpiry = () => Math.trunc( + (new Date().getTime() + (expiryTimeInSeconds * 1000)) / 1000, + ); + + beforeAll(async () => { + // eslint-disable-next-line no-underscore-dangle + page = await global.__BROWSER__.newPage(); + }); + + beforeEach(async () => { + await page.goto(url); + }); + + afterEach(async () => { + await page.deleteCookie({ name: 'mdtpurr' }); + }); + + afterAll(async () => { + await page.close(); + }); + + describe('When a page with the user research banner is loaded', () => { + it('should display', async () => { + await page.waitForSelector('.hmrc-user-research-banner', { + visible: true, + }); + }); + + it('should close when No thanks is clicked', async () => { + await page.waitForSelector('.hmrc-user-research-banner', { + visible: true, + }); + + const closeLink = await page.$('.hmrc-user-research-banner__close'); + await closeLink.click(); + + await page.waitForSelector('.hmrc-user-research-banner', { + hidden: true, + }); + }); + + it('should set the mdtpurr cookie with the correct properties when No thanks is clicked', async () => { + expect(await page.cookies()).toHaveLength(0); + + const closeLink = await page.$('.hmrc-user-research-banner__close'); + + const earliestExpectedExpiry = getExpectedExpiry(); + await closeLink.click(); + const latestExpectedExpiry = getExpectedExpiry(); + + const cookies = await page.cookies(); + expect(cookies).toHaveLength(1); + expect(cookies[0].name).toEqual('mdtpurr'); + expect(cookies[0].value).toEqual('suppress_for_all_services'); + expect(cookies[0].expires).toBeGreaterThanOrEqual(earliestExpectedExpiry); + expect(cookies[0].expires).toBeGreaterThanOrEqual(latestExpectedExpiry); + }); + }); +}); diff --git a/src/components/user-research-banner/user-research-banner.yaml b/src/components/user-research-banner/user-research-banner.yaml new file mode 100644 index 00000000..44ffabaa --- /dev/null +++ b/src/components/user-research-banner/user-research-banner.yaml @@ -0,0 +1,22 @@ +params: +- name: url + type: string + required: true + description: The url to link to from the user research banner +- name: language + type: string + required: false + description: Either "en" for English or "cy" for Welsh + +previewLayout: full-width + +examples: +- name: default + description: The standard user research banner + data: + url: 'https://www.example.com/user-research' + language: en +- name: welsh + description: The standard user research banner for Welsh + data: + language: cy diff --git a/src/utils/__tests__/cookies.test.js b/src/utils/__tests__/cookies.test.js new file mode 100644 index 00000000..c5392023 --- /dev/null +++ b/src/utils/__tests__/cookies.test.js @@ -0,0 +1,70 @@ +/* eslint-env jest */ + +import MockDate from 'mockdate'; +import { getCookie, setCookie } from '../cookies'; + +describe('cookies', () => { + describe('setCookie', () => { + beforeEach(() => { + delete window.location; + window.location = { + protocol: 'http:', + }; + + // Clear any cookies that exist + document.cookie = 'baz=; Max-Age=-99999999;'; + document.cookie = 'foo=; Max-Age=-99999999;'; + document.cookie = 'bam=; Max-Age=-99999999;'; + document.cookie = 'faz=; Max-Age=-99999999;'; + }); + + it('should set a cookie', () => { + const cookieString = setCookie('baz', 'foo'); + + expect(cookieString).toEqual('baz=foo; path=/'); + expect(document.cookie).toEqual('baz=foo'); + }); + + it('should set multiple cookies', () => { + setCookie('baz', 'foo'); + setCookie('faz', 'bar'); + + expect(document.cookie).toEqual('baz=foo; faz=bar'); + }); + + it('should set a cookie with an expiry date', () => { + MockDate.set('1/1/2050'); + + const cookieString = setCookie('foo', 'bar', { days: 1 }); + + expect(cookieString).toEqual('foo=bar; path=/; expires=Sun, 02 Jan 2050 00:00:00 GMT'); + expect(document.cookie).toEqual('foo=bar'); + }); + + it('should set a secure cookie', () => { + window.location.protocol = 'https:'; + const cookieString = setCookie('foo', 'bar'); + + expect(cookieString).toEqual('foo=bar; path=/; Secure'); + }); + }); + + describe('getCookie', () => { + it('should correctly retrieve a cookie', () => { + document.cookie = 'foo=bar'; + expect(getCookie('foo')).toEqual('bar'); + }); + + it('should correctly retrieve a cookie if more than one exists', () => { + document.cookie = 'foo=bar'; + document.cookie = 'bam=bat'; + + expect(getCookie('bam')).toEqual('bat'); + expect(getCookie('foo')).toEqual('bar'); + }); + + it("should return null if the cookie doesn't exist", () => { + expect(getCookie('nonexistent')).toEqual(null); + }); + }); +}); diff --git a/src/utils/cookies.js b/src/utils/cookies.js new file mode 100644 index 00000000..95c21b0d --- /dev/null +++ b/src/utils/cookies.js @@ -0,0 +1,30 @@ +// Based on https://github.com/alphagov/govuk_template_jinja +export const setCookie = (name, value, options = {}) => { + let cookieString = `${name}=${value}; path=/`; + if (options.days) { + const date = new Date(); + date.setTime(date.getTime() + (options.days * 24 * 60 * 60 * 1000)); + cookieString = `${cookieString}; expires=${date.toGMTString()}`; + } + if (window.location.protocol === 'https:') { + cookieString += '; Secure'; + } + document.cookie = cookieString; + + return cookieString; +}; + +export const getCookie = (name) => { + const nameEQ = `${name}=`; + const cookies = document.cookie.split(';'); + for (let i = 0, len = cookies.length; i < len; i += 1) { + let cookie = cookies[i]; + while (cookie.charAt(0) === ' ') { + cookie = cookie.substring(1, cookie.length); + } + if (cookie.indexOf(nameEQ) === 0) { + return decodeURIComponent(cookie.substring(nameEQ.length)); + } + } + return null; +}; diff --git a/tasks/gulp/backstop-config.js b/tasks/gulp/backstop-config.js index 3fb50621..f828a4ef 100644 --- a/tasks/gulp/backstop-config.js +++ b/tasks/gulp/backstop-config.js @@ -76,6 +76,11 @@ module.exports = ({ host, port }) => ({ url: `http://${host}:${port}/components/timeout-dialog/preview`, delay: 2000, }, + { + label: 'HMRC User Research Banner', + url: `http://${host}:${port}/components/user-research-banner/preview`, + delay: 2000, + }, ], paths: { bitmaps_reference: 'backstop_data/bitmaps_reference', From ef6c5f6c691e7b9d2da8dec7b6e1d180f37919ed Mon Sep 17 00:00:00 2001 From: Matthew Mascord <27346863+matthewmascord@users.noreply.github.com> Date: Mon, 22 Feb 2021 14:38:24 +0000 Subject: [PATCH 2/2] PLATUI-924: Update userResearch parameter as suggested in PR --- src/components/header/header.yaml | 4 ++-- src/components/header/template.njk | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/header/header.yaml b/src/components/header/header.yaml index ff5734dd..cae452ee 100644 --- a/src/components/header/header.yaml +++ b/src/components/header/header.yaml @@ -68,7 +68,7 @@ params: type: boolean required: false description: Display the HMRC banner or not -- name: userResearch +- name: userResearchBanner type: object required: false description: User research banner parameters. If not supplied, the user research banner will not be displayed. @@ -127,7 +127,7 @@ examples: - name: default description: The standard header as used on information pages on GOV.UK data: - userResearch: + userResearchBanner: url: '/sign-up-for-user-research' phaseBanner: tag: diff --git a/src/components/header/template.njk b/src/components/header/template.njk index 4f7c6068..4c30e63d 100644 --- a/src/components/header/template.njk +++ b/src/components/header/template.njk @@ -106,8 +106,8 @@ {% endif %}
- {% if params.userResearch %} - {{ hmrcUserResearchBanner({language: params.language, url: params.userResearch.url }) }} + {% if params.userResearchBanner %} + {{ hmrcUserResearchBanner({language: params.language, url: params.userResearchBanner.url }) }} {% endif %} {% if params.phaseBanner %}