From 5c3797b12541a3ed8044bfc1f2d41292aa755399 Mon Sep 17 00:00:00 2001 From: James Coker Date: Wed, 21 Aug 2024 17:09:39 +0100 Subject: [PATCH 01/13] Add cookies page back link --- package.json | 2 +- src/lib/components/CookiesPage.react.js | 8 +++++++- src/lib/fragments/CookieBanner.react.js | 4 ++-- src/lib/fragments/CookiePages/CookiesPage.js | 12 +++++++----- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index c0ef3f8..5f8d818 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uk_gov_dash_components", - "version": "1.28.0", + "version": "1.32.0", "description": "Dash components for Gov UK", "repository": { "type": "git", diff --git a/src/lib/components/CookiesPage.react.js b/src/lib/components/CookiesPage.react.js index 4047090..8c9445f 100644 --- a/src/lib/components/CookiesPage.react.js +++ b/src/lib/components/CookiesPage.react.js @@ -12,7 +12,8 @@ import { CookieProvider } from './cookies/utils/CookieContext'; * @param { * id: string, // Unique identifier for the cookie component * tag: string // Google Analytics tag string - * appTitle: string // Name of the app + * appTitle: string + * previousPage: string // Name of the app * } [props={}] * @return {*} */ @@ -58,6 +59,11 @@ CookiesPage.propTypes = { */ appTitle: PropTypes.string, + /** + * The name of the app to be referenced in CookiesPage. + */ + previousPage: PropTypes.string, + /** * Dash-assigned callback that gets fired when the value changes. */ diff --git a/src/lib/fragments/CookieBanner.react.js b/src/lib/fragments/CookieBanner.react.js index 52173db..12f7011 100644 --- a/src/lib/fragments/CookieBanner.react.js +++ b/src/lib/fragments/CookieBanner.react.js @@ -79,7 +79,7 @@ const CookieBanner = ({ ...props }) => {
-

You've {cookieAccepted ? "accepted" : "rejected"} additional cookies. You can change your cookie settings at any time.

+

You've {cookieAccepted ? "accepted" : "rejected"} additional cookies. You can change your cookie settings at any time.

