From e2880fdde428d3892548bd3a071d1a1e526d5a79 Mon Sep 17 00:00:00 2001 From: Ulysses Alvarez Date: Fri, 9 Aug 2024 13:14:45 +0100 Subject: [PATCH] fixed welsh bugs and sonar issues. --- .sonarlint/connectedMode.json | 4 ++ .../assets/stylesheets/lang-toggle/_all.scss | 13 +++++ src/config/index.js | 2 +- src/server/accessibility/controller.js | 19 +++----- src/server/accessibility/cy/controller.js | 7 +-- src/server/accessibility/index.njk | 2 +- src/server/cookies/controller.js | 11 +++-- src/server/cookies/cy/controller.js | 48 ++++++++++++------- src/server/cookies/index.njk | 31 ++++++------ src/server/data/cy/constants.js | 1 + src/server/data/cy/cy.js | 30 ++++++------ src/server/privacy/controller.js | 11 +++-- src/server/privacy/cy/controller.js | 7 +-- src/server/privacy/index.njk | 2 +- src/sonar-project.properties | 6 +-- 15 files changed, 113 insertions(+), 81 deletions(-) create mode 100644 .sonarlint/connectedMode.json create mode 100644 src/server/data/cy/constants.js diff --git a/.sonarlint/connectedMode.json b/.sonarlint/connectedMode.json new file mode 100644 index 00000000..28e4e935 --- /dev/null +++ b/.sonarlint/connectedMode.json @@ -0,0 +1,4 @@ +{ + "sonarCloudOrganization": "defra", + "projectKey": "8a3e3fc5664ed1006f22cc2abfbdc42bf4208f91" +} diff --git a/src/client/assets/stylesheets/lang-toggle/_all.scss b/src/client/assets/stylesheets/lang-toggle/_all.scss index bc8c644c..a5a7234a 100644 --- a/src/client/assets/stylesheets/lang-toggle/_all.scss +++ b/src/client/assets/stylesheets/lang-toggle/_all.scss @@ -34,4 +34,17 @@ .govuk-main-wrapper.govuk-main-wrapper{ padding-top: 20px; } + + .govuk-main-wrapper.govuk-main-wrapper:has(.govuk-radios){ + padding-top: 0; + } + + .govuk-main-wrapper.govuk-main-wrapper:has(.govuk-list){ + padding-top: 0; + } + + .govuk-main-wrapper.govuk-main-wrapper:has(.govuk-grid-column-two-thirds-from-desktop.govuk-grid-column-full){ + padding-top: 20px; + } + \ No newline at end of file diff --git a/src/config/index.js b/src/config/index.js index 43c1c657..c847f369 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -77,7 +77,7 @@ const config = convict({ doc: 'OS Name Places key', format: '*', sensitive: true, - default: '', + default: 'vvR3FiaNjSWCnFzSKBst23TX6efl0oL9', env: 'OS_PLACES_API_KEY' }, osPlacesApiUrl: { diff --git a/src/server/accessibility/controller.js b/src/server/accessibility/controller.js index e20f4b34..deb1f2d9 100644 --- a/src/server/accessibility/controller.js +++ b/src/server/accessibility/controller.js @@ -5,27 +5,20 @@ const accessibilityController = { /* eslint-disable camelcase */ const { footer: { - accessibility: { - paragraphs, - pageTitle, - title, - utm_source, - userId, - headings, - heading - } + accessibility: { paragraphs, pageTitle, title, headings, heading } }, cookieBanner, phaseBanner, footerTxt, multipleLocations: { serviceName } } = english - const language = 'en' const { - query: { lang } + query: { lang, utm_source, userId } } = request if (lang && lang === 'cy') { - return h.redirect('/hygyrchedd/cy') + return h.redirect( + `/hygyrchedd/cy?lang=${lang}&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('accessibility/index', { userId, @@ -40,7 +33,7 @@ const accessibilityController = { footerTxt, cookieBanner, serviceName, - lang: lang ?? language + lang }) } } diff --git a/src/server/accessibility/cy/controller.js b/src/server/accessibility/cy/controller.js index 61a4b62d..b2a16e6e 100644 --- a/src/server/accessibility/cy/controller.js +++ b/src/server/accessibility/cy/controller.js @@ -15,9 +15,10 @@ const accessibilityController = { const { query: { lang, userId, utm_source } } = request - const language = 'cy' if (lang && lang === 'en') { - return h.redirect('/accessibility') + return h.redirect( + `/accessibility?lang=en&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('accessibility/index', { userId, @@ -32,7 +33,7 @@ const accessibilityController = { footerTxt, cookieBanner, serviceName, - lang: lang ?? language + lang }) } } diff --git a/src/server/accessibility/index.njk b/src/server/accessibility/index.njk index 3e75c2db..332f7dde 100644 --- a/src/server/accessibility/index.njk +++ b/src/server/accessibility/index.njk @@ -18,7 +18,7 @@

{{paragraphs.c}}

-

{{haedings.b}}

+

{{headings.b}}

{{paragraphs.d}}

{{paragraphs.e}}

diff --git a/src/server/cookies/controller.js b/src/server/cookies/controller.js index d4a04ace..bd8879b2 100644 --- a/src/server/cookies/controller.js +++ b/src/server/cookies/controller.js @@ -19,10 +19,13 @@ const cookiesController = { multipleLocations: { serviceName } } = english /* eslint-disable camelcase */ - const { query: lang, userId, utm_source } = request - const language = 'en' + const { + query: { lang, userId, utm_source } + } = request if (lang && lang === 'cy') { - return h.redirect('/briwsion/cy') + return h.redirect( + `/briwsion/cy?lang=cy&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('cookies/index', { userId, @@ -40,7 +43,7 @@ const cookiesController = { cookieBanner, serviceName, page: 'cookies', - lang: lang ?? language + lang }) } } diff --git a/src/server/cookies/cy/controller.js b/src/server/cookies/cy/controller.js index 5e4d6806..03692c93 100644 --- a/src/server/cookies/cy/controller.js +++ b/src/server/cookies/cy/controller.js @@ -2,34 +2,48 @@ import { welsh } from '~/src/server/data/cy/cy.js' const cookiesController = { handler: (request, h) => { const { - footer: { cookies }, + footer: { + cookies: { + pageTitle, + title, + heading, + headings, + table1, + table2, + paragraphs + } + }, cookieBanner, phaseBanner, footerTxt, - multipleLocations + multipleLocations: { serviceName } } = welsh - const lang = 'cy' - const { query } = request - if (query?.lang && query?.lang === 'en') { - return h.redirect('/cookies') + /* eslint-disable camelcase */ + const { + query: { lang, userId, utm_source } + } = request + if (lang && lang === 'en') { + return h.redirect( + `/cookies?lang=en&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('cookies/index', { - userId: query?.userId, - utm_source: query?.utm_source, - pageTitle: cookies.pageTitle, - title: cookies.title, - heading: cookies.heading, - headings: cookies.headings, - table1: cookies.table1, - table2: cookies.table2, - paragraphs: cookies.paragraphs, + userId, + utm_source, + pageTitle, + title, + heading, + headings, + table1, + table2, + paragraphs, displayBacklink: false, phaseBanner, footerTxt, cookieBanner, - serviceName: multipleLocations.serviceName, + serviceName, page: 'cookies', - lang: query?.lang ?? lang + lang }) } } diff --git a/src/server/cookies/index.njk b/src/server/cookies/index.njk index 8bc7b92a..71a6a3d0 100644 --- a/src/server/cookies/index.njk +++ b/src/server/cookies/index.njk @@ -19,19 +19,19 @@ }) }}

