{% from "govuk/components/button/macro.njk" import govukButton with context %}
{% from "govuk/components/radios/macro.njk" import govukRadios with context %}
{% from "../list-with-actions/macro.njk" import hmrcListWithActions with context %}

{% if params.language == 'cy' %}
    {% set messages = {
    itemTypeDefault: {singular: 'eitem', plural: 'o eitemau'},
    emptyList: 'Nid ydych wedi ychwanegu unrhyw eitemau',
    haveAdded: 'Rydych wedi ychwanegu',
    addAnother: {prefix: 'Oes angen i chi ychwanegu', suffix: ' arall'},
    continue: 'Yn eich blaen',
    change: 'Newid',
    remove: 'Dileu',
    aria: {before: 'Dileu’r', after: 'o’r rhestr'},
    yes : 'Iawn',
    no: 'Na'
  } %}
{% else %}
  {% set messages = {
    itemTypeDefault: {singular: 'item', plural: 'items'},
    emptyList: 'You have not added any items',
    haveAdded: 'You have added',
    addAnother: {prefix: 'Do you need to add another', suffix: ''},
    continue: 'Continue',
    change: 'Change',
    remove: 'Remove',
    aria: {before: 'Remove', after: 'from the list'},
    yes : 'Yes',
    no: 'No'
  } %}
{% endif %}
{% set items = [] %}
{% for item in params.itemList %}
  {% set items = (items.push({ name: { text: item.name }, actions: [{
    text: messages.change,
    visuallyHiddenText: messages.change + ' ' +item.name,
    href: item.changeUrl
  }, {
    text: messages.remove,
    visuallyHiddenText: messages.aria.before + ' ' + item.name + ' ' + messages.aria.after,
    href: item.removeUrl
  }] }), items) %}
{% endfor %}

{%- set listWithActionsClasses = '' -%}
{% if params.itemSize == 'long' %}
  {% set listWithActionsClasses = 'hmrc-list-with-actions--long' %}
{% else %}
  {% set listWithActionsClasses = 'hmrc-list-with-actions--short' %}
{% endif -%}

<h1 class="govuk-heading-xl">{%- if params.itemList | length === 0 -%}
  {{ messages.emptyList }}
{%- else -%}
  {{ messages.haveAdded }} {{ params.itemList | length }}
  {%- if params.itemList | length  === 1 %} {{ params.itemType.singular | default(messages.itemTypeDefault.singular) }}
  {%- else %} {{ params.itemType.plural | default(messages.itemTypeDefault.plural) }}
{%- endif -%}
{%- endif -%}
</h1>
<div class="govuk-form-group">
  {{ hmrcListWithActions({ items: items, classes: listWithActionsClasses }) }}
</div>
<form method="post" novalidate action="{{ params.formAction }}">
  {{ govukRadios({
    classes: "govuk-radios--inline",
    idPrefix: "add-another",
    name: "add-another",
    fieldset: {
      legend: {
        text:  messages.addAnother.prefix + " " + params.itemType.singular | default(messages.itemTypeDefault.singular) + messages.addAnother.suffix + "?",
        isPageHeading: false,
        classes: "govuk-fieldset__legend govuk-fieldset__legend--m"
      }
    },
    hint: {
      text: params.hintText
    },
    items: [
      { text: messages.yes, value: "Yes" },
      { text: messages.no, value: "No" }
    ] }) }}
  {{ govukButton({ text: messages.continue }) }}
</form>
