mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-05-05 16:38:59 -04:00
Added the "set up your profile" page and added a select component
This commit is contained in:
13
app/templates/components/components/select/README.md
Normal file
13
app/templates/components/components/select/README.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Select
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
See the [main README quick start guide](https://github.com/alphagov/govuk-frontend#quick-start) for how to install this component.
|
||||||
|
|
||||||
|
## Guidance and Examples
|
||||||
|
|
||||||
|
Find out when to use the select component in your service in the [GOV.UK Design System](https://design-system.service.gov.uk/components/select/).
|
||||||
|
|
||||||
|
## Component options
|
||||||
|
|
||||||
|
Use options to customize the appearance, content and behavior of a component when using a macro, for example, changing the text.
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"type": "string",
|
||||||
|
"required": true,
|
||||||
|
"description": "ID for each select box."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"type": "string",
|
||||||
|
"required": true,
|
||||||
|
"description": "Name property for the select."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "items",
|
||||||
|
"type": "array",
|
||||||
|
"required": true,
|
||||||
|
"description": "The items within the select component."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "value",
|
||||||
|
"type": "string",
|
||||||
|
"required": false,
|
||||||
|
"description": "Value for the option which should be selected. Use this as an alternative to setting the selected option on each individual item."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "disabled",
|
||||||
|
"type": "boolean",
|
||||||
|
"required": false,
|
||||||
|
"description": "If true, select box will be disabled. Use the disabled option on each individual item to only disable certain options."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "describedBy",
|
||||||
|
"type": "string",
|
||||||
|
"required": false,
|
||||||
|
"description": "One or more element IDs to add to the `aria-describedby` attribute, used to provide additional descriptive information for screenreader users."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "label",
|
||||||
|
"type": "object",
|
||||||
|
"required": true,
|
||||||
|
"description": "The label used by the select component.",
|
||||||
|
"isComponent": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "hint",
|
||||||
|
"type": "object",
|
||||||
|
"required": false,
|
||||||
|
"description": "Can be used to add a hint to the select component.",
|
||||||
|
"isComponent": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "classes",
|
||||||
|
"type": "string",
|
||||||
|
"required": false,
|
||||||
|
"description": "Classes to add to the select."
|
||||||
|
}
|
||||||
|
]
|
||||||
3
app/templates/components/components/select/macro.njk
Normal file
3
app/templates/components/components/select/macro.njk
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{% macro usaSelect(params) %}
|
||||||
|
{%- include "./template.njk" -%}
|
||||||
|
{% endmacro %}
|
||||||
12
app/templates/components/components/select/template.njk
Normal file
12
app/templates/components/components/select/template.njk
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{% set describedBy = params.describedBy if params.describedBy else "" %}
|
||||||
|
<div class="usa-form-group">
|
||||||
|
<label class="usa-label" for="{{ params.name }}">{{params.label}}</label>
|
||||||
|
<select class="usa-select {%- if params.classes %} {{ params.classes }}{% endif %}" id="{{ params.id }}" name="{{ params.name }}"
|
||||||
|
{%- if params.value %} value="{{ params.value}}"{% endif %}
|
||||||
|
{%- if describedBy %} aria-describedby="{{ describedBy }}"{% endif %}
|
||||||
|
{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>
|
||||||
|
{% for item in params.items %}
|
||||||
|
<option value="{{ item.value }}" {%- if item.disabled == true %} selected disabled {% endif %}>{{ item.text }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
78
app/templates/views/set-up-your-profile.html
Normal file
78
app/templates/views/set-up-your-profile.html
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
{% extends "withoutnav_template.html" %}
|
||||||
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
|
{% from "components/form.html" import form_wrapper %}
|
||||||
|
{% from "components/components/select/macro.njk" import usaSelect -%}
|
||||||
|
|
||||||
|
{% block per_page_title %}
|
||||||
|
Set up your profile
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block maincolumn_content %}
|
||||||
|
|
||||||
|
<div class="grid-row">
|
||||||
|
<div class="grid-col-8">
|
||||||
|
<h1 class="font-body-2xl margin-bottom-3">Set up your profile</h1>
|
||||||
|
{% call form_wrapper(autocomplete=True) %}
|
||||||
|
{{ form.name(param_extensions={}) }}
|
||||||
|
<div class="extra-tracking">
|
||||||
|
{{ form.mobile_number(param_extensions={
|
||||||
|
"hint": {"text": "We'll send you a security code by text message"},
|
||||||
|
}) }}
|
||||||
|
</div>
|
||||||
|
{{ usaSelect({
|
||||||
|
"id": "time-zone",
|
||||||
|
"name": "time-zone",
|
||||||
|
"label": "Time zone",
|
||||||
|
"errorMessage": "Oh no!",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"value": "",
|
||||||
|
"disabled": true,
|
||||||
|
"text": "- Select -"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "America/Puerto_Rico",
|
||||||
|
"text": "America/Puerto_Rico"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Eastern",
|
||||||
|
"text": "US/Eastern"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Central",
|
||||||
|
"text": "US/Central"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Mountain",
|
||||||
|
"text": "US/Mountain"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Pacific",
|
||||||
|
"text": "US/Pacific"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Alaska",
|
||||||
|
"text": "US/Alaska"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Hawaii",
|
||||||
|
"text": "US/Hawaii"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Aleutian",
|
||||||
|
"text": "US/Aleutian"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "US/Samoa",
|
||||||
|
"text": "US/Samoa"
|
||||||
|
},
|
||||||
|
]
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
{{form.auth_type}}
|
||||||
|
{{ page_footer("Save") }}
|
||||||
|
{% endcall %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user