{{title}}

-

{{paragraphs.a}} {{paragraphs.b}}

- -

{{paragraphs.c}}

+

{{paragraphs.a}} {{paragraphs.b}} {{paragraphs.c}}

{{paragraphs.d}}

-

{{paragraphs.e}} {{paragraphs.f}} {{paragraphs.g}}

+

{{paragraphs.e}}

+ +

{{paragraphs.f}} {{paragraphs.g}} {{paragraphs.h}}

{{headings.a}}

-

{{paragraphs.h}}

+

{{paragraphs.i}}

{{ govukTable({ firstCellIsHeader: true, @@ -52,25 +52,24 @@

{{headings.b}}

-

{{paragraphs.i}}

-

{{paragraphs.j}}

{{paragraphs.k}}

{{paragraphs.l}}

+

{{paragraphs.m}}

+ - {{ govukTable({ firstCellIsHeader: true, - caption: headings.c, + caption: headings.d, head: [ { text: table2.text1 }, { text: table2.text2 }, @@ -85,7 +84,7 @@ [ { text: "_gid" }, { text: table2.text7 }, - { text: table8.text8 } + { text: table2.text8 } ], [ { text: "_gat_UA-[G-8CMZBTDQBC]" }, @@ -100,7 +99,7 @@ idPrefix: "cookies-analytics", fieldset: { legend: { - text: headings.d, + text: headings.e, classes: "govuk-fieldset__legend--s" }, classes: "js-cookies-page-form-fieldset", @@ -111,11 +110,11 @@ }, items: [ { - text: paragraphs.r, + text: paragraphs.s, value: "yes" }, { - text: paragraphs.s, + text: paragraphs.t, value: "no" } ] diff --git a/src/server/data/cy/constants.js b/src/server/data/cy/constants.js new file mode 100644 index 00000000..7dd9e9f1 --- /dev/null +++ b/src/server/data/cy/constants.js @@ -0,0 +1 @@ +export const WELSH_TITLE = 'Gwirio ansawdd aer lleol' diff --git a/src/server/data/cy/cy.js b/src/server/data/cy/cy.js index a9dea1b1..d34fb874 100644 --- a/src/server/data/cy/cy.js +++ b/src/server/data/cy/cy.js @@ -1,8 +1,10 @@ +import { WELSH_TITLE } from './constants' + export const welsh = { checkLocalAirQuality: { pageTitle: 'Gwirio ansawdd aer lleol - GOV.UK', - heading: 'Gwirio ansawdd aer lleol', - page: 'Gwirio ansawdd aer lleol', + heading: `${WELSH_TITLE}`, + page: `${WELSH_TITLE}`, paragraphs: { a: 'Defnyddiwch y gwasanaeth yma:', b: 'i wirio ansawdd yr aer mewn ardal leol', @@ -188,7 +190,7 @@ export const welsh = { ozone: { title: 'Osôn (O3)', pageTitle: 'Ozone(O₃) – Check local air quality – GOV.UK', - headerText: 'Gwirio ansawdd aer lleol', + headerText: `${WELSH_TITLE}`, headings: { a: 'Ffynonellau osôn', b: 'Effeithiau ar iechyd' @@ -211,7 +213,7 @@ export const welsh = { nitrogenDioxide: { title: 'Nitrogen deuocsid (NO₂)', pageTitle: 'Nitrogen deuocsid (NO₂) – Check local air quality – GOV.UK', - headerText: 'Gwirio ansawdd aer lleol', + headerText: `${WELSH_TITLE}`, headings: { a: 'Ffynonellau nitrogen deuocsid', b: 'Effeithiau ar iechyd' @@ -236,7 +238,7 @@ export const welsh = { sulphurDioxide: { title: 'Sylffwr deuocsid (SO₂)', pageTitle: 'Sylffwr deuocsid (SO₂) – Gwirio ansawdd aer lleol – GOV.UK', - headerText: 'Gwirio ansawdd aer lleol', + headerText: `${WELSH_TITLE}`, headings: { a: 'Ffynonellau sylffwr deuocsid', b: 'Effeithiau ar iechyd' @@ -261,7 +263,7 @@ export const welsh = { particulateMatter10: { title: 'Mater gronynnol (PM10)', pageTitle: 'Mater gronynnol (PM10) – Gwirio ansawdd aer lleol – GOV.UK', - headerText: 'Gwirio ansawdd aer lleol', + headerText: `${WELSH_TITLE}`, headings: { a: 'Ffynonellau PM10', b: 'Effeithiau ar iechyd' @@ -420,14 +422,13 @@ export const welsh = { text7: 'Mae’n ein helpu i gyfrif faint o bobl sy’n ymweld â Gwirio ansawdd aer lleol trwy ddweud wrthon ni a ydych chi wedi ymweld o’r blaen. ', text8: '24 awr', - text9: '_gat_UA-[GTM-WHV4RRMR]', - text10: 'Mae’n cael ei ddefnyddio i leihau nifer y ceisiadau.', - text11: '1 funud' + text9: 'Mae’n cael ei ddefnyddio i leihau nifer y ceisiadau.', + text10: '1 funud' }, paragraphs: { a: 'Mae', - b: 'Gwirio ansawdd aer lleol', - c: 'puts small files (known as ‘cookies’) on your computer.', + b: `${WELSH_TITLE}`, + c: 'yn rhoi ffeiliau bach (o’r enw ’cwcis’) ar eich cyfrifiadur. ', d: 'Mae’r cwcis yma yn cael eu defnyddio ar draws gwefan Gwirio ansawdd aer lleol.', e: 'Dim pan fydd JavaScript yn rhedeg yn eich porwr a phan fyddwch chi wedi’u derbyn y byddwn ni’n gosod cwcis. Os dewiswch chi beidio â rhedeg Javascript, fydd yr wybodaeth ar y tudalen yma ddim yn gymwys i chi.', f: 'Darganfyddwch', @@ -443,8 +444,8 @@ export const welsh = { p: 'Sut gwnaethoch chi gyrraedd y wefan', q: 'Beth rydych chi’n clicio arno wrth ymweld â’r wefan', r: 'Y ddyfais a’r porwr rydych chi’n eu defnyddio', - s: 'Oes', - t: 'Nac ydw', + s: 'Hoffwn', + t: 'Na hoffwn', buttonText: 'Cadw gosodiadau cwcis' } }, @@ -460,11 +461,12 @@ export const welsh = { a: 'Mae Adran yr Amgylchedd, Bwyd a Materion Gwledig wedi ymrwymo i wneud ei gwefannau yn hygyrch yn unol â Rheoliadau Hygyrchedd Cyrff y Sector Cyhoeddus (Gwefannau a Chymwysiadau Symudol) (Rhif 2) 2018. ', b: 'Mae’r datganiad hygyrchedd yma yn gymwys i', c: 'Mae’r wefan yma yn cydymffurfio’n llawn â safon AA fersiwn 2.2 o Ganllawiau Hygyrchedd Cynnwys y We (WCAG).', + d: 'Cafodd y datganiad yma ei baratoi ar 20 Mawrth 2024.', e: 'Cafodd y wefan ei gwerthuso gan Adran yr Amgylchedd, Bwyd a Materion Gwledig. ', f: 'Y tro diwethaf i’r datganiad gael ei adolygu oedd 11 Mawrth 2024.', g: 'Os byddwch yn sylwi ar unrhyw fethiannau cydymffurfiaeth neu os oes angen ichi ofyn am wybodaeth a chynnwys sydd heb gael eu darparu yn y ddogfen yma, anfonwch neges ebost at', - h: 'Y Comisiwn Cydraddoldeb a Hawliau Dynol (EHRC) sy’n gyfrifol am orfodi Rheoliadau Hygyrchedd Cyrff y Sector Cyhoeddus (Gwefannau a Chymwysiadau Symudol) (Rhif 2) 2018 (y ’rheoliadau hygyrchedd). ', + h: 'Y Comisiwn Cydraddoldeb a Hawliau Dynol (EHRC) sy’n gyfrifol am orfodi Rheoliadau Hygyrchedd Cyrff y Sector Cyhoeddus (Gwefannau a Chymwysiadau Symudol) (Rhif 2) 2018 (y ’rheoliadau hygyrchedd’). ', i: 'Os nad ydych chi’n fodlon ar y ffordd rydyn ni’n ymateb i’ch cwyn, cysylltwch â’r Gwasanaeth Cynghori a Chymorth Cydraddoldeb (EASS).' } } diff --git a/src/server/privacy/controller.js b/src/server/privacy/controller.js index 4e5c5a84..993dea01 100644 --- a/src/server/privacy/controller.js +++ b/src/server/privacy/controller.js @@ -12,10 +12,13 @@ const privacyController = { multipleLocations: serviceName } = english /* eslint-disable camelcase */ - const { query: lang, userId, utm_source } = request - const language = 'en' + const { + query: { lang, userId, utm_source } + } = request if (lang && lang === 'cy') { - return h.redirect('/preifatrwydd/cy') + return h.redirect( + `/preifatrwydd/cy?lang=cy&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('privacy/index', { userId, @@ -31,7 +34,7 @@ const privacyController = { cookieBanner, serviceName, page: 'privacy', - lang: lang ?? language + lang }) } } diff --git a/src/server/privacy/cy/controller.js b/src/server/privacy/cy/controller.js index 4ec1300a..ce51fe1c 100644 --- a/src/server/privacy/cy/controller.js +++ b/src/server/privacy/cy/controller.js @@ -15,9 +15,10 @@ const privacyController = { const { query: { lang, userId, utm_source } } = request - const language = 'cy' if (lang && lang === 'en') { - return h.redirect('/privacy') + return h.redirect( + `/privacy?lang=en&userId=${userId}&utm_source=${utm_source}` + ) } return h.view('privacy/index', { userId, @@ -33,7 +34,7 @@ const privacyController = { cookieBanner, serviceName, page: 'privacy', - lang: lang ?? language + lang }) } } diff --git a/src/server/privacy/index.njk b/src/server/privacy/index.njk index 0607ec4c..9d0448f7 100644 --- a/src/server/privacy/index.njk +++ b/src/server/privacy/index.njk @@ -60,7 +60,7 @@

{{paragraphs.a2}}

{{headings.j}}

-

{{paragraphs.a13}}

+

{{paragraphs.a3}}