Removed all govuk css (#2814)

* Removed all govuk css

* Updated reference files

* Removing govuk js

* Fixed casing for modules, removed unused page

* Got more reference images

* Updated template page

* Removed govuk padding util

* Updated hint to uswds hint

* More govuk cleanup

* Commiting backstopjs ref files

* Fixed all unit tests that broke due to brittleness around govuk styling

* Added new ref images

* Final removal of govuk

* Officially removed all govuk references

* Updated reference file

* Updated link to button

* UI modernization

* Cleanup

* removed govuk escaping tests since they are no longer needed

* Fix CodeQL security issue in escapeElementName function

- Escape backslashes first before other special characters
- Prevents potential double-escaping vulnerability
- Addresses CodeQL alert about improper string escaping

* Found more govuk removal. Fixed unit tests

* Add missing pipeline check to pre-commit

* updated test

* Updated e2e test

* More update to e2e test

* Fixed another e2e test

* Simple PR comments addressed

* More updates

* Updated backstop ref files

* Refactored folder selection for non-admins

* Updated redundant line

* Updated tests to include correct mocks

* Added more ref files

* Addressing carlos comments

* Addressing Carlo comments, cleanup of window initing

* More cleanup and addressing carlo comments

* Fixing a11 scan

* Fixed a few issues with javascript

* Fixed for pr

* Fixing e2e tests

* Tweaking e2e test

* Added more ref files and cleaned up urls.js

* Fixed bug with creating new template

* Removed brittle test - addressed code ql comment

* e2e race condition fix

* More e2e test fixes

* Updated e2e tests to not wait for text sent

* Updated test to not wait for button click response

* Made tear down more resilent if staging is down

* reverted e2e test to what was working before main merge

* Updated backstopRef images

* Updated gulp to include job-polling differently
This commit is contained in:
Alex Janousek
2025-10-06 09:38:54 -04:00
committed by GitHub
parent a366a10865
commit 6f5750f095
323 changed files with 2731 additions and 2796 deletions

View File

@@ -19,10 +19,6 @@ def find_canonical(item, graph, key):
)
# Copied from
# https://github.com/alphagov/govuk-country-and-territory-autocomplete
# /blob/b61091a502983fd2a77b3cdb5f94a604412eb093
# /dist/location-autocomplete-graph.json
_graph = _load_data("location-autocomplete-graph.json")
UK = "United Kingdom"

View File

@@ -26,7 +26,9 @@ ALL_WHITESPACE = (
string.whitespace + OBSCURE_ZERO_WIDTH_WHITESPACE + OBSCURE_FULL_WIDTH_WHITESPACE
)
govuk_not_a_link = re.compile(r"(^|\s)(#|\*|\^)?(GOV)\.(UK)(?!\/|\?|#)", re.IGNORECASE)
usgov_not_a_link = re.compile(
r"(^|\s)(#|\*|\^)?([\w]+)\.(GOV)(?!\/|\?|#)", re.IGNORECASE
)
smartypants.tags_to_skip = smartypants.tags_to_skip + ["a"]
@@ -58,9 +60,9 @@ url = re.compile(
more_than_two_newlines_in_a_row = re.compile(r"\n{3,}")
def unlink_govuk_escaped(message):
def unlink_usgov_escaped(message):
return re.sub(
govuk_not_a_link,
usgov_not_a_link,
r"\1\2\3" + ".\u200b" + r"\4", # Unicode zero-width space
message,
)

View File

@@ -35,7 +35,7 @@
<body style="font-family: Helvetica, Arial, sans-serif;font-size: 16px;margin: 0;color:#0b0c0c;">
{% endif %}
<span style="display: none;font-size: 1px;color: #fff; max-height: 0;">{{ preheader }}…</span>
{% if govuk_banner %}
{% if federal_banner %}
<table role="presentation" width="100%" style="border-collapse: collapse;min-width: 100%;width: 100% !important;" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="100%" height="53">

View File

@@ -34,7 +34,7 @@ from notifications_utils.formatters import (
sms_encode,
strip_leading_whitespace,
strip_unsupported_characters,
unlink_govuk_escaped,
unlink_usgov_escaped,
)
from notifications_utils.insensitive_dict import InsensitiveDict
from notifications_utils.markdown import (
@@ -517,7 +517,7 @@ class BaseEmailTemplate(SubjectMixin, Template):
redact_missing_personalisation=self.redact_missing_personalisation,
)
)
.then(unlink_govuk_escaped)
.then(unlink_usgov_escaped)
.then(strip_unsupported_characters)
.then(add_trailing_newline)
.then(notify_email_markdown)
@@ -570,7 +570,7 @@ class PlainTextEmailTemplate(BaseEmailTemplate):
self.content, self.values, html="passthrough", markdown_lists=True
)
)
.then(unlink_govuk_escaped)
.then(unlink_usgov_escaped)
.then(strip_unsupported_characters)
.then(add_trailing_newline)
.then(notify_plain_text_email_markdown)
@@ -605,7 +605,7 @@ class HTMLEmailTemplate(BaseEmailTemplate):
self,
template,
values=None,
govuk_banner=True,
federal_banner=True,
complete_html=True,
brand_logo=None,
brand_text=None,
@@ -614,7 +614,7 @@ class HTMLEmailTemplate(BaseEmailTemplate):
brand_name=None,
):
super().__init__(template, values)
self.govuk_banner = govuk_banner
self.federal_banner = federal_banner
self.complete_html = complete_html
self.brand_logo = brand_logo
self.brand_text = brand_text
@@ -633,7 +633,7 @@ class HTMLEmailTemplate(BaseEmailTemplate):
markdown_lists=True,
)
)
.then(unlink_govuk_escaped)
.then(unlink_usgov_escaped)
.then(strip_unsupported_characters)
.then(add_trailing_newline)
.then(notify_email_preheader_markdown)
@@ -647,7 +647,7 @@ class HTMLEmailTemplate(BaseEmailTemplate):
"subject": self.subject,
"body": self.html_body,
"preheader": self.preheader,
"govuk_banner": self.govuk_banner,
"federal_banner": self.federal_banner,
"complete_html": self.complete_html,
"brand_logo": self.brand_logo,
"brand_text": self.brand_text,