Merge branch 'main' of https://github.com/GSA/notifications-admin into 718-clean-up-components-section

# Conflicts:
#	app/templates/components/components/footer/_footer.scss
#	app/templates/components/components/hint/_hint.scss
#	app/templates/views/service-settings/data-retention.html
#	app/templates/views/service-settings/sms-senders.html
#	app/templates/views/two-factor-webauthn.html
#	app/templates/views/user-profile/security-keys.html
This commit is contained in:
Jonathan Bobel
2023-08-31 12:06:55 -04:00
186 changed files with 3619 additions and 16898 deletions

View File

@@ -6,7 +6,7 @@
"hideElements": [
"nav > ol a",
"#sms-pricing-details",
"a.govuk-footer__link.govuk-footer__copyright-logo"
"a.usa-footer__link.usa-footer__copyright-logo"
]
},
"urls": [

20
Pipfile.lock generated
View File

@@ -263,7 +263,7 @@
"sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac",
"sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"
],
"markers": "python_version >= '3.7'",
"markers": "python_full_version >= '3.7.0'",
"version": "==3.2.0"
},
"click": {
@@ -1461,7 +1461,7 @@
"sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac",
"sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"
],
"markers": "python_version >= '3.7'",
"markers": "python_full_version >= '3.7.0'",
"version": "==3.2.0"
},
"cryptography": {
@@ -1495,11 +1495,11 @@
},
"cyclonedx-python-lib": {
"hashes": [
"sha256:878e33b8e0080c786f6cbd4c6f87ad610db65d6a3a686a5698415d9cfcd8925d",
"sha256:907b64f00df85d727a425de86604768b248cf19285993729e04f17bec767f692"
"sha256:28b8c6c96372345c61464561b3040ede38d1c82026f706d87e8728ba5f7f4ddb",
"sha256:7996657f9788758ed05bea8c247e3e6ffcccfbc48818cd34795a4ae094b307bd"
],
"markers": "python_version >= '3.7' and python_version < '4.0'",
"version": "==4.0.1"
"version": "==4.1.0"
},
"defusedxml": {
"hashes": [
@@ -1932,11 +1932,11 @@
},
"pluggy": {
"hashes": [
"sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849",
"sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"
"sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12",
"sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"
],
"markers": "python_version >= '3.7'",
"version": "==1.2.0"
"markers": "python_version >= '3.8'",
"version": "==1.3.0"
},
"py-serializable": {
"hashes": [
@@ -2131,7 +2131,7 @@
"sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808",
"sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"
],
"markers": "python_version >= '3.7'",
"markers": "python_full_version >= '3.7.0'",
"version": "==13.5.2"
},
"s3transfer": {

View File

@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en" class="govuk-template ">
<html lang="en" class="usa-template">
<head>
<meta charset="utf-8" />
@@ -23,39 +23,34 @@
<link rel="stylesheet" media="screen" href="/static/stylesheets/main.css?d077f86473501ab244de0b30600536ee" />
<link rel="stylesheet" media="print" href="/static/stylesheets/print.css?28010888ca5719dc83d7c2c80f6ed2b2" />
<style>
.govuk-header__container {
border-color: #005EA5
}
</style>
<meta property="og:image" content="/static/images/govuk-opengraph-image.png">
</head>
<body class="govuk-template__body ">
<body class="usa-template__body">
<a href="#main-content" class="govuk-skip-link">Skip to main content</a>
<header class="govuk-header " role="banner" data-module="header">
<div class="govuk-header__container govuk-width-container">
<header class="usa-header " role="banner" data-module="header">
<div class="usa-header__container usa-width-container">
<div class="govuk-header__logo">
<a href="/accounts-or-dashboard" class="govuk-header__link govuk-header__link--homepage">
<span class="govuk-header__logotype">
<div class="usa-header__logo">
<a href="/accounts-or-dashboard" class="usa-header__link usa-header__link--homepage">
<span class="usa-header__logotype">
<svg role="presentation" focusable="false" class="govuk-header__logotype"
<svg role="presentation" focusable="false" class="usa-header__logotype"
xmlns="http://www.w3.org/2000/svg" viewbox="0 0 132 97" height="32" width="36">
<path fill="currentColor" fill-rule="evenodd"
d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z">
</path>
<image src="https://images.emojiterra.com/twitter/v14.0/512px/1f1fa-1f1f8.png" xlink:href=""
class="govuk-header__logotype-fallback-image" width="36" height="32"></image>
class="usa-header__logotype-fallback-image" width="36" height="32"></image>
</svg>
<span class="govuk-header__logotype-text">
<span class="usa-header__logotype-text">
US
</span>
</span>
<span class="govuk-header__product-name">
<span class="usa-header__product-name">
Notify
</span>
@@ -65,17 +60,17 @@
</div>
</header>
<div class="govuk-width-container">
<main class="govuk-main-wrapper govuk-!-padding-top-0 govuk-!-padding-bottom-12" id="main-content" role="main">
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<h1 class="govuk-heading-l govuk-!-padding-top-7">
<div class="usa-width-container">
<main class="usa-main-wrapper" id="main-content" role="main">
<div class="grid-row">
<div class="grid-col-12">
<h1 class="usa-heading-l">
Sorry, there is a problem with the service
</h1>
<p class="govuk-body">
<p class="usa-body">
Try again later.
</p>
<p class="govuk-body">
<p class="usa-body">
You can check our <a class="usa-link"
href="https://status.notifications.service.gov.uk/">system status</a> page to see if there are any known
issues.<br />To report a problem, email <a
@@ -85,25 +80,25 @@
</main>
</div>
<footer class="govuk-footer " role="contentinfo">
<div class="govuk-width-container ">
<div class="govuk-footer__meta">
<div class="govuk-footer__meta-item govuk-footer__meta-item--grow">
<footer class="usa-footer " role="contentinfo">
<div class="usa-width-container ">
<div class="usa-footer__meta">
<div class="usa-footer__meta-item usa-footer__meta-item--grow">
<h2 class="usa-sr-only">Support links</h2>
<div class="govuk-footer__meta-custom">
<div class="usa-footer__meta-custom">
Built by the <a href="https://www.gsa.gov/about-us/organization/federal-acquisition-service/technology-transformation-services/tts-solutions"
class="govuk-footer__link">Technology Transformation Services</a>
class="usa-footer__link">Technology Transformation Services</a>
</div>
<svg role="presentation" focusable="false" class="govuk-footer__licence-logo"
<svg role="presentation" focusable="false" class="usa-footer__licence-logo"
xmlns="http://www.w3.org/2000/svg" viewbox="0 0 483.2 195.7" height="17" width="41">
<path fill="currentColor"
d="M421.5 142.8V.1l-50.7 32.3v161.1h112.4v-50.7zm-122.3-9.6A47.12 47.12 0 0 1 221 97.8c0-26 21.1-47.1 47.1-47.1 16.7 0 31.4 8.7 39.7 21.8l42.7-27.2A97.63 97.63 0 0 0 268.1 0c-36.5 0-68.3 20.1-85.1 49.7A98 98 0 0 0 97.8 0C43.9 0 0 43.9 0 97.8s43.9 97.8 97.8 97.8c36.5 0 68.3-20.1 85.1-49.7a97.76 97.76 0 0 0 149.6 25.4l19.4 22.2h3v-87.8h-80l24.3 27.5zM97.8 145c-26 0-47.1-21.1-47.1-47.1s21.1-47.1 47.1-47.1 47.2 21 47.2 47S123.8 145 97.8 145" />
</svg>
<span class="govuk-footer__licence-description">
<span class="usa-footer__licence-description">
All content is available under the
<a class="govuk-footer__link"
<a class="usa-footer__link"
href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" rel="license">Open
Government Licence v3.0</a>, except where otherwise stated
</span>

View File

@@ -20,7 +20,7 @@
}[field] || `No ${field}s`)
};
Summary.prototype.addContent = function() {
const $hint = this.module.$formGroup.find('.govuk-hint');
const $hint = this.module.$formGroup.find('.usa-hint');
this.$text = $(`<p class="selection-summary__text" />`);
if (this.fieldLabel === 'folder') { this.$text.addClass('selection-summary__text--folders'); }

View File

@@ -9,9 +9,9 @@
This may behave in unexpected ways if you have more than one element with the `banner-dangerous` class on your page.
*/
window.GOVUK.ErrorBanner = {
hideBanner: () => $('.banner-dangerous').addClass('govuk-!-display-none'),
hideBanner: () => $('.banner-dangerous').addClass('display-none'),
showBanner: () => $('.banner-dangerous')
.removeClass('govuk-!-display-none')
.removeClass('display-none')
.trigger('focus'),
};
})(window);

View File

@@ -4,7 +4,7 @@
$ = global.jQuery;
let branding_style = $('.govuk-radios__item input[name="branding_style"]:checked');
let branding_style = $('.usa-radio input[name="branding_style"]:checked');
if (!branding_style.length) { return; }

View File

