mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-16 00:14:18 -05:00
The Design System has standardised on back links being at the top of the page, decorated with a small text-coloured arrow. I think this makes more sense than having them at the bottom, because it suggests, in some way, being able to go back before commiting to any of the forms on the page. Whereas the things at the bottom of the page should be performing actions on what’s in the page. The reason for making this change now is that it de-clutters the area around the green buttons. This was presenting a design challenge where multiple levels of interaction were happening in the same form. Moving these back links to the top of the page should mean that, in these complicated forms, there’s one fewer thing to compete for the user’s attention. I’ve componentised this into a `page_header` macro so that the change is easier to roll out and maintain.
56 lines
1.9 KiB
HTML
56 lines
1.9 KiB
HTML
{% extends "withnav_template.html" %}
|
|
{% from "components/page-header.html" import page_header %}
|
|
{% from "components/page-footer.html" import page_footer %}
|
|
{% from "components/file-upload.html" import file_upload %}
|
|
{% from "components/message-count-label.html" import recipient_count_label %}
|
|
{% from "components/table.html" import list_table, text_field, index_field, index_field_heading %}
|
|
|
|
{% block service_page_title %}
|
|
Upload a list of {{ recipient_count_label(999, template.template_type) }}
|
|
{% endblock %}
|
|
|
|
{% block maincolumn_content %}
|
|
|
|
{{ page_header(
|
|
'Upload a list of {}'.format(recipient_count_label(999, template.template_type)),
|
|
back_link=url_for('main.send_one_off', service_id=current_service.id, template_id=template.id)
|
|
) }}
|
|
|
|
<div class="page-footer bottom-gutter">
|
|
{{file_upload(
|
|
form.file,
|
|
button_text='Choose a file'
|
|
)}}
|
|
</div>
|
|
|
|
<h2 class="heading-medium">Your file needs to look like this example</h2>
|
|
<p class="hint">
|
|
Save your file as a
|
|
<acronym title="Comma Separated Values">CSV</acronym>,
|
|
<acronym title="Tab Separated Values">TSV</acronym>,
|
|
<acronym title="Open Document Spreadsheet">ODS</acronym>,
|
|
or Microsoft Excel spreadsheet
|
|
</p>
|
|
|
|
<div class="spreadsheet" data-module="fullscreen-table">
|
|
{% call(item, row_number) list_table(
|
|
example,
|
|
caption="Example",
|
|
caption_visible=False,
|
|
field_headings=[''] + column_headings
|
|
) %}
|
|
{{ index_field(row_number - 1) }}
|
|
{% for column in item %}
|
|
{{ text_field(column) }}
|
|
{% endfor %}
|
|
{% endcall %}
|
|
</div>
|
|
<p class="table-show-more-link">
|
|
<a href="{{ url_for('.get_example_csv', service_id=current_service.id, template_id=template.id) }}" download>Download this example</a>
|
|
</p>
|
|
|
|
<h2 class="heading-medium">Your file will populate this template ({{ template.name }})</h2>
|
|
{{ template|string }}
|
|
|
|
{% endblock %}
|