{# Data Filters #}
{% set dataFilters = [] %}

{# Data Year #}
{% if
  (category is defined and category.group.handle != 'deliveryYear')
    or showType %}
  {% set get_categoriesYear =
    craft.categories().group('deliveryYear').orderBy('title desc').all()
  %}

  {% set fields_yeardEntries = [
    {
      value: 0,
      name: 'Año de la entrega'|t
    }
  ] %}

  {% for year in get_categoriesYear %}
    {% set fields_yeardEntries =
      fields_yeardEntries|merge(
        [
          {
            value: year.slug,
            name: year.title
          }
        ]
      )
    %}
  {% endfor %}
{% else %}
  {% set fields_yeardEntries = [
    {
      value: category.slug,
      name: category.title
    }
  ] %}
{% endif %}

{# Data Month #}
{% if
  (category is defined and category.group.handle != 'deliveryMonth')
    or showType %}
  {% set get_month = craft.categories().group('deliveryMonth').all() %}
  {% set typeEntryOptions = [
    {
      value: 0,
      name: 'Mes de la entrega'|t
    }
  ] %}

  {% for item in get_month %}
    {% set typeEntryOptions =
      typeEntryOptions|merge(
        [
          {
            value: item.slug,
            name: item.title
          }
        ]
      )
    %}
  {% endfor %}
{% else %}
  {% set typeEntryOptions = [
    {
      value: category.slug,
      name: category.title
    }
  ] %}
{% endif %}

{# Data Logistic Operator #}
{% if
  (category is defined and category.group.handle != 'logisticOperator')
    or showType %}
  {% set get_logisticOperator =
    craft.categories().group('logisticOperator').all()
  %}
  {% set typeLogisticOperator = [
    {
      value: 0,
      name: 'Operador Logístico'|t
    }
  ] %}

  {% for item in get_logisticOperator %}
    {% set typeLogisticOperator =
      typeLogisticOperator|merge(
        [
          {
            value: item.slug,
            name: item.title
          }
        ]
      )
    %}
  {% endfor %}
{% else %}
  {% set typeLogisticOperator = [
    {
      value: category.slug,
      name: category.title
    }
  ] %}
{% endif %}

{% set allFilters = [
  {
    name: 'deliveryYear',
    fields: fields_yeardEntries
  },
  {
    name: 'deliveryMonth',
    fields: typeEntryOptions
  },
  {
    name: 'logisticOperator',
    fields: typeLogisticOperator
  }
] %}

{% for item in allFilters %}
  {% set dataFilters = dataFilters|merge([item]) %}
{% endfor %}

{% if category is defined %}
  {% paginate craft.entries().section('deliveriesEntries').relatedTo(
    category
  ).limit(
    6
  )
    as
    pageInfo,
    pageEntries
  %}
{% else %}
  {% paginate craft.entries().section('deliveriesEntries').limit(6)
    as
    pageInfo,
    pageEntries
  %}
{% endif %}

{% set dataDeliveries = [] %}
{% for item in pageEntries %}
  {% set postDateEntry = item.postDate %}

  {% if craft.app.language == 'en' %}
    {% set textDateEntry = (postDateEntry|date('F')) ~ ' '
      ~ (postDateEntry|date('d'))
      ~ ', '
      ~ (postDateEntry|date('Y'))
    %}
  {% else %}
    {% set textDateEntry = (postDateEntry|date('d')) ~ ' De '
      ~ (postDateEntry|date('F'))
      ~ ' '
      ~ (postDateEntry|date('Y'))
    %}
  {% endif %}

  {% set dataDeliveries =
    dataDeliveries|merge(
      [
        {
          title: item.title,
          date: textDateEntry|upper,
          img: item.fieldImage.one().getUrl('imageBlock'),
          url: item.url
        }
      ]
    )
  %}
{% endfor %}

{% if category is not defined %}
  {% set url = pageInfo.totalPages > 1
    ? siteUrl() ~ 'api/deliveries.json?pg=2'
    : ''
  %}
{% else %}
  {% set url = pageInfo.totalPages > 1
    ? siteUrl() ~ 'api/deliveries/' ~ category.group.handle ~ '/'
      ~ category.slug
      ~ '.json?pg=2'
    : ''
  %}

  {# {% set url = pageInfo.totalPages > 1 #}
  {# ? siteUrl() ~ 'api/deliveries/' ~ category.slug ~ '.json?pg=2' #}
  {# : '' #}
  {# %} #}
{% endif %}

{% set defaultUrl = siteUrl() ~ 'api/deliveries.json' %}
{% if category is defined %}
  {% set defaultUrl = siteUrl() ~ 'api/deliveries/' ~ category.group.handle
    ~ '/'
    ~ category.slug
    ~ '.json'
  %}
{% endif %}

{% set dataInfo = {
  total_pages: pageInfo.totalPages,
  message: 'Cargar más entregas'|t,
  current_page: pageInfo.currentPage,
  count: pageEntries|length,
  total: pageInfo.total,
  next_url: url,
  previous_url: ''
} %}

<article id="deliveriesApp" class="pb-5">
  <section class="container">
    <deliveries-body :data="{{ dataDeliveries|json_encode }}"
      :base-url="{{ siteUrl()|json_encode }}"
      :default-url="{{ defaultUrl|json_encode }}"
      :message="{{ 'No se encontraron resultados.'|t|json_encode }}"
      :title-filter="{{ 'Filtros'|t|json_encode }}"
      :data-filters="{{ dataFilters|json_encode }}"
      :btn-title-filters="{{ 'Eliminar todos los filtros'|t|json_encode }}"
      :data-meta="{{ dataInfo|json_encode }}"></deliveries-body>
  </section>
</article>