@@ -10,9 +10,9 @@
'initial': Hogan.compile(`
{{#showNowAsDefault}}
<div class="radio-select__column">
<div class="govuk-radios__item">
<input class="govuk-radios__input" checked="checked" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="govuk-label govuk-radios__label" for="{{name}}-0">Now</label>
<div class="usa-radio">
<input class="usa-radio__input" checked="checked" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="usa-radio__label" for="{{name}}-0">Now</label>
</div>
</div>
{{/showNowAsDefault}}
@@ -25,17 +25,17 @@
'choose': Hogan.compile(`
{{#showNowAsDefault}}
<div class="radio-select__column">
<div class="govuk-radios__item">
<input class="govuk-radios__input" checked="checked" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="govuk-label govuk-radios__label" for="{{name}}-0">Now</label>
<div class="usa-radio">
<input class="usa-radio__input" checked="checked" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="usa-radio__label" for="{{name}}-0">Now</label>
</div>
</div>
{{/showNowAsDefault}}
<div class="radio-select__column">
{{#choices}}
<div class="govuk-radios__item js-option">
<input class="govuk-radios__input" type="radio" value="{{value}}" id="{{id}}" name="{{name}}" />
<label class="govuk-label govuk-radios__label" for="{{id}}">{{label}}</label>
<div class="usa-radio js-option">
<input class="usa-radio__input" type="radio" value="{{value}}" id="{{id}}" name="{{name}}" />
<label class="usa-radio__label" for="{{id}}">{{label}}</label>
</div>
{{/choices}}
<input type='button' class='govuk-button govuk-button--secondary radio-select__button--done' aria-expanded='true' value='Done' />
@@ -44,17 +44,17 @@
'chosen': Hogan.compile(`
{{#showNowAsDefault}}
<div class="radio-select__column">
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="govuk-label govuk-radios__label" for="{{name}}-0">Now</label>
<div class="usa-radio">
<input class="usa-radio__input" id="{{name}}-0" name="{{name}}" type="radio" value="">
<label class="usa-radio__label" for="{{name}}-0">Now</label>
</div>
</div>
{{/showNowAsDefault}}
<div class="radio-select__column">
{{#choices}}
<div class="govuk-radios__item">
<input class="govuk-radios__input" checked="checked" type="radio" value="{{value}}" id="{{id}}" name="{{name}}" />
<label class="govuk-label govuk-radios__label" for="{{id}}">{{label}}</label>
<div class="usa-radio">
<input class="usa-radio__input" checked="checked" type="radio" value="{{value}}" id="{{id}}" name="{{name}}" />
<label class="usa-radio__label" for="{{id}}">{{label}}</label>
</div>
{{/choices}}
</div>

View File

@@ -47,12 +47,6 @@ p,
font-size: size("body", 6);
}
ul {
padding: 0;
margin: 0;
list-style: none;
}
.large-number {
font-size: size("body", 16);
}
@@ -143,7 +137,7 @@ td.table-empty-message {
}
.usa-checkbox .usa-checkbox__label {
+ a.template-list-folder, + a.usa-template-list-template {
+ a.template-list-folder {
margin-left: units(4);
}
}
@@ -165,7 +159,7 @@ td.table-empty-message {
margin: 0 units(0.5);
}
.usa-template-list-template, .template-list-template {
.template-list-template {
background: url(../img/material-icons/description.svg) no-repeat;
padding-left: units(4);
display: inline-flex;

View File

@@ -770,7 +770,7 @@ def govuk_radios_field_widget(self, field, param_extensions=None, **kwargs):
"attributes": {"id": field.name},
"legend": {
"text": field.label.text,
"classes": "govuk-fieldset__legend--s",
"classes": "usa-legend text-bold",
},
},
"errorMessage": error_message,
@@ -1431,7 +1431,7 @@ class AdminProviderRatioForm(Form):
)
],
param_extensions={
"classes": "govuk-input--width-3",
"classes": "width-8",
},
),
)
@@ -1602,7 +1602,6 @@ class AdminEditEmailBrandingForm(StripWhitespaceForm):
)
],
param_extensions={
"classes": "govuk-input--width-6",
"attributes": {"data-module": "colour-preview"},
},
)
@@ -1865,7 +1864,7 @@ class SomethingElseBrandingForm(StripWhitespaceForm):
param_extensions={
"label": {
"isPageHeading": True,
"classes": "govuk-label--l",
"classes": "font-body-xl",
},
"hint": {
"text": "Include links to your brand guidelines or examples of how to use your branding."

View File

@@ -49,7 +49,7 @@
visuallyHiddenText: params.errorMessage.visuallyHiddenText
}) | indent(2) | trim }}
{% endif %}
<div class="govuk-checkboxes test {%- if params.classes %} {{ params.classes }}{% endif %}"
<div class="govuk-checkboxes {%- if params.classes %} {{ params.classes }}{% endif %}"
{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}
{%- if isConditional %} data-module="checkboxes"{% endif -%}>
{% for item in params.items %}

View File

@@ -0,0 +1,236 @@
@import "../../settings/all";
@import "../../tools/all";
@import "../../helpers/all";
@import "../../helpers/typography";
@include govuk-exports("govuk/component/footer") {
$usa-footer-background: $govuk-canvas-background-colour;
$usa-footer-border-top: #a1acb2;
$usa-footer-border: govuk-colour("grey-2");
$usa-footer-text: #454a4c;
$usa-footer-link: $usa-footer-text;
$usa-footer-link-hover: #171819;
// Based on the govuk-crest-2x.png image dimensions.
$usa-footer-crest-image-width-2x: 250px;
$usa-footer-crest-image-height-2x: 204px;
// Half the 2x image so that it fits the regular 1x size.
$usa-footer-crest-image-width: ($usa-footer-crest-image-width-2x / 2);
$usa-footer-crest-image-height: ($usa-footer-crest-image-height-2x / 2);
.usa-footer {
@include govuk-font($size: 16);
@include govuk-responsive-padding(7, "top");
@include govuk-responsive-padding(5, "bottom");
border-top: 1px solid $usa-footer-border-top;
color: $usa-footer-text;
background: $usa-footer-background;
}
.usa-footer__link {
@include govuk-focusable-fill;
&:link,
&:visited {
color: $usa-footer-link;
}
&:hover,
&:active {
color: $usa-footer-link-hover;
}
// When focussed, the text colour needs to be darker to ensure that colour
// contrast is still acceptable
&:focus {
color: $govuk-focus-text-colour;
}
// alphagov/govuk_template includes a specific a:link:focus selector
// designed to make unvisited links a slightly darker blue when focussed, so
// we need to override the text colour for that combination of selectors.
@include govuk-compatibility(govuk_template) {
&:link:focus {
@include govuk-text-colour;
}
}
}
.usa-footer__section-break {
margin: 0; // Reset `<hr>` default margins
@include govuk-responsive-margin(8, "bottom");
border: 0; // Reset `<hr>` default borders
border-bottom: 1px solid $usa-footer-border;
}
.usa-footer__meta {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex; // Support: Flexbox
margin-right: -$govuk-gutter-half;
margin-left: -$govuk-gutter-half;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap; // Support: Flexbox
-webkit-box-align: end;
-webkit-align-items: flex-end;
-ms-flex-align: end;
align-items: flex-end; // Support: Flexbox
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center; // Support: Flexbox
}
.usa-footer__meta-item {
margin-right: $govuk-gutter-half;
margin-bottom: govuk-spacing(5);
margin-left: $govuk-gutter-half;
}
.usa-footer__meta-item--grow {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1; // Support: Flexbox
@include mq ($until: tablet) {
-webkit-flex-basis: 320px;
-ms-flex-preferred-size: 320px;
flex-basis: 320px; // Support: Flexbox
}
}
.usa-footer__licence-logo {
display: inline-block;
margin-right: govuk-spacing(2);
@include mq ($until: desktop) {
margin-bottom: govuk-spacing(3);
}
vertical-align: top;
}
.usa-footer__licence-description {
display: inline-block;
}
.usa-footer__copyright-logo {
display: inline-block;
min-width: $usa-footer-crest-image-width;
padding-top: ($usa-footer-crest-image-height + govuk-spacing(2));
background-image: govuk-image-url("govuk-crest.png");
@include govuk-device-pixel-ratio {
background-image: govuk-image-url("govuk-crest-2x.png");
}
background-repeat: no-repeat;
background-position: 50% 0%;
background-size: $usa-footer-crest-image-width $usa-footer-crest-image-height;
text-align: center;
text-decoration: none;
white-space: nowrap;
}
.usa-footer__inline-list {
margin-top: 0;
margin-bottom: govuk-spacing(3);
padding: 0;
}
.usa-footer__meta-custom {
margin-bottom: govuk-spacing(4);
}
.usa-footer__inline-list-item {
display: inline-block;
margin-right: govuk-spacing(3);
margin-bottom: govuk-spacing(1);
}
.usa-footer__heading {
@include govuk-responsive-margin(7, "bottom");
padding-bottom: govuk-spacing(4);
@include mq ($until: tablet) {
padding-bottom: govuk-spacing(2);
}
border-bottom: 1px solid $usa-footer-border;
}
.usa-footer__navigation {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex; // Support: Flexbox
margin-right: -$govuk-gutter-half;
margin-left: -$govuk-gutter-half;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap; // Support: Flexbox
}
.usa-footer__section {
display: inline-block;
margin-right: $govuk-gutter-half;
margin-bottom: $govuk-gutter;
margin-left: $govuk-gutter-half;
vertical-align: top;
// Ensure columns take up equal width (typically one-half:one-half)
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1; // Support: Flexbox
-webkit-flex-shrink: 1;
-ms-flex-negative: 1;
flex-shrink: 1; // Support: Flexbox
@include mq ($until: desktop) {
// Make sure columns do not drop below 200px in width
// Will typically result in wrapping, and end up in a single column on smaller screens.
-webkit-flex-basis: 200px;
-ms-flex-preferred-size: 200px;
flex-basis: 200px; // Support: Flexbox
}
}
// Sections two-third:one-third on desktop
@include mq ($from: desktop) {
.usa-footer__section:first-child {
-webkit-box-flex: 2;
-webkit-flex-grow: 2;
-ms-flex-positive: 2;
flex-grow: 2; // Support: Flexbox
}
}
.usa-footer__list {
margin: 0;
padding: 0;
list-style: none;
-webkit-column-gap: $govuk-gutter;
-moz-column-gap: $govuk-gutter;
column-gap: $govuk-gutter; // Support: Columns
}
@include mq ($from: desktop) {
.usa-footer__list--columns-2 {
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2; // Support: Columns
}
.usa-footer__list--columns-3 {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3; // Support: Columns
}
}
.usa-footer__list-item {
@include govuk-responsive-margin(4, "bottom");
}
.usa-footer__list-item:last-child {
margin-bottom: 0;
}
}

View File

@@ -41,7 +41,7 @@
<h2 class="usa-sr-only">{{ params.meta.visuallyHiddenTitle | default("Support links") }}</h2>
{% if params.meta.items %}
{% for item in params.meta.items %}
<a class="govuk-footer__link" href="{{ item.href }}" {% for attribute, value in item.attributes %}
<a class="usa-footer__link" href="{{ item.href }}" {% for attribute, value in item.attributes %}
{{attribute}}="{{value}}" {% endfor %}>
{{ item.text }}
</a>

View File

@@ -1,53 +1,39 @@
<!-- usa banner -->
<section class="usa-banner" aria-label="Official website of the United States government">
<section class="usa-banner site-banner" aria-label="Official website of the United States government,,,,,,">
<div class="usa-accordion">
<header class="usa-banner__header">
<div class="usa-banner__inner">
<div class="grid-col-auto">
<img aria-hidden="true" class="usa-banner__header-flag" src="/static/images/us_flag_small.png" alt="" />
<img aria-hidden="true" class="usa-banner__header-flag" src="/static/img/us_flag_small.png" alt="" />
</div>
<div class="grid-col-fill tablet:grid-col-auto" aria-hidden="true">
<p class="usa-banner__header-text">
An official website of the United States government
</p>
<p class="usa-banner__header-text">An official website of the United States government</p>
<p class="usa-banner__header-action">Heres how you know</p>
</div>
<button type="button" class="usa-accordion__button usa-banner__button" aria-expanded="false"
aria-controls="gov-banner-default-default">
<button type="button" class="usa-accordion__button usa-banner__button" aria-expanded="false" aria-controls="gov-banner">
<span class="usa-banner__button-text">Heres how you know</span>
</button>
</div>
</header>
<div class="usa-banner__content usa-accordion__content" id="gov-banner-default-default">
<div class="usa-banner__content usa-accordion__content" id="gov-banner" hidden="">
<div class="grid-row grid-gap-lg">
<div class="usa-banner__guidance tablet:grid-col-6">
<img class="usa-banner__icon usa-media-block__img" src="/static/images/icon-dot-gov.svg" role="img" alt=""
aria-hidden="true" />
<img class="usa-banner__icon usa-media-block__img" src="/static/img/icon-dot-gov.svg" role="img" alt="" aria-hidden="true">
<div class="usa-media-block__body">
<p>
<strong>Official websites use .gov</strong><br />A
<strong>.gov</strong> website belongs to an official government
organization in the United States.
<strong>Official websites use .gov</strong>
<br>
A <strong>.gov</strong> website belongs to an official government organization in the United States.
</p>
</div>
</div>
<div class="usa-banner__guidance tablet:grid-col-6">
<img class="usa-banner__icon usa-media-block__img" src="/static/images/icon-https.svg" role="img" alt=""
aria-hidden="true" />
<img class="usa-banner__icon usa-media-block__img" src="/static/img/icon-https.svg" role="img" alt="" aria-hidden="true">
<div class="usa-media-block__body">
<p>
<strong>Secure .gov websites use HTTPS</strong><br />A
<strong>lock</strong> (
<span class="icon-lock"><svg xmlns="http://www.w3.org/2000/svg" width="52" height="64" viewBox="0 0 52 64"
class="usa-banner__lock-image" role="img" aria-labelledby="banner-lock-description-default"
focusable="false">
<title id="banner-lock-title-default">Lock</title>
<desc id="banner-lock-description-default">Locked padlock icon</desc>
<path fill="#000000" fill-rule="evenodd"
d="M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z" />
</svg> </span>) or <strong>https://</strong> means youve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
<strong>Secure .gov websites use HTTPS</strong>
<br>
A <strong>lock</strong> ( <span class="icon-lock"><svg xmlns="http://www.w3.org/2000/svg" width="52" height="64" viewBox="0 0 52 64" class="usa-banner__lock-image" role="img" aria-labelledby="banner-lock-description" focusable="false"><title id="banner-lock-title">Lock</title><desc id="banner-lock-description">Locked padlock</desc><path fill="#000000" fill-rule="evenodd" d="M26 0c10.493 0 19 8.507 19 19v9h3a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V32a4 4 0 0 1 4-4h3v-9C7 8.507 15.507 0 26 0zm0 8c-5.979 0-10.843 4.77-10.996 10.712L15 19v9h22v-9c0-6.075-4.925-11-11-11z"></path></svg></span> ) or <strong>https://</strong> means youve safely connected to the .gov website. Share sensitive information only on official, secure websites.
</p>
</div>
</div>

View File

@@ -0,0 +1,50 @@
@import "../../settings/all";
@import "../../tools/all";
@import "../../helpers/all";
@include govuk-exports("govuk/component/hint") {
.usa-hint {
@include govuk-font($size: 19);
display: block;
margin-bottom: govuk-spacing(3);
color: $govuk-secondary-text-colour;
}
// Reduces margin-bottom of hint when used after the default label (no class)
// or govuk-label--s for better vertical alignment.
// This adjustment will not work when the label is inside the <h1>, however it
// is unlikely that the default or govuk-label--s class would be used in this
// case.
// This adjustment will not work in browsers that do not support :not().
// Users with these browsers will see the default size margin (5px larger).
.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .usa-hint {
margin-bottom: govuk-spacing(2);
}
// Reduces margin-bottom of hint when used after the default legend (no class)
// or govuk-fieldset__legend--s for better vertical alignment.
// This adjustment will not work when the legend is outside the <h1>, however
// it is unlikely that the default or govuk-fieldset__legend--s class would be
// used in this case.
// This adjustment will not work in browsers that do not support :not().
// Users with these browsers will see the default size margin (5px larger).
.govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl) + .usa-hint {
margin-bottom: govuk-spacing(2);
}
// Reduces visual spacing of legend when there is a hint
.govuk-fieldset__legend + .usa-hint,
.govuk-fieldset__legend + .usa-hint {
margin-top: -(govuk-spacing(1));
}
}

View File

@@ -8,7 +8,7 @@
{% endset %}
{% if params.isPageHeading %}
<h1 class="govuk-label-wrapper">{{ labelHtml | safe | indent(2) }}</h1>
<h1 class="usa-radio__label-wrapper">{{ labelHtml | safe | indent(2) }}</h1>
{% else %}
{{ labelHtml | safe }}
{% endif %}

View File

@@ -43,19 +43,19 @@
visuallyHiddenText: params.errorMessage.visuallyHiddenText
}) | indent(2) | trim }}
{% endif %}
<div class="govuk-radios {%- if params.classes %} {{ params.classes }}{% endif %}{%- if isConditional %} govuk-radios--conditional{% endif -%}"
<div class="usa-radios {%- if params.classes %} {{ params.classes }}{% endif %}{%- if isConditional %} usa-radios--conditional{% endif -%}"
{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}
{%- if isConditional %} data-module="radios"{% endif -%}>
{% for item in params.items %}
{% set id = item.id if item.id else idPrefix + "-" + loop.index %}
{% set conditionalId = "conditional-" + id %}
{%- if item.divider %}
<div class="govuk-radios__divider">{{ item.divider }}</div>
<div class="usa-radios__divider">{{ item.divider }}</div>
{%- else %}
{% set hasHint = true if item.hint.text or item.hint.html %}
{% set itemHintId = id + '-item-hint' %}
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="{{ id }}" name="{{ params.name }}" type="radio" value="{{ item.value }}"
<div class="usa-radio">
<input class="usa-radio__input" id="{{ id }}" name="{{ params.name }}" type="radio" value="{{ item.value }}"
{{-" checked" if item.checked }}
{{-" disabled" if item.disabled }}
{%- if item.conditional %} data-aria-controls="{{ conditionalId }}"{% endif -%}
@@ -64,14 +64,14 @@
{{ usaLabel({
html: item.html,
text: item.text,
classes: 'govuk-radios__label' + (' ' + item.label.classes if item.label.classes),
classes: 'usa-radio__label' + (' ' + item.label.classes if item.label.classes),
attributes: item.label.attributes,
for: id
}) | indent(6) | trim }}
{%- if hasHint %}
{{ usaHint({
id: itemHintId,
classes: 'govuk-radios__hint',
classes: 'usa-checkbox__label-description',
attributes: item.hint.attributes,
html: item.hint.html,
text: item.hint.text
@@ -79,7 +79,7 @@
{%- endif %}
</div>
{% if item.conditional %}
<div class="govuk-radios__conditional{% if not item.checked %} govuk-radios__conditional--hidden{% endif %}" id="{{ conditionalId }}">
<div class="usa-radios__conditional{% if not item.checked %} usa-radios__conditional--hidden{% endif %}" id="{{ conditionalId }}">
{{ item.conditional.html | safe }}
</div>
{% endif %}

View File

@@ -36,9 +36,9 @@
{% set autocomplete = "" %}
{% endif %}
{% if entry.errors %}
{% set label_classes = "govuk-input--numbered__label govuk-input--numbered__label--error" %}
{% set label_classes = "usa-input--numbered__label usa-input--numbered__label--error" %}
{% else %}
{% set label_classes = "govuk-input--numbered__label" %}
{% set label_classes = "usa-input--numbered__label" %}
{% endif %}
{% set field_name = field.name + "-" + loop.index|string %}
{{ entry(param_extensions={
@@ -48,7 +48,7 @@
"html": '<span class="usa-sr-only">' + item_name + ' number </span>' + loop.index|string + '.',
"classes": label_classes
},
"classes": "govuk-input--numbered ",
"classes": "usa-input--numbered ",
"value": field.data[loop.index0],
"autocomplete": autocomplete
}) }}

View File

@@ -29,7 +29,7 @@
) %}
<div class="{{ wrapping_class }} {% if field.errors %} form-group-error{% endif %}">
<fieldset>
<legend class="form-label {% if bold_legend %}govuk-!-font-weight-bold{% endif %}">
<legend class="form-label {% if bold_legend %}bold{% endif %}">
{{ field.label.text }}
{% if field.errors %}
<span class="error-message" data-module="track-error" data-error-type="{{ field.errors[0] }}" data-error-label="{{ field.name }}">

View File

@@ -2,6 +2,6 @@
{% if service %}
<a class="usa-link" href="{{ url_for(endpoint, service_id=service.id) }}">{{ link_text }}</a>
{% else %}
<b class="govuk-!-font-weight-bold">{{ link_text|capitalize }}</b>
<b>{{ link_text|capitalize }}</b>
{% endif %}
{% endmacro %}

View File

@@ -1,9 +1,9 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}Youre not authorised to see this page{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<h1>Youre not authorised to see this page</h1>
<p class="govuk-body"><a class="usa-link" href="{{ url_for('main.sign_in' )}}">Sign in</a> to Notify.gov and try again.</p>
<div class="grid-row">
<div class="grid-col-8">
<h1>Youre not authorized to see this page</h1>
<p class="usa-body"><a class="usa-link" href="{{ url_for('main.sign_in' )}}">Sign in</a> to Notify.gov and try again.</p>
</div>
{% endblock %}

View File

@@ -1,12 +1,12 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}Youre not allowed to see this page{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="heading-large">
Youre not allowed to see this page
</h1>
<p class="govuk-body">
<p class="usa-body">
To check your permissions, speak to a member of your team who can manage settings, team and usage.
</p>
</div>

View File

@@ -1,18 +1,18 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}Page not found{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="heading-large">
Page not found
</h1>
<p class="govuk-body">
<p class="usa-body">
If you typed the web address, check it is correct.
</p>
<p class="govuk-body">
<p class="usa-body">
If you pasted the web address, check you copied the entire address.
</p>
<p class="govuk-body">
<p class="usa-body">
If the web address is correct or you selected a link or button, <a class="usa-link" href="{{ url_for('main.support') }}">contact us</a>.
</p>
</div>

View File

@@ -1,18 +1,18 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}Page not found{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="heading-large">
Page not found
</h1>
<p class="govuk-body">
<p class="usa-body">
If you typed the web address, check it is correct.
</p>
<p class="govuk-body">
<p class="usa-body">
If you pasted the web address, check you copied the entire address.
</p>
<p class="govuk-body">
<p class="usa-body">
If the web address is correct or you selected a link or button, <a class="usa-link" href="{{ url_for('main.support') }}">contact us</a>.
</p>
</div>

View File

@@ -1,18 +1,18 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}Sorry, theres a problem with the service{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="heading-large">
Sorry, theres a problem with Notify.gov
</h1>
<p class="govuk-body">
<p class="usa-body">
Try again later.
</p>
<!-- <p class="govuk-body">
<!-- <p class="usa-body">
You can check our <a class="usa-link" href="https://status.notifications.service.gov.uk">system status</a> page to see if there are any known issues.
</p> -->
<p class="govuk-body">
<p class="usa-body">
To report a problem, please email <a class="usa-link" href="mailto:notify-support@gsa.gov">notify-support@gsa.gov</a>.
</p>
</div>

View File

@@ -8,7 +8,7 @@
Changes:
- `formGroup` option to control whether or not the checkboxes are wrapped with a `usa-form-group` class
- `classes` option added to `item` allow custom classes on the `.govuk-checkboxes__item` element
- `classes` option added to `item.hint` allow custom classes on the `.govuk-hint` element (added to GOVUK Frontend in v3.5.0 - remove when we update)
- `classes` option added to `item.hint` allow custom classes on the `.usa-hint` element (added to GOVUK Frontend in v3.5.0 - remove when we update)
- `asList` option added the root `params` object to allow setting of the `.govuk-checkboxes` and `.govuk-checkboxes__item` element types
- `children` option added to `item` allowing the sending in of prerendered child checkboxes (allowing the creation of tree structures through recursion) -#}
{#- If an id 'prefix' is not passed, fall back to using the name attribute

View File

@@ -1,6 +1,6 @@
{% extends "admin_template.html" %}
{% set mainClasses = "govuk-!-padding-top-0 govuk-!-padding-bottom-0" %}
{% set mainClasses = "" %}
{% block main %}
{% block beforeContent %}{% endblock %}

View File

@@ -4,12 +4,13 @@
{# specify absolute url for the static assets folder e.g. http://wwww.domain.com/assets #}
{%- set assetUrl = assetUrl | default(assetPath) -%}
<!DOCTYPE html>
<html lang="{{ htmlLang | default('en') }}" class="govuk-template {{ htmlClasses }}">
<html lang="{{ htmlLang | default('en') }}" class="{{ htmlClasses }}">
<head>
<meta charset="utf-8" />
<title>{% block pageTitle %}Notify.gov{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="theme-color" content="{{ themeColor | default('#0b0c0c') }}" /> {# Hardcoded value of $govuk-black #}
<meta name="theme-color" media="(prefers-color-scheme: light)" content="f0f0f0" />
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="1b1b1b" />
{% if config['NR_MONITOR_ON'] %}
{% include "partials/newrelic.html" -%}
{% endif %}
@@ -31,7 +32,7 @@
{# image url needs to be absolute e.g. http://wwww.domain.com/.../govuk-opengraph-image.png #}
<!-- <meta property="og:image" content="{{ assetUrl | default('/assets') }}/images/govuk-opengraph-image.png"> -->
</head>
<body class="govuk-template__body {{ bodyClasses }}">
<body class="usa-template__body {{ bodyClasses }}">
<script nonce="{{ csp_nonce() }}">document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
{% block bodyStart %}{% endblock %}

View File

@@ -10,20 +10,20 @@
{% if current_user.platform_admin %}
<a href="{{ url_for('.organizations') }}" class="usa-link navigation-organization-link">Organizations</a>
{% endif %}
<div class="navigation-service govuk-!-font-weight-bold">
<div class="navigation-service">
{{ current_org.name }}
</div>
<a href="{{ url_for('main.choose_account') }}" class="usa-link navigation-service">Switch service</a>
</div>
<div class="govuk-grid-row govuk-!-padding-bottom-12">
<div class="govuk-grid-column-one-quarter">
<div class="grid-row">
<div class="grid-col-3">
{% include "org_nav.html" %}
</div>
<div class="govuk-grid-column-three-quarters">
<div class="grid-col-9">
{% block beforeContent %}
{% block backLink %}{% endblock %}
{% endblock %}
<main class="govuk-main-wrapper column-main govuk-!-padding-top-0 govuk-!-padding-bottom-0" id="main-content" role="main" >
<main class="main" id="main-content" role="main" >
{% block content %}
{% include 'flash_messages.html' %}
{% block maincolumn_content %}{% endblock %}

View File

@@ -1,7 +1,7 @@
<h1 class='banner-title'>
Message too long
</h1>
<p class="govuk-body">
<p class="usa-body">
Text messages cannot be longer than {{ SMS_CHAR_COUNT_LIMIT }} characters.
Your message is {{ template.content_count }} characters.
</p>

View File

@@ -6,7 +6,7 @@
{{ 'es' if 'email address' == template_type_label else 's' }}
{%- endif %}
</h1>
<p class="govuk-body">
<p class="usa-body">
In <a class="usa-link" href="{{ url_for('.trial_mode_new') }}">trial mode</a> you can only
send to yourself and members of your team
</p>

View File

@@ -1,6 +1,6 @@
<h1 class='banner-title' data-module="track-error" data-error-type="File previously sent" data-error-label="{{ upload_id }}">
These messages have already been sent today
</h1>
<p class="govuk-body">
<p class="usa-body">
If you need to resend them, rename the file and upload it again.
</p>

View File

@@ -5,7 +5,7 @@
Daily limit reached
{% endif %}
</h1>
<p class="govuk-body">
<p class="usa-body">
You can only send {{ current_service.message_limit|format_thousands }} messages per day
{%- if current_service.trial_mode %}
in <a class="usa-link" href="{{ url_for('.trial_mode_new')}}">trial mode</a>
@@ -13,7 +13,7 @@
.
</p>
{% if original_file_name %}
<p class="govuk-body">
<p class="usa-body">
{% if current_service.message_limit != remaining_messages %}
You can still send {{ remaining_messages|format_thousands }} messages today, but
{% endif %}

View File

@@ -3,12 +3,12 @@
<div class="ajax-block-container">
{% if notifications_deleted %}
<div class="govuk-grid-row bottom-gutter-1-2">
<div class="grid-row bottom-gutter-1-2">
{% for label, query_param, url, count in counts %}
{% if query_param == 'pending' %}
<div class="govuk-grid-column-one-quarter">{{ big_number(count, query_param, smaller=True) }}</div>
<div class="grid-col-3">{{ big_number(count, query_param, smaller=True) }}</div>
{% else %}
<div class="govuk-grid-column-one-quarter">{{ big_number(count, label, smaller=True) }}</div>
<div class="grid-col-3">{{ big_number(count, label, smaller=True) }}</div>
{% endif %}
{% endfor %}

View File

@@ -5,7 +5,7 @@
<div class="ajax-block-container" aria-labelledby='pill-selected-item' role="region">
{% if job.scheduled %}
<p class="govuk-body">
<p class="usa-body">
Sending
<a class="usa-link" href="{{ url_for('.view_template_version', service_id=current_service.id, template_id=job.template.id, version=job.template_version) }}">{{ job.template.name }}</a>
{{ job.scheduled_for|format_datetime_relative }}

View File

@@ -14,7 +14,7 @@
<p class="usa-error-message">
Notify cannot send these messages because you have reached a limit. You can only send {{ current_service.message_limit|format_thousands }} messages per day and {{ 250000|format_thousands }} messages in total.
</p>
<p class="usa-error-message govuk-!-margin-bottom-6">
<p class="usa-error-message">
Upload this spreadsheet again tomorrow or <a class="usa-link" href="https://www.notifications.service.gov.uk/support">contact the Notify.gov team</a> to raise the limit.
</p>
{% endif %}

View File

@@ -16,7 +16,7 @@
field_headings_visible=False
) %}
{% call row_heading() %}
<p class="govuk-body">{{ item.to }}</p>
<p class="usa-body">{{ item.to }}</p>
{% endcall %}
{{ notification_status_field(item) }}
{% endcall %}

View File

@@ -1,23 +1,23 @@
{% from "components/components/inset-text/macro.njk" import govukInsetText %}
<h2 class="heading-medium">Formatting</h2>
<p class="govuk-body">
<p class="usa-body">
To put a heading in your template, use a hash:
</p>
{{ govukInsetText({
"text": "# This is a heading",
"classes": "govuk-!-margin-top-0 govuk-!-margin-bottom-3"})
"classes": ""})
}}
<p class="govuk-body">
<p class="usa-body">
To make bullet points, use asterisks:
</p>
{{ govukInsetText({
"html": "* point 1<br/>
* point 2<br/>
* point 3<br/>",
"classes": "govuk-!-margin-top-0 govuk-!-margin-bottom-3"})
"classes": ""})
}}
<p class="govuk-body">
<p class="usa-body">
To insert a page break, use three asterisks:
</p>
{{ govukInsetText({
@@ -26,5 +26,5 @@
***<br/>
<br/>
Content on page 2<br/>",
"classes": "govuk-!-margin-top-0 govuk-!-margin-bottom-3"})
"classes": ""})
}}

View File

@@ -4,32 +4,32 @@
<p class="bottom-gutter-1-3">
To put a title in your template, use a hash:
</p>
<div class="govuk-!-margin-bottom-6">
{{ govukInsetText({"text": "# This is a title", "classes": "govuk-!-margin-top-0"})}}
<div>
{{ govukInsetText({"text": "# This is a title", "classes": ""})}}
</div>
<p class="bottom-gutter-1-3">
To make bullet points, use asterisks:
</p>
<div class="govuk-!-margin-bottom-6">
<div>
{{ govukInsetText({
"html": "* point 1<br/>
* point 2<br/>
* point 3<br/>",
"classes": "govuk-!-margin-top-0"})
"classes": ""})
}}
</div>
<p class="bottom-gutter-1-3">
To add inset text, use a caret:
</p>
<div class="govuk-!-margin-bottom-6">
{{ govukInsetText({"text": "^ You must tell us if your circumstances change", "classes": "govuk-!-margin-top-0"})}}
<div>
{{ govukInsetText({"text": "^ You must tell us if your circumstances change", "classes": ""})}}
</div>
<p class="bottom-gutter-1-3">
To add a horizontal line, use three dashes:
</p>
{{ govukInsetText({
"html": '<p class="govuk-body">First paragraph</p>
<p class="govuk-body" style="letter-spacing: 1px;">---</p>
<p class="govuk-body">Second paragraph</p>',
"classes": "govuk-!-margin-top-0"})
"html": '<p class="usa-body">First paragraph</p>
<p class="usa-body" style="letter-spacing: 1px;">---</p>
<p class="usa-body">Second paragraph</p>',
"classes": ""})
}}

View File

@@ -8,5 +8,5 @@
</p>
{{ govukInsetText({
"text": "Hello ((first name)), your reference is ((ref number))",
"classes": "govuk-!-margin-top-0"})
"classes": ""})
}}

View File

@@ -3,12 +3,12 @@
<h2 class="heading-medium">
Send a document by email
</h2>
<p class="govuk-body">
<p class="usa-body">
Use double brackets to add a placeholder field to your template. This will contain a secure link to download the document.
</p>
{{ govukInsetText({
"text": "Download your document at: ((link_to_file))",
"classes": "govuk-!-margin-top-0 govuk-!-margin-bottom-3"})
"classes": ""})
}}
Next, use the API to upload your document. Follow the instructions to send a document by email in the <a class="usa-link" href="{{ url_for('main.documentation') }}">API documentation</a>.

View File

@@ -2,32 +2,32 @@
{% call banner_wrapper(type='tour') %}
<p class="heading-medium">Try sending yourself this example</p>
<div class="govuk-grid-row bottom-gutter {% if help != '1' %}greyed-out-step{% endif %}">
<div class="govuk-grid-column-one-sixth">
<div class="grid-row bottom-gutter {% if help != '1' %}greyed-out-step{% endif %}">
<div class="grid-col-2">
<p class="heading-large">1.</p>
</div>
<div class="govuk-grid-column-five-sixths">
<p class="govuk-body">
<div class="grid-col-10">
<p class="usa-body">
Every message is sent from a template
</p>
</div>
</div>
<div class="govuk-grid-row bottom-gutter {% if help != '2' %}greyed-out-step{% endif %}">
<div class="govuk-grid-column-one-sixth">
<div class="grid-row bottom-gutter {% if help != '2' %}greyed-out-step{% endif %}">
<div class="grid-col-2">
<p class="heading-large">2.</p>
</div>
<div class="govuk-grid-column-five-sixths">
<p class="govuk-body">
<div class="grid-col-10">
<p class="usa-body">
The template pulls in the data you provide
</p>
</div>
</div>
<div class="govuk-grid-row bottom-gutter {% if help != '3' %}greyed-out-step{% endif %}">
<div class="govuk-grid-column-one-sixth">
<div class="grid-row bottom-gutter {% if help != '3' %}greyed-out-step{% endif %}">
<div class="grid-col-2">
<p class="heading-large">3.</p>
</div>
<div class="govuk-grid-column-five-sixths">
<p class="govuk-body">
<div class="grid-col-10">
<p class="usa-body">
Notify delivers the message
</p>
{% if help == '3' %}

View File

@@ -25,7 +25,7 @@
<p>
This website is run by the Public Benefits Studio team at the Technology Transformation Services within GSA. It is designed to be used by as many people as possible. You should be able to:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>change colors, contrast levels and fonts</li>
<li>zoom in up to 300% without the text spilling off the screen</li>
<li>navigate most of the website using just a keyboard</li>
@@ -46,7 +46,7 @@
<p>
We know some parts of this website are not fully accessible:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>the upload a file button may cause issues for some users</li>
<li>if a team adds template folders, screen readers may announce the page heading in a confusing way</li>
<li>the copy to clipboard button does not work with some screen readers</li>
@@ -103,7 +103,7 @@
The following content on the Notify website is not compliant with the WCAG version 2.1 AA standard:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>
the <abbr title="HyperText Markup Language">HTML</abbr> code for the upload a file button may cause issues for assistive technology users - this fails <a class="usa-link" href="https://www.w3.org/WAI/WCAG21/Understanding/info-and-relationships">success criterion 1.3.1: info and relationships</a>
</li>
@@ -121,7 +121,7 @@
Weve identified the following problems with the user interface:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>
the JAWS screen reader announces template folder page headings as multiple sentences
</li>
@@ -170,14 +170,14 @@
The following content on the <a class="usa-link" href="https://status.notifications.service.gov.uk/">Notify status page</a> is not compliant with the WCAG version 2.1 AA standard:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list">
<li>an incorrect heading hierarchy which fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#info-and-relationships">success criterion 1.3.1: info and relationships</a></li>
<li>missing level 1 headings (users may not be able to accurately determine the structure of content on the page)</li>
<li>our status incident page is missing the main heading and the status home page has an incorrect heading hierarchy this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#info-and-relationships">success criterion 1.3.1: info and relationships</a></li>
<li>our status page subscribe to updates link does not contain programmatically discernible link text this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#info-and-relationships">success criterion 1.3.1: info and relationships</a></li>
<li>our status page subscribe to updates form fields do not contain an explicit label this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#info-and-relationships">success criterion 1.3.1: info and relationships</a></li>
<li>our status page subscribe to updates forms do not indicate to users that they are expandable or collapsible this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#name-role-value">success criterion 4.1.2: name, role, value</a></li>
<li>our status page subscribe to updates forms contain some text that does not meet the minimum colour contrast requirements this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#contrast-minimum">success criterion 1.4.3: contrast, minimum</a></li>
<li>our status page subscribe to updates forms contain some text that does not meet the minimum color contrast requirements this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#contrast-minimum">success criterion 1.4.3: contrast, minimum</a></li>
<li>our status page subscribe to updates form close link (x) is not descriptive enough for some users to determine its function or purpose this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#link-purpose-in-context">success criterion 2.4.4: link purpose, in context</a></li>
<li>our status page subscribe to updates forms, when submitted with incorrect data, do not inform screen reader users of the error message when it becomes available this fails <a class="usa-link" href="https://www.w3.org/TR/WCAG21/#status-messages">success criterion 4.1.3: status messages</a></li>
</ul>

View File

@@ -9,13 +9,13 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ page_header('About your service') }}
<p class="usa-body">Give your service a name that tells users what your messages are about, as well as who theyre from. For example:</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>School admissions {{ current_user.default_organization.name }}</li>
<li>Electoral services {{ current_user.default_organization.name }}</li>
<li>Blue Badge {{ current_user.default_organization.name }}</li>

View File

@@ -9,8 +9,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ page_header('About your service') }}

View File

@@ -14,8 +14,8 @@
{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
{{ page_header('Callbacks for delivery receipts') }}

View File

@@ -14,8 +14,8 @@
{% block maincolumn_content %}
{{ page_header('Callbacks for received text messages') }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
<p>
When you receive a text message in Notify, we can forward it to your system.
Check the <a class="usa-link" href="{{ url_for('.callbacks') }}"> callback documentation </a> for more information.

View File

@@ -50,8 +50,8 @@
{% call form_wrapper() %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ list_entry(
form.email_addresses,

View File

@@ -12,25 +12,25 @@
API integration
</h1>
<nav class="govuk-grid-row bottom-gutter-1-2">
<div class="govuk-grid-column-one-third">
<nav class="grid-row bottom-gutter-1-2">
<div class="grid-col-4">
<a class="usa-link pill-separate-item" href="{{ url_for('.api_keys', service_id=current_service.id) }}">API keys</a>
</div>
<div class="govuk-grid-column-one-third">
<div class="grid-col-4">
<a class="usa-link pill-separate-item" href="{{ url_for('.guest_list', service_id=current_service.id) }}">Guest list</a>
</div>
<div class="govuk-grid-column-one-third">
<div class="grid-col-4">
<a class="usa-link pill-separate-item" href="{{ url_for(callbacks_link, service_id=current_service.id) }}">Callbacks</a>
</div>
</nav>
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-half">
<div class="grid-row">
<div class="grid-col-6">
<h2 class="heading-small">
Message log
</h2>
</div>
<div class="govuk-grid-column-one-half align-with-heading-copy-right">
<div class="grid-col-6 align-with-heading-copy-right">
<a class="usa-link" href="{{ url_for('.api_integration', service_id=current_service.id) }}">Refresh</a>
</div>
</div>
@@ -46,17 +46,17 @@
</div>
{% endif %}
{% for notification in api_notifications.notifications %}
<details class="api-notifications-item govuk-details govuk-!-margin-bottom-0" data-module="govuk-details">
<details class="api-notifications-item govuk-details" data-module="govuk-details">
<summary class="govuk-details__summary govuk-clearfix api-notifications-item__heading">
<h3>
<span class="govuk-details__summary-text">
{{ notification.to }}
</span>
<span class="govuk-grid-row api-notifications-item__meta">
<span class="govuk-grid-column-one-half api-notifications-item__meta-key">
<span class="grid-row api-notifications-item__meta">
<span class="grid-col-6 api-notifications-item__meta-key">
{{notification.key_name}}
</span>
<span class="govuk-grid-column-one-half api-notifications-item__meta-time">
<span class="grid-col-6 api-notifications-item__meta-time">
<time class="timeago" datetime="{{ notification.created_at }}">
{{ notification.created_at|format_delta }}
</time>
@@ -64,7 +64,7 @@
</span>
</h3>
</summary>
<div class="govuk-details__text api-notifications-item__data govuk-!-padding-top-0">
<div class="govuk-details__text api-notifications-item__data">
<dl id="notification-{{ notification.id }}">
{% for key in [
'id', 'client_reference', 'notification_type', 'created_at', 'updated_at', 'sent_at', 'status'

View File

@@ -1,8 +1,8 @@
{% extends "withoutnav_template.html" %}
{% block per_page_title %}The invitation you were sent has been cancelled{% endblock %}
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">
The invitation you were sent has been cancelled
</h1>

View File

@@ -8,13 +8,13 @@
services=[]
) %}
{% if show_heading and (services or organizations) %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-quarter">
<div class="grid-row">
<div class="grid-col-3">
<h2>
{{ heading }}
</h2>
</div>
<div class="govuk-grid-column-three-quarters">
<div class="grid-col-9">
<ul>
{% else %}
<ul>
@@ -56,13 +56,13 @@
<nav class="browse-list {% if current_user.has_access_to_live_and_trial_mode_services %}top-gutter-2-3{% endif %}">
{% if current_user.platform_admin %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-quarter">
<div class="grid-row">
<div class="grid-col-3">
<h2>
Platform admin
</h2>
</div>
<ul class="govuk-grid-column-three-quarters">
<ul class="grid-col-9">
<li class="browse-list-item">
<a href="{{ url_for('.organizations') }}" class="usa-link">All organizations</a>
<p class="browse-list-hint">
@@ -102,11 +102,11 @@
{% if can_add_service %}
<div class="js-stick-at-bottom-when-scrolling">
{% if current_user.has_access_to_live_and_trial_mode_services %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-quarter">
<div class="grid-row">
<div class="grid-col-3">
&nbsp;
</div>
<div class="govuk-grid-column-three-quarters">
<div class="grid-col-9">
{% endif %}
{{ usaButton({
"element": "a",

View File

@@ -16,7 +16,7 @@
<div class="dashboard">
<div class="bottom-gutter js-stick-at-top-when-scrolling">
<h1 class="heading-large govuk-!-margin-top-0">
<h1 class="heading-large">
{{ user_number }}
</h1>
</div>

View File

@@ -1,18 +1,18 @@
<div class="ajax-block-container">
{% for message in conversation %}
<div class="govuk-grid-row sms-message-row" id="n{{ message.id }}" tabindex="0">
<div class="grid-row sms-message-row" id="n{{ message.id }}" tabindex="0">
{% if message.inbound %}
<div class="govuk-grid-column-two-thirds sms-message-inbound">
<div class="grid-col-8 sms-message-inbound">
{{ message.content | string }}
<div class="sms-message-status">
{{ message.created_at | format_datetime_relative }}
</div>
</div>
{% else %}
<div class="govuk-grid-column-one-third">
<div class="grid-col-4">
&nbsp;
</div>
<div class="govuk-grid-column-two-thirds">
<div class="grid-col-8">
{{ message.content | string }}
{% if message.status == 'delivered' %}
<div class="sms-message-status sms-message-status-outbound">

View File

@@ -9,11 +9,11 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<div class="cookie-settings__confirmation banner banner-with-tick" data-cookie-confirmation="true" role="group" tabindex="-1">
<h2 class="banner-title">Your cookie settings were saved</h2>
<a class="govuk_link cookie-settings__prev-page govuk-!-margin-top-1" href="#" data-module="track-click" data-track-category="cookieSettings" data-track-action="Back to previous page">
<a class="govuk_link cookie-settings__prev-page" href="#" data-module="track-click" data-track-category="cookieSettings" data-track-action="Back to previous page">
Go back to the page you were looking at
</a>
</div>
@@ -72,7 +72,7 @@
<p>
Google Analytics stores anonymized information about:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>how you got to Notify.gov</li>
<li>the pages you visit on Notify and how long you spend on them</li>
<li>any errors you see while using Notify</li>
@@ -112,30 +112,30 @@
</tbody>
</table>
<div class="cookie-settings__no-js">
<h2 class="govuk-heading-s govuk-!-margin-top-6">Do you want to accept analytics cookies?</h2>
<h2 class="govuk-heading-s">Do you want to accept analytics cookies?</h2>
<p>We use Javascript to set our analytics cookies. Unfortunately Javascript is not running on your browser, so you cannot change your settings. You can try:</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>reloading the page</li>
<li>turning on Javascript in your browser</li>
</ul>
</div>
<div class="cookie-settings__form-wrapper">
<form data-module="cookie-settings">
<div class="usa-form-group govuk-!-margin-top-6">
<div class="usa-form-group">
<fieldset class="govuk-fieldset" aria-describedby="changed-name-hint">
<legend class="govuk-fieldset__legend govuk-fieldset__legend--s">
Do you want to accept analytics cookies?
</legend>
<div class="govuk-radios govuk-radios--inline">
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="cookies-analytics-yes" name="cookies-analytics" type="radio" value="on">
<label class="govuk-label govuk-radios__label" for="cookies-analytics-yes">
<div class="usa-radios usa-radios--inline">
<div class="usa-radio">
<input class="usa-radio__input" id="cookies-analytics-yes" name="cookies-analytics" type="radio" value="on">
<label class="usa-radio__label" for="cookies-analytics-yes">
Yes
</label>
</div>
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="cookies-analytics-no" name="cookies-analytics" type="radio" value="off">
<label class="govuk-label govuk-radios__label" for="cookies-analytics-no">
<div class="usa-radio">
<input class="usa-radio__input" id="cookies-analytics-no" name="cookies-analytics" type="radio" value="off">
<label class="usa-radio__label" for="cookies-analytics-no">
No
</label>
</div>

View File

@@ -4,7 +4,7 @@
<div class="ajax-block-container">
{% if messages %}
<p class="bottom-gutter-2-3 top-gutter-1-2">
<a href="{{ url_for('.inbox_download', service_id=current_service.id) }}" download class="usa-link govuk-!-font-weight-bold">Download these messages</a>
<a href="{{ url_for('.inbox_download', service_id=current_service.id) }}" download class="usa-link bold">Download these messages</a>
</p>
{% endif %}
{% call(item, row_number) list_table(

View File

@@ -45,18 +45,18 @@
)
) }}
{% else %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-third">
<div class="grid-row">
<div class="grid-col-4">
{{ big_number(
item.notifications_sending,
smallest=True,
label='pending',
) }}
</div>
<div class="govuk-grid-column-one-third">
<div class="grid-col-4">
{{ big_number(item.notifications_delivered, smallest=True, label='delivered') }}
</div>
<div class="govuk-grid-column-one-third">
<div class="grid-col-4">
{{ big_number(item.notifications_failed, smallest=True, label='failed') }}
</div></div>

View File

@@ -20,8 +20,8 @@
{{ page_header('{} email template'.format(heading_action)) }}
{% call form_wrapper() %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
{{ form.name(param_extensions={
"classes": "",
"hint": {"text": "Your recipients will not see this"}
@@ -35,7 +35,7 @@
'Save'
) }}
</div>
<div class="govuk-grid-column-full">
<div class="grid-col-12">
{% include "partials/templates/guidance-formatting.html" %}
{% include "partials/templates/guidance-personalisation.html" %}
{% include "partials/templates/guidance-optional-content.html" %}

View File

@@ -32,8 +32,8 @@
{% endif %}
{% call form_wrapper() %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ form.name(param_extensions={
"classes": "",
"hint": {"text": "Your recipients will not see this"}
@@ -44,14 +44,13 @@
width='1-1',
hint=content_hint,
rows=5,
extra_form_group_classes='govuk-!-margin-bottom-2',
placeholder='Edit me! Check out the Personalization section below for details on cool ((stuff)) you can do with your messages!'
) }}
{% if current_user.platform_admin %}
{{ form.process_type }}
{% endif %}
</div>
<div class="govuk-grid-column-full">
<div class="grid-col-12">
<div class="template-content-count">
<div data-module="update-status" data-target="template_content" data-updates-url="{{ url_for('.count_content_length', service_id=current_service.id, template_type='sms') }}" aria-live="polite">
&nbsp;
@@ -62,7 +61,7 @@
After saving, you'll have the option to send 🚀
</p>
</div>
<div class="govuk-grid-column-full">
<div class="grid-col-12">
{% include "partials/templates/guidance-personalisation.html" %}
{% include "partials/templates/guidance-optional-content.html" %}
{% include "partials/templates/guidance-links.html" %}

View File

@@ -17,8 +17,8 @@
{% block platform_admin_content %}
{{ page_header('{} email branding'.format('Update' if email_branding else 'Add')) }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-three-quarters">
<div class="grid-row">
<div class="grid-col-9">
{% if logo %}
<div id="logo-img">
<img src="https://{{ cdn_url }}/{{ logo }}"/>

View File

@@ -7,8 +7,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">This link has expired</h1>
<p>

View File

@@ -7,8 +7,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Resend email link</h1>
<p>Emails sometimes take a few minutes to arrive. If you do not receive an email link, Notify can send you a new one.</p>
@@ -22,10 +22,10 @@
<h2 class="font-body-lg">If your email address has changed</h2>
<p>Youll need to:</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>find a member of your team who has permission to manage settings, team and usage</li>
<li>ask them to change the email address for your account</li>
<li>select <span class="govuk-body govuk-!-font-weight-bold">Resend email link</span></li>
<li>select <span class="usa-body bold">Resend email link</span></li>
</ul>
</div>

View File

@@ -10,39 +10,39 @@
{% block content_column_content %}
<h1 class="font-body-2xl">Features</h1>
<p class="govuk-body">If you work for the government, you can use Notify.gov to keep your users updated.</p>
<p class="govuk-body">Notify makes it easy to create, customize, and send <a class="usa-link" href="{{ url_for('main.features_sms') }}">text messages</a>.</p>
<p class="usa-body">If you work for the government, you can use Notify.gov to keep your users updated.</p>
<p class="usa-body">Notify makes it easy to create, customize, and send <a class="usa-link" href="{{ url_for('main.features_sms') }}">text messages</a>.</p>
<!-- <ul class="list list-bullet">
<li><a class="usa-link" href="{{ url_for('main.features_email') }}">emails</a></li>
<li><a class="usa-link" href="{{ url_for('main.features_sms') }}">text messages</a></li>
</ul> -->
<p class="govuk-body">You do not need any technical knowledge to use Notify.</p>
<p class="usa-body">You do not need any technical knowledge to use Notify.</p>
{% if not current_user.is_authenticated %}
<p class="govuk-body"><a class="usa-link" href="{{ url_for('main.register') }}">Create an account</a> for free and try it yourself.</p>
<p class="usa-body"><a class="usa-link" href="{{ url_for('main.register') }}">Create an account</a> for free and try it yourself.</p>
{% endif %}
<h2 class="heading-medium" id="templates">Reusable message templates</h2>
<p class="govuk-body">To send a text with Notify, you need to create a reusable message template first.</p>
<p class="govuk-body">Templates let you send the same thing to lots of people, as often as you need to, without writing a new message each time.</p>
<p class="usa-body">To send a text with Notify, you need to create a reusable message template first.</p>
<p class="usa-body">Templates let you send the same thing to lots of people, as often as you need to, without writing a new message each time.</p>
<h2 class="heading-medium" id="personalised-messages">Personalized content</h2>
<p class="govuk-body">Notify makes it easy to send personalized messages from a single template.</p>
<p class="govuk-body">See <a class="usa-link" href="{{ url_for('.guidance_index', _anchor='personalized-content') }}">how to personalize your content</a>.</p>
<p class="usa-body">Notify makes it easy to send personalized messages from a single template.</p>
<p class="usa-body">See <a class="usa-link" href="{{ url_for('.guidance_index', _anchor='personalized-content') }}">how to personalize your content</a>.</p>
<h2 class="heading-medium" id="bulk-sending">Bulk sending</h2>
<p class="govuk-body">To send a batch of messages at once, upload a list of contact details to Notify. You can also schedule the date and time you want them to be sent.</p>
<p class="usa-body">To send a batch of messages at once, upload a list of contact details to Notify. You can also schedule the date and time you want them to be sent.</p>
<!-- <h2 class="heading-medium" id="api">API integration</h2>
<p class="govuk-body">You can integrate the Notify API with your web application or back-office system to send messages automatically.</p>
<p class="govuk-body">Read our <a class="usa-link" href="{{ url_for('.documentation') }}">API documentation</a> for more information.</p> -->
<p class="usa-body">You can integrate the Notify API with your web application or back-office system to send messages automatically.</p>
<p class="usa-body">Read our <a class="usa-link" href="{{ url_for('.documentation') }}">API documentation</a> for more information.</p> -->
<h2 class="heading-medium" id="reporting">Reporting</h2>
<p class="govuk-body">Notifys real-time dashboard lets you see the number of messages sent. You can also check the current status of any message to see when it was delivered.</p>
<p class="govuk-body">Read more about the <a class="usa-link" href="{{ url_for('main.message_status') }}">delivery status</a> of your messages.</p>
<p class="usa-body">Notifys real-time dashboard lets you see the number of messages sent. You can also check the current status of any message to see when it was delivered.</p>
<p class="usa-body">Read more about the <a class="usa-link" href="{{ url_for('main.message_status') }}">delivery status</a> of your messages.</p>
<h2 class="heading-medium" id="permissions">Permissions</h2>
<p class="govuk-body">Control which members of your team can see, create, edit, and send messages.</p>
<p class="govuk-body">Notify lets you:</p>
<p class="usa-body">Control which members of your team can see, create, edit, and send messages.</p>
<p class="usa-body">Notify lets you:</p>
<ul class="list list-bullet">
<li>set different permission levels for each team member</li>
<li>invite team members who do not have a government email address</li>
@@ -50,27 +50,27 @@
</ul>
<h2 class="heading-medium" id="performance">Performance</h2>
<p class="govuk-body">Notify commits to sending 95% of text messages within 10 seconds.</p>
<p class="usa-body">Notify commits to sending 95% of text messages within 10 seconds.</p>
<!-- <ul class="list list-bullet">
<li>sending 95% of text messages within 10 seconds</li>
</ul> -->
<!-- <p class="govuk-body">We send messages through several different providers. If one provider fails, Notify switches to another so that your messages are not affected.</p> -->
<!-- <p class="usa-body">We send messages through several different providers. If one provider fails, Notify switches to another so that your messages are not affected.</p> -->
<!-- <p class="govuk-body">Visit our <a class="usa-link" href="{{ url_for('main.performance') }}">performance data</a> page to see how Notify is performing.</p> -->
<!-- <p class="usa-body">Visit our <a class="usa-link" href="{{ url_for('main.performance') }}">performance data</a> page to see how Notify is performing.</p> -->
<h2 class="heading-medium" id="security">Security</h2>
<p class="govuk-body">Notify protects and manages data to meet the needs of government services.</p>
<p class="usa-body">Notify protects and manages data to meet the needs of government services.</p>
<h3 class="heading-small">Hide sensitive information</h3>
<p class="govuk-body">Notify lets you redact personal information from your messages after they have been sent. This means that only the recipient can see that information.</p>
<p class="usa-body">Notify lets you redact personal information from your messages after they have been sent. This means that only the recipient can see that information.</p>
<h3 class="heading-small">Two-factor authentication</h3>
<p class="govuk-body">Notify uses two-factor authentication (2FA) to keep your account secure. When you sign in, well send a unique one-time code to your phone and ask you to enter it before we let you use your account.</p>
<p class="govuk-body">Read more about <a class="usa-link" href="{{ url_for('main.security') }}">security</a>.
<p class="usa-body">Notify uses two-factor authentication (2FA) to keep your account secure. When you sign in, well send a unique one-time code to your phone and ask you to enter it before we let you use your account.</p>
<p class="usa-body">Read more about <a class="usa-link" href="{{ url_for('main.security') }}">security</a>.
<!-- <h2 class="heading-medium" id="support">Support</h2>
<p class="govuk-body">Notify provides 24-hour online support. If you have an emergency outside office hours, well reply within 30 minutes.</p>
<p class="govuk-body">Find out more about <a class="usa-link" href="{{ url_for('.support') }}">support</a>.</p> -->
<p class="usa-body">Notify provides 24-hour online support. If you have an emergency outside office hours, well reply within 30 minutes.</p>
<p class="usa-body">Find out more about <a class="usa-link" href="{{ url_for('.support') }}">support</a>.</p> -->
{% endblock %}

View File

@@ -33,9 +33,9 @@
<p>To change the text message sender from the default of Notify.gov:</p>
<ol class="list list-number">
<li>Go to the <b class="govuk-!-font-weight-bold">Text message settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="govuk-!-font-weight-bold">Manage</b> on the <b class="govuk-!-font-weight-bold">Text message senders</b> row.</li>
<li>Select <b class="govuk-!-font-weight-bold">Change</b> or <b class="govuk-!-font-weight-bold">Add text message sender</b>.</li>
<li>Go to the <b class="bold">Text message settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Manage</b> on the <b class="bold">Text message senders</b> row.</li>
<li>Select <b class="bold">Change</b> or <b class="bold">Add text message sender</b>.</li>
</ol>
<h2 class="heading heading-medium">Pricing<h2>

View File

@@ -14,8 +14,8 @@
{% block platform_admin_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
{{ page_header('Set auth type for ' + user.name) }}
{% call form_wrapper() %}

View File

@@ -6,8 +6,8 @@
{% endblock %}
{% block platform_admin_content %}
<div class="govuk-grid-row bottom-gutter">
<div class="govuk-grid-column-full">
<div class="grid-row bottom-gutter">
<div class="grid-col-12">
<h1 class="font-body-2xl margin-bottom-3">
{{ user.name }}
</h1>

View File

@@ -8,8 +8,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Forgot your password?</h1>
<p>Well send you an email to create a new password.</p>

View File

@@ -51,7 +51,7 @@
<li class="usa-process-list__item padding-bottom-4">
<h2 class="usa-process-list__heading line-height-sans-3">Start sending messages</h2>
{% if not current_user.is_authenticated or not current_service %}
<p>When youre ready to send messages to people outside your team, go to the <b class="govuk-!-font-weight-bold">Settings</b> page and select <b class="govuk-!-font-weight-bold">Request to go live</b>. Well approve your request within one working day.</p>
<p>When youre ready to send messages to people outside your team, go to the <b class="bold">Settings</b> page and select <b class="bold">Request to go live</b>. Well approve your request within one working day.</p>
{% else %}
<p>You should <a class="usa-link" href="{{ url_for('.request_to_go_live', service_id=current_service.id) }}">request to go live</a> when youre ready to send messages to people outside your team. Well approve your request within one working day.</p>
{% endif %}

View File

@@ -24,8 +24,8 @@
<p>To change your email branding:</p>
<ol class="list list-number">
<li>Go to the <b class="govuk-!-font-weight-bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="govuk-!-font-weight-bold">Change</b> on the <b class="govuk-!-font-weight-bold">Email branding</b> row.</li>
<li>Go to the <b class="bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Change</b> on the <b class="bold">Email branding</b> row.</li>
</ol>
<h2 class="font-body-lg" id="reply-to-address">Add a reply-to email address</h2>
@@ -35,9 +35,9 @@
<p>To add a reply-to email address:</p>
<ol class="list list-number">
<li>Go to the <b class="govuk-!-font-weight-bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="govuk-!-font-weight-bold">Manage</b> on the <b class="govuk-!-font-weight-bold">Reply-to email addresses</b> row.</li>
<li>Select <b class="govuk-!-font-weight-bold">Add reply-to address</b>.</li>
<li>Go to the <b class="bold">Email settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Manage</b> on the <b class="bold">Reply-to email addresses</b> row.</li>
<li>Select <b class="bold">Add reply-to address</b>.</li>
</ol> -->
<h2 class="font-body-lg" id="text-message-sender">Change the text message sender</h2>
@@ -47,9 +47,9 @@
<p>To change the text message sender from the default of Notify.gov:</p>
<ol class="list list-number">
<li>Go to the <b class="govuk-!-font-weight-bold">Text message settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="govuk-!-font-weight-bold">Manage</b> on the <b class="govuk-!-font-weight-bold">Text message senders</b> row.</li>
<li>Select <b class="govuk-!-font-weight-bold">Change</b> or <b class="govuk-!-font-weight-bold">Add text message sender</b>.</li>
<li>Go to the <b class="bold">Text message settings</b> section of the {{ service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="bold">Manage</b> on the <b class="bold">Text message senders</b> row.</li>
<li>Select <b class="bold">Change</b> or <b class="bold">Add text message sender</b>.</li>
</ol>
{% endblock %}

View File

@@ -16,7 +16,7 @@
<p>To send a batch of messages at once:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page and choose an existing template.</li>
<li>Select <b class="govuk-!-font-weight-bold">Send</b>.</li>
<li>If youre sending emails, select <b class="govuk-!-font-weight-bold">Upload a list of email addresses</b>. If youre sending text messages, select <b class="govuk-!-font-weight-bold">Upload a list of phone numbers</b>.</li>
<li>Select <b class="bold">Send</b>.</li>
<li>If youre sending emails, select <b class="bold">Upload a list of email addresses</b>. If youre sending text messages, select <b class="bold">Upload a list of phone numbers</b>.</li>
{% endblock %}

View File

@@ -9,7 +9,7 @@
<h1 class="heading-large">Edit and format messages</h1>
<p class="govuk-body">This page explains how to:</p>
<p class="usa-body">This page explains how to:</p>
<ul class="list list-bullet">
<li><a class="usa-link" href="#formatting">format your content</a></li>
<li><a class="usa-link" href="#links">add links</a></li>
@@ -19,14 +19,14 @@
<h2 class="heading-medium" id="formatting">Format your content</h2>
<p class="govuk-body">You can see a list of formatting instructions on the edit template page:</p>
<p class="usa-body">You can see a list of formatting instructions on the edit template page:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
</ol>
<!-- <p class="govuk-body">Email templates can include:</p>
<!-- <p class="usa-body">Email templates can include:</p>
<ul class="list list-bullet">
<li>headings</li>
<li>bullets</li>
@@ -34,15 +34,15 @@
<li>horizontal rules</li>
</ul>
<p class="govuk-body">Notify does not allow bold, italics, subheadings, underlined text or different fonts. This is because they can make it harder for users to read what youve written.</p> -->
<p class="usa-body">Notify does not allow bold, italics, subheadings, underlined text or different fonts. This is because they can make it harder for users to read what youve written.</p> -->
<h2 class="heading-medium" id="links">Add links</h2>
<p class="govuk-body">When composing a text message, write URLs in full and Notify will convert them into links for you.</p>
<p class="usa-body">When composing a text message, write URLs in full and Notify will convert them into links for you.</p>
<p class="govuk-body">You cannot convert text into a link. <!-- Research shows that people like to check a URL looks genuine before clicking the link in an email. This is hard to do if the URL is hidden behind clickable link text.--></p>
<p class="usa-body">You cannot convert text into a link. <!-- Research shows that people like to check a URL looks genuine before clicking the link in an email. This is hard to do if the URL is hidden behind clickable link text.--></p>
<p class="govuk-body">We do not recommend using a third-party link shortening service because:</p>
<p class="usa-body">We do not recommend using a third-party link shortening service because:</p>
<ul class="list list-bullet">
<li>your users cannot see where the link will take them</li>
@@ -52,46 +52,46 @@
<h2 class="heading-medium" id="personalized-content">Personalize your content</h2>
<p class="govuk-body">To personalize the content of your messages, add a placeholder to the template.</p>
<p class="usa-body">To personalize the content of your messages, add a placeholder to the template.</p>
<p class="govuk-body">Placeholders are filled in with details, like a name or reference number, each time you send a message.</p>
<p class="usa-body">Placeholders are filled in with details, like a name or reference number, each time you send a message.</p>
<p class="govuk-body">To add a placeholder to the template:</p>
<p class="usa-body">To add a placeholder to the template:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
<li>Add a placeholder using double brackets. For example: Hello ((first&nbsp;name)), your reference is ((ref&nbsp;number)).</li>
<li>Select <b class="govuk-!-font-weight-bold">Save</b>.</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p class="govuk-body">When you send a message you can either:</p>
<p class="usa-body">When you send a message you can either:</p>
<ul class="list list-bullet">
<li>manually fill in the placeholders yourself</li>
<li>upload a list of personal details and let Notify do it for you</li>
</ul>
<p class="govuk-body">If you upload a list, the column names need to match the placeholders in your template.</p>
<p class="usa-body">If you upload a list, the column names need to match the placeholders in your template.</p>
<h2 class="heading-medium" id="optional-content">Add optional content</h2>
<p class="govuk-body">To add optional content to your messages:</p>
<p class="usa-body">To add optional content to your messages:</p>
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
<li>Use double brackets and ?? to define optional content. For example, if you only want to show something to people who are under 18: ((under18??Please get your application signed by a parent or guardian.))</li>
<li>Select <b class="govuk-!-font-weight-bold">Save</b>.</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p class="govuk-body">For each person you send this message to, specify yes or no to show or hide this content. You can either:</p>
<p class="usa-body">For each person you send this message to, specify yes or no to show or hide this content. You can either:</p>
<ul class="list list-bullet">
<li>do this yourself</li>
<li>upload a list of personal details and let Notify do it for you</li>
</ul>
<p class="govuk-body">If you upload a list, the column names need to match the optional content in your template.</p>
<p class="usa-body">If you upload a list, the column names need to match the optional content in your template.</p>
{% endblock %}

View File

@@ -37,7 +37,7 @@
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
</ol>
<h3 class="font-body-lg" id="links">Add links</h3>
@@ -68,10 +68,10 @@
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
<li>Add a placeholder using double brackets. For example: Hello ((first&nbsp;name)), your reference is
((ref&nbsp;number)).</li>
<li>Select <b class="govuk-!-font-weight-bold">Save</b>.</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p>When you send a message you can either:</p>
@@ -89,10 +89,10 @@
<ol class="list list-number">
<li>Go to the {{ service_link(current_service, 'main.choose_template', 'templates') }} page.</li>
<li>Add a new template or choose an existing template and select <b class="govuk-!-font-weight-bold">Edit</b>.</li>
<li>Add a new template or choose an existing template and select <b class="bold">Edit</b>.</li>
<li>Use double brackets and ?? to define optional content. For example, if you only want to show something to people
who are under 18: ((under18??Please get your application signed by a parent or guardian.))</li>
<li>Select <b class="govuk-!-font-weight-bold">Save</b>.</li>
<li>Select <b class="bold">Save</b>.</li>
</ol>
<p>For each person you send this message to, specify yes or no to show or hide this content. You
@@ -114,11 +114,11 @@
<p>To change the text message sender from the default of Notify.gov:</p>
<ol class="list list-number">
<li>Go to the <b class="govuk-!-font-weight-bold">Text message settings</b> section of the {{
<li>Go to the <b class="bold">Text message settings</b> section of the {{
service_link(current_service, 'main.service_settings', 'settings') }} page.</li>
<li>Select <b class="govuk-!-font-weight-bold">Manage</b> on the <b class="govuk-!-font-weight-bold">Text message
<li>Select <b class="bold">Manage</b> on the <b class="bold">Text message
senders</b> row.</li>
<li>Select <b class="govuk-!-font-weight-bold">Change</b> or <b class="govuk-!-font-weight-bold">Add text message
<li>Select <b class="bold">Change</b> or <b class="bold">Add text message
sender</b>.</li>
</ol>

View File

@@ -48,7 +48,7 @@ Inbound SMS
{% endif %}
</td>
<td>
<a href="{{ url_for('main.service_dashboard', service_id=value.service.id) }}" class="usa-link govuk-!-font-size-24 govuk-!-font-weight-bold">{{ value.service.name }}</a>
<a href="{{ url_for('main.service_dashboard', service_id=value.service.id) }}" class="usa-link bold">{{ value.service.name }}</a>
</td>
</tr>
{% endfor %}

View File

@@ -7,8 +7,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Integration testing</h1>
<p>This information has moved.</p>

View File

@@ -22,8 +22,8 @@
<div class="user-list">
{% for user in users %}
<div class="user-list-item">
<div class="govuk-grid-row">
<div class="govuk-grid-column-three-quarters">
<div class="grid-row">
<div class="grid-col-9">
<h2 class="user-list-item-heading" title="{{ user.email_address }}">
{%- if user.name -%}
<span class="heading-small live-search-relevant">{{ user.name }}</span>&ensp;
@@ -51,7 +51,7 @@
</ul>
{# only show if the service has folders #}
{% if current_service.all_template_folders %}
<p class="govuk-body tick-cross-list-hint">
<p class="usa-body tick-cross-list-hint">
{% set folder_count = user.template_folders_for_service(current_service) | length %}
{% if folder_count == 0 %}
@@ -64,13 +64,13 @@
</p>
{% endif %}
{% if current_service.has_permission('email_auth') %}
<p class="govuk-body tick-cross-list-hint">
<p class="usa-body tick-cross-list-hint">
Signs in with
{{ user.auth_type | format_auth_type(with_indefinite_article=True) }}
</p>
{% endif %}
</div>
<div class="govuk-grid-column-one-quarter">
<div class="grid-col-3">
{% if current_user.has_permissions('manage_service') %}
{% if user.status == 'pending' %}
<a class="user-list-edit-link usa-link" href="{{ url_for('.cancel_invited_user', service_id=current_service.id, invited_user_id=user.id)}}">Cancel invitation<span class="usa-sr-only"> for {{ user.email_address }}</span></a>

View File

@@ -17,8 +17,8 @@
{{ page_header('Confirm change of email address') }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<div class="grid-row">
<div class="grid-col-12">
{% call form_wrapper() %}
<p>New email address:</p>
<div class="panel panel-border-wide bottom-gutter">

View File

@@ -16,8 +16,8 @@
{{ page_header('Confirm change of mobile number') }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<div class="grid-row">
<div class="grid-col-12">
{% call form_wrapper() %}
<p>New mobile number:</p>
<div class="panel panel-border-wide bottom-gutter">

View File

@@ -17,8 +17,8 @@
{{ page_header('Change team members mobile number') }}
<p id="user_name">This will change the mobile number for {{ user.name }}.</p>
<div class="govuk-grid-row">
<div class="govuk-grid-column-three-quarters">
<div class="grid-row">
<div class="grid-col-9">
{% call form_wrapper(class="extra-tracking") %}
{{ form.mobile_number }}
{{ page_footer('Save') }}

View File

@@ -5,7 +5,7 @@
{% if form.folder_permissions.all_template_folders %}
{{ form.folder_permissions }}
{% elif user and user.platform_admin %}
<p class="bottom-gutter govuk-body">
<p class="bottom-gutter usa-body">
Platform admin users can access all template folders.
</p>
{% endif %}

View File

@@ -8,8 +8,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{% if user %}
<h1 class="font-body-2xl margin-bottom-3">
Create a new password

View File

@@ -20,7 +20,7 @@
{{ form.organizations.label.text }}
</p>
{{ live_search(
target_selector='.govuk-radios__item',
target_selector='.usa-radio',
show=True,
form=search_form,
label='Search by name',

View File

@@ -14,12 +14,12 @@
<a href="{{ url_for('main.choose_account') }}" class="usa-link navigation-service usa-breadcrumb-switch">Switch service</a>
</div>
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-quarter">
<div class="grid-row">
<div class="grid-col-3">
&nbsp;
</div>
<div class="govuk-grid-column-three-quarters">
<main class="govuk-main-wrapper column-main govuk-!-padding-top-0 govuk-!-padding-bottom-0" id="main-content" role="main" >
<div class="grid-col-9">
<main class="govuk-main-wrapper column-main" id="main-content" role="main" >
{% block beforeContent %}{% endblock %}
{% block content %}
{{ page_header('New organization') }}

View File

@@ -16,8 +16,8 @@
{{ pill(years, selected_year, big_number_args={'smallest': True}) }}
</div>
<div class="govuk-grid-row bottom-gutter">
<div class="govuk-grid-column-one-half">
<div class="grid-row bottom-gutter">
<div class="grid-col-6">
<h2 class="heading-small">Emails</h2>
<div class="keyline-block">
{{ big_number(
@@ -27,7 +27,7 @@
) }}
</div>
</div>
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
<h2 class="heading-small">Text messages</h2>
<div class="keyline-block">
{{ big_number(
@@ -41,7 +41,7 @@
</div>
{% if search_form %}
<div class="govuk-!-margin-bottom-5">
<div>
{{ live_search(
target_selector='.organization-service',
show=True,
@@ -54,19 +54,19 @@
<h2 class="heading-small {% if search_form %}visually-hidden{% endif %}">By service</h2>
{% for service in services %}
<div class="keyline-block govuk-!-margin-top-2 organization-service">
<h3 class="govuk-!-font-weight-bold govuk-!-font-size-24 govuk-!-margin-bottom-3 govuk-!-margin-top-1 live-search-relevant">
<div class="keyline-block organization-service">
<h3 class="live-search-relevant">
<a href="{{ url_for('main.usage', service_id=service.service_id) }}" class="usa-link browse-list-link">{{ service.service_name }}</a>
</h3>
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-half">
<div class="grid-row">
<div class="grid-col-6">
{{ big_number(
service.emails_sent,
label=service.emails_sent|message_count_label('email'),
smallest=True
) }}
</div>
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
{% if service.sms_cost %}
{{ big_number(
service.sms_cost,
@@ -85,16 +85,16 @@
</div>
</div>
{% endfor %}
<div class="keyline-block govuk-!-margin-top-2"></div>
<div class="keyline-block"></div>
{% if not services %}
<p class="govuk-body govuk-hint">
<p class="usa-body usa-hint">
{{ current_org.name }} has no live services on Notify.gov
</p>
<div class="keyline-block govuk-!-margin-top-2"></div>
<div class="keyline-block"></div>
{% else %}
<div class="js-stick-at-bottom-when-scrolling">
<p class="govuk-!-margin-bottom-1">
<a href="{{ download_link }}" download="download" class="usa-link govuk-!-font-weight-bold">Download this report (<abbr title="Comma separated values">CSV</abbr>)</a>
<p>
<a href="{{ download_link }}" download="download" class="usa-link">Download this report (<abbr title="Comma separated values">CSV</abbr>)</a>
</p>
</div>
{% endif %}

View File

@@ -15,8 +15,8 @@
{% block maincolumn_content %}
{{ page_header("Known email domains") }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
<p>
If a users email addresses ends with one of these domains then
any services they create will be associated with this organization.

View File

@@ -15,8 +15,8 @@
{% block maincolumn_content %}
{{ page_header("Edit request to go live notes") }}
<div class="govuk-grid-row">
<div class="govuk-grid-column-five-sixths">
<div class="grid-row">
<div class="grid-col-10">
<p>
Text entered here will be displayed in the Zendesk ticket when a service
belonging to this organization requests to go live.

View File

@@ -10,8 +10,8 @@
{% block maincolumn_content %}
<h1 class="font-body-2xl margin-bottom-3">Preview email branding</h1>
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<div class="grid-row">
<div class="grid-col-12">
{{ email_branding_preview(form.branding_style.data) }}
{% call form_wrapper(action=action) %}
<div class="form-group">

View File

@@ -19,14 +19,14 @@
{{ page_header(page_title) }}
{% call form_wrapper(data_kwargs={'preview-type': 'email'}) %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-full preview-pane">
<div class="grid-row">
<div class="grid-col-12 preview-pane">
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-grid-column-full">
<div class="grid-row">
<div class="grid-col-12">
{{ live_search(
target_selector='.govuk-radios__item',
target_selector='.usa-radio',
show=True,
form=search_form,
label='Search branding styles by name',

View File

@@ -32,8 +32,8 @@
<div class="user-list">
{% for user in users %}
<div class="user-list-item">
<div class="govuk-grid-row">
<div class="govuk-grid-column-three-quarters">
<div class="grid-row">
<div class="grid-col-9">
<h2 class="user-list-item-heading">
{%- if user.name -%}
<span class="heading-small">{{ user.name }}</span>&ensp;
@@ -51,7 +51,7 @@
</span>
</h2>
</div>
<div class="govuk-grid-column-one-quarter">
<div class="grid-col-3">
{% if user.status == 'pending' %}
<a class="usa-link user-list-edit-link" href="{{ url_for('.cancel_invited_org_user', org_id=current_org.id, invited_user_id=user.id)}}">Cancel invitation<span class="usa-sr-only"> for {{ user.email_address }}</span></a>
{% elif user.status != 'cancelled' %}

View File

@@ -6,8 +6,8 @@ Check your email
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Check your email</h1>
<p>Click the link in the email to reset your password.</p>

View File

@@ -9,8 +9,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row govuk-!-margin-bottom-8">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ page_header('Performance data') }}
</div>
</div>
@@ -19,21 +19,21 @@
Messages sent since May 2023
</h2>
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-half">
<div class="grid-row">
<div class="grid-col-6">
<div class="product-page-big-number">{{ total_notifications|format_billions }}</div>
total
</div>
<div class="govuk-grid-column-one-half">
<div class="govuk-grid-row govuk-!-padding-top-4">
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
<div class="grid-row">
<div class="grid-col-6">
{{ big_number(
email_notifications|format_billions,
label=email_notifications|message_count_noun('email'),
smallest=True,
) }}
</div>
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
{{ big_number(
sms_notifications|format_billions,
label=sms_notifications|message_count_noun('sms'),
@@ -74,8 +74,8 @@
<h2 class="govuk-heading-m">
Messages sent within 10 seconds
</h2>
<div class="govuk-grid-row">
<div class="govuk-grid-column-one-half">
<div class="grid-row">
<div class="grid-col-6">
{{ big_number(
'{:.2f}%'.format(average_percentage_under_10_seconds),
label='on average',
@@ -107,13 +107,13 @@
<h2 class="govuk-heading-m">
Organizations using Notify
</h2>
<div class="govuk-grid-row bottom-gutter">
<div class="govuk-grid-column-one-half">
<div class="grid-row bottom-gutter">
<div class="grid-col-6">
<span class="usa-sr-only">There are</span>
<div class="product-page-big-number">{{ count_of_live_services_and_organizations.organizations|format_thousands }}</div>
organizations
</div>
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
<span class="usa-sr-only">and</span>
<div class="product-page-big-number">{{ count_of_live_services_and_organizations.services|format_thousands }}</div>
services

View File

@@ -1,7 +1,7 @@
{% from "components/big-number.html" import big_number_with_status %}
<div class="govuk-grid-row bottom-gutter">
<div class="govuk-grid-column-one-half">
<div class="grid-row bottom-gutter">
<div class="grid-col-6">
{{ big_number_with_status(
global_stats.email.delivered + global_stats.email.failed,
global_stats.email.delivered|message_count_label('email'),
@@ -11,7 +11,7 @@
smaller=True
) }}
</div>
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
{{ big_number_with_status(
global_stats.sms.delivered + global_stats.sms.failed,
global_stats.sms.delivered|message_count_label('sms'),

View File

@@ -30,9 +30,9 @@
"open": form.errors | convert_to_boolean
}) }}
<div class="govuk-grid-row bottom-gutter">
<div class="grid-row bottom-gutter">
{% for noti_type in global_stats %}
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
{{ big_number_simple(
noti_type.black_box.number,
noti_type.black_box.number|message_count_label(noti_type.black_box.notification_type)
@@ -51,9 +51,9 @@
{% endfor %}
</div>
<div class="govuk-grid-row bottom-gutter">
<div class="grid-row bottom-gutter">
{% for noti_type in global_stats %}
<div class="govuk-grid-column-one-half">
<div class="grid-col-6">
<div class="bordered-text-box">
<span class="big-number-number">{{ "{:,}".format(noti_type.test_data.number) }}</span>
{{ noti_type.test_data.label }}

View File

@@ -23,7 +23,7 @@
{% call row() %}
{% call field(border=False, colspan=3) %}
<a href="{{ url_for('main.service_dashboard', service_id=service['id']) }}" class="file-list-filename-large usa-link govuk-!-padding-bottom-4">{{ service['name'] }}</a>
<a href="{{ url_for('main.service_dashboard', service_id=service['id']) }}" class="file-list-filename-large usa-link">{{ service['name'] }}</a>
{% if not service['active'] %}
<span class="heading-medium hint">&ensp;Archived</span>
{% endif %}

View File

@@ -10,7 +10,7 @@
Summary
</h1>
<p class="govuk-body">
<p class="usa-body">
<a class="usa-link" href="{{ url_for('main.platform_admin') }}">Load summary</a>
</p>

View File

@@ -13,7 +13,7 @@
<a class="usa-link" href="{{ url_for('.sign_in', next=url_for('.billing_details')) }}">Sign in</a> to see our:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>supplier details</li>
<li>bank details</li>
<li>invoice address</li>

View File

@@ -19,7 +19,7 @@
<a class="usa-link" href="{{ url_for('main.support') }}">Contact us</a> if you need any other details.
</p>
<h2 class="heading-medium govuk-!-margin-top-7" id="supplier-details">
<h2 class="heading-medium" id="supplier-details">
Supplier details
</h2>
@@ -38,7 +38,7 @@
Email addresses
</h3>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
{% for email in billing_details['notify_billing_email_addresses'] %}
<li>
{{ email }}
@@ -50,14 +50,14 @@
<abbr title="Value Added Tax">VAT</abbr> number
</h3>
<div class="govuk-!-margin-bottom-4">
<div>
{{ copy_to_clipboard(
'GB 88 88 010 80',
thing='<abbr title="Value Added Tax">VAT</abbr> number',
) }}
</div>
<h2 class="heading-medium govuk-!-margin-top-7" id="bank-details">
<h2 class="heading-medium" id="bank-details">
Bank details
</h2>
@@ -82,7 +82,7 @@
Account number
</h3>
<div class="govuk-!-margin-bottom-4">
<div>
{{ copy_to_clipboard(
billing_details['account_number'],
thing='account number',
@@ -93,7 +93,7 @@
Sort code
</h3>
<div class="govuk-!-margin-bottom-4">
<div>
{{ copy_to_clipboard(
billing_details['sort_code'],
thing='sort code',
@@ -104,7 +104,7 @@
<h3 class="font-body-lg" id="iban">
<abbr title="International Bank Account Number">IBAN</abbr>
</h3>
<div class="govuk-!-margin-bottom-4">
<div>
{{ copy_to_clipboard(
billing_details['IBAN'],
thing='IBAN',
@@ -115,14 +115,14 @@
Swift code
</h3>
<div class="govuk-!-margin-bottom-4">
<div>
{{ copy_to_clipboard(
billing_details['swift'],
thing='Swift code',
) }}
</div>
<h2 class="heading-medium govuk-!-margin-top-7" id="invoice-address">
<h2 class="heading-medium" id="invoice-address">
Invoice address
</h2>

View File

@@ -7,8 +7,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Privacy notice: how we use your data</h1>
{{ content_metadata(
@@ -147,7 +147,7 @@
<p>
Google Analytics stores anonymised information about:
</p>
<ul class="govuk-list govuk-list--bullet">
<ul class="usa-list usa-list--bullet">
<li>how you got to Notify.gov</li>
<li>the pages you visit on Notify and how long you spend on them</li>
<li>any errors you see while using Notify</li>

View File

@@ -14,8 +14,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
{{ page_header(provider_versions[0].display_name) }}

View File

@@ -7,8 +7,8 @@
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">{{ title }}</h1>
<p>For security, we need to check if you still have access to your email address.</p>
<p>Weve sent you a link valid for 1 hour to sign in to Notify. The link will open in a new browser window, so you can close this one.</p>

View File

@@ -8,8 +8,8 @@ Create an account
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Create an account</h1>
<p>
Your account will be created with this email address:
@@ -25,17 +25,15 @@ Create an account
<label for="username" aria-hidden="true">Email</label>
<input type="email" name="username" id="username" value="{{ invited_user.email_address }}" disabled="disabled" tabindex="-1" aria-hidden="true" autocomplete="username" />
</div>
{{ form.name(param_extensions={"classes": "govuk-!-width-three-quarters"}) }}
{{ form.name(param_extensions={}) }}
{% if invited_user.auth_type == 'sms_auth' %}
<div class="extra-tracking">
{{ form.mobile_number(param_extensions={
"classes": "govuk-!-width-three-quarters",
"hint": {"text": "Well send you a security code by text message"}
}) }}
</div>
{% endif %}
{{ form.password(param_extensions={
"classes": "govuk-!-width-three-quarters",
"hint": {"text": "At least 8 characters"},
"autocomplete": "new-password"
}) }}

View File

@@ -8,20 +8,18 @@ Create an account
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Create an account</h1>
<p>Your account will be created with this email: {{invited_org_user.email_address}}</p>
{% call form_wrapper() %}
{{ form.name(param_extensions={"classes": "govuk-!-width-three-quarters"}) }}
{{ form.name(param_extensions={}) }}
<div class="extra-tracking">
{{ form.mobile_number(param_extensions={
"classes": "govuk-!-width-three-quarters",
"hint": {"text": "Well send you a security code by text message"}
}) }}
</div>
{{ form.password(param_extensions={
"classes": "govuk-!-width-three-quarters",
"hint": {"text": "At least 8 characters"},
"autocomplete": "new-password"
}) }}

View File

@@ -8,15 +8,14 @@ Create an account
{% block maincolumn_content %}
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<div class="grid-row">
<div class="grid-col-8">
<h1 class="font-body-2xl margin-bottom-3">Create an account</h1>
{% call form_wrapper(autocomplete=True) %}
{{ form.name(param_extensions={"classes": "govuk-!-width-three-quarters"}) }}
{{ form.name(param_extensions={}) }}
{{ form.email_address(
param_extensions={
"hint": {"text": "Must be from a public sector organization"},
"classes": "govuk-!-width-three-quarters",
"autocomplete": "email"
},
error_message_with_html=True
@@ -24,10 +23,9 @@ Create an account
<div class="extra-tracking">
{{ form.mobile_number(param_extensions={
"hint": {"text": "Well send you a security code by text message"},
"classes": "govuk-!-width-three-quarters"
}) }}
</div>
{{ form.password(param_extensions={"hint": {"text": "At least 8 characters"}, "classes": "govuk-!-width-three-quarters", "autocomplete": "new-password"}) }}
{{ form.password(param_extensions={"hint": {"text": "At least 8 characters"}, "autocomplete": "new-password"}) }}
{{form.auth_type}}
{{ page_footer("Continue") }}
{% endcall %}

Some files were not shown because too many files have changed in this diff Show More