@@ -126,7 +126,7 @@ const CookieBanner = ({ ...props }) => { data-track-category="cookieBanner" onClick={() => setCookieAccepted(false)}> Reject additional cookies - View cookies + View cookies diff --git a/src/lib/fragments/CookiePages/CookiesPage.js b/src/lib/fragments/CookiePages/CookiesPage.js index 8182ca6..17dea6b 100644 --- a/src/lib/fragments/CookiePages/CookiesPage.js +++ b/src/lib/fragments/CookiePages/CookiesPage.js @@ -7,7 +7,9 @@ import { CookieContext } from '../../components/cookies/utils/CookieContext'; -const SuccessNotification = (props) => { +const SuccessNotification = ({...props}) => { + const {previousPage} = props + return (
{

- You’ve updated your cookie preferences. + You’ve updated your cookie preferences. Go back to the page you were looking at

@@ -31,7 +33,7 @@ const CookiesPage = ({ ...props }) => { const {cookieStateIsSet, setCookieStateIsSet, cookieAccepted, setCookieAccepted} = useContext(CookieContext); console.log(cookieStateIsSet, "cookiesstateisset") const { tag } = props; - const {appTitle} = props; + const { appTitle } = props; const handleButtonClick = (cookieState) => { setCookieAccepted(true); @@ -56,11 +58,11 @@ const CookiesPage = ({ ...props }) => { setCookieStateIsSet(false); } }, []); - + return <>
- { cookieAccepted ? : null } + { cookieAccepted ? : null }

Cookies

From 6af3581d0159c88fcf2ba60b6fc63260e11136d0 Mon Sep 17 00:00:00 2001 From: James Coker Date: Thu, 22 Aug 2024 11:10:59 +0100 Subject: [PATCH 02/13] update cookie name --- package.json | 3 ++- src/lib/components/cookies/utils/Cookie.js | 8 ++++---- src/lib/fragments/CookieBanner.react.js | 6 +++--- src/lib/fragments/CookiePages/CookiesPage.js | 6 +++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 5f8d818..ecac361 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,8 @@ "build:backends": "dash-generate-components ./src/lib/components uk_gov_dash_components -p package-info.json --r-prefix 'govuk' --jl-prefix 'govuk' --ignore \\.test\\.", "build:backends-activated": "(. venv/bin/activate || venv\\scripts\\activate && npm run build:py_and_r)", "build": "npm run build:js && npm run build:backends", - "build:activated": "npm run build:js && npm run build:backends-activated" + "build:activated": "npm run build:js && npm run build:backends-activated", + "dist": "npm run build && python setup.py sdist bdist_wheel" }, "author": "DLUHC GovUk ", "license": "MIT", diff --git a/src/lib/components/cookies/utils/Cookie.js b/src/lib/components/cookies/utils/Cookie.js index dbee090..1a0ddec 100644 --- a/src/lib/components/cookies/utils/Cookie.js +++ b/src/lib/components/cookies/utils/Cookie.js @@ -60,16 +60,16 @@ export const handleCookieAccept = (accepted, tag) => { const today = new Date(), [year, month, day] = [today.getFullYear(), today.getMonth(), today.getDate()], - cookieExpiryDate = new Date(year, month + 1, day).toUTCString(); + cookieExpiryDate = new Date(year + 1, month, day).toUTCString(); if (accepted) { - document.cookie = `cookies_policy_21_3=${encodeURIComponent('{"essential":true,"usage":true,"preferences":true}')}; expires=${cookieExpiryDate};`; + document.cookie = `cookies_policy=${encodeURIComponent('{"essential":true,"usage":true,"preferences":true}')}; expires=${cookieExpiryDate};`; setCookies(tag); } else { - document.cookie = `cookies_policy_21_3=${encodeURIComponent('{"essential":true,"usage":false,"preferences":false}')}; expires=${cookieExpiryDate};`; + document.cookie = `cookies_policy=${encodeURIComponent('{"essential":true,"usage":false,"preferences":false}')}; expires=${cookieExpiryDate};`; deleteCookies(tag); } - document.cookie = `cookies_preferences_set_21_3=true; expires=${cookieExpiryDate}; path=/` + document.cookie = `cookies_preferences_set=true; expires=${cookieExpiryDate}; path=/` }; \ No newline at end of file diff --git a/src/lib/fragments/CookieBanner.react.js b/src/lib/fragments/CookieBanner.react.js index 12f7011..83e1d0d 100644 --- a/src/lib/fragments/CookieBanner.react.js +++ b/src/lib/fragments/CookieBanner.react.js @@ -31,15 +31,15 @@ const CookieBanner = ({ ...props }) => { useEffect(() => { - const cookiePreference = Cookies.get('cookies_preferences_set_21_3'); + const cookiePreference = Cookies.get('cookies_preferences_set'); if (cookiePreference === 'true') { console.info("Cookies preferences have been set."); - const cookiePolicyRaw = Cookies.get('cookies_policy_21_3'); + const cookiePolicyRaw = Cookies.get('cookies_policy'); console.log(`????${tag}`) if (!cookiePolicyRaw) { - Cookies.remove("cookies_preferences_set_21_3"); + Cookies.remove("cookies_preferences_set"); setCookieStateIsSet(false) console.info("Cookies policy has not been set."); } diff --git a/src/lib/fragments/CookiePages/CookiesPage.js b/src/lib/fragments/CookiePages/CookiesPage.js index 17dea6b..018c258 100644 --- a/src/lib/fragments/CookiePages/CookiesPage.js +++ b/src/lib/fragments/CookiePages/CookiesPage.js @@ -42,13 +42,13 @@ const CookiesPage = ({ ...props }) => { }; useEffect(() => { - const cookiePreference = Cookies.get('cookies_preferences_set_21_3'); + const cookiePreference = Cookies.get('cookies_preferences_set'); if (cookiePreference === 'true') { - const cookiePolicyRaw = Cookies.get('cookies_policy_21_3'); + const cookiePolicyRaw = Cookies.get('cookies_policy'); if (!cookiePolicyRaw) { - Cookies.remove('cookies_preferences_set_21_3'); + Cookies.remove('cookies_preferences_set'); setCookieStateIsSet(true); } else { const cookiePolicy = JSON.parse(cookiePolicyRaw); From 93a2cc5ad03813fd7c276b7af40ed254e4c45340 Mon Sep 17 00:00:00 2001 From: James Coker Date: Thu, 22 Aug 2024 11:13:29 +0100 Subject: [PATCH 03/13] Update cookies page content --- src/lib/fragments/CookiePages/CookiesPage.js | 40 +++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/src/lib/fragments/CookiePages/CookiesPage.js b/src/lib/fragments/CookiePages/CookiesPage.js index 018c258..cc3a5a7 100644 --- a/src/lib/fragments/CookiePages/CookiesPage.js +++ b/src/lib/fragments/CookiePages/CookiesPage.js @@ -80,6 +80,42 @@ const CookiesPage = ({ ...props }) => { We use 2 types of cookie. You can choose which cookies you're happy for us to use.

+

Essential cookies

+ +

+ Essential cookies keep your information secure while you use the service. We do not need to ask permission to use them. +

+ +
+ + + + + + + + + + + + + + + + + + + + +
NamePurposeExpires
cookies_policy + Saves your chosen cookies preference for future vists. + 1 year +
cookies_preferences_set + Saves whether you've set your cookie preferences to avoid repeat prompts. + 1 year +
+
+

Cookies that measure website use

@@ -160,7 +196,7 @@ const CookiesPage = ({ ...props }) => { -

Strictly necessary cookies

+ {/*

Strictly necessary cookies

These essential cookies do things like remember your cookie preferences, so we don't ask for them again. @@ -168,7 +204,7 @@ const CookiesPage = ({ ...props }) => {

They always need to be on. -

+

*/}

View cookies diff --git a/src/lib/fragments/CookiePages/CookiesPage.js b/src/lib/fragments/CookiePages/CookiesPage.js index cc3a5a7..8d11567 100644 --- a/src/lib/fragments/CookiePages/CookiesPage.js +++ b/src/lib/fragments/CookiePages/CookiesPage.js @@ -178,7 +178,7 @@ const CookiesPage = ({ ...props }) => {

setCookieStateIsSet(true)} />
setCookieStateIsSet(false)} />

- You’ve updated your cookie preferences. Go back to the page you were looking at + You’ve updated your cookie preferences. Go back to the page you were looking at.