{% from "govuk/components/input/macro.njk" import govukInput %}
{% from "../question-format-hint/macro.njk" import digitalmarketplaceQuestionFormatHint %}

{% set name = params.question.id %}
{% set questionText = params.question.question + " (" + (params.question.optional_text if params.question.optional_text else "optional") + ")" if params.question.optional else params.question.question %}

{% if params.errors[name] %}
  {% set errorMessage = { "text": params.errors[name]["message"] } %}
{% elif params.frameworkReusedFrom and params.data[name] %}
  {% set errorMessage = {
    "text": "This answer is from your " + params.frameworkReusedFrom + " declaration",
    "visuallyHiddenText": "Notice"
  } %}
  {% set formGroupClasses = "dm-form-group--declaration-reuse" %}
{% endif %}

{{ govukInput({
  name: name,
  id: "input-" + name,
  label: {
    html: questionText,
    classes: "govuk-label--m"
  },
  formGroup: {
    classes: formGroupClasses
  },
  hint: {
    html: digitalmarketplaceQuestionFormatHint(params.question)
  } if params.question.hint or params.question.question_advice,
  value: params.data[name],
  errorMessage: errorMessage if errorMessage
}) }}
