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

{% if showType %}
  {% set get_categoriesEvents = craft.categories().group('events').all() %}
  {% set typeEntryOptions = [
    {
      value: 'all',
      name: 'Estoy buscando'|t
    }
  ] %}

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

{% set dataFilters =
  dataFilters|merge(
    [
      {
        name: 'type',
        fields: typeEntryOptions
      }
    ]
  )
%}

{% set get_categoriesYear =
  craft.categories().group('eventYear').orderBy('title desc').all()
%}

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

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

{% set dataFilters =
  dataFilters|merge(
    [
      {
        name: 'year',
        fields: fields_yeardEntries
      }
    ]
  )
%}

{# Data Entries #}
{% if showType %}
  {% set get_Events = craft.entries().section('eventsEntries').orderBy('postDate desc').limit(6).all() %}
{% else %}
  {% set get_Events =
    craft.entries().section('eventsEntries').relatedTo(category).orderBy('postDate desc').limit(6).all()
  %}
{% endif %}

{% set dataEvents = [] %}
{% for item in get_Events %}
  {% set postDateEntry = item.postDate %}
  {% set categoryEntry = item.category.one() %}

  {% 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 %}
  {# category: { #}
  {# title: categoryEntry.title, #}
  {# url: categoryEntry.url, #}
  {# color: categoryEntry.fieldColor.getHex() #}
  {# }, #}
  {# description: (item.fieldRedactor|striptags|slice(0, 95)) ~ '...', #}
  {% set dataEvents =
    dataEvents|merge(
      [
        {
          title: item.title|upper,
          date: textDateEntry|upper,
          img: item.fieldImage.one().getUrl('imageBlock'),
          link: {
            text: 'Seguir leyendo'|t,
            url: item.url
          },
          filters: [
            {
              title: 'date',
              value: postDateEntry|date('Y')
            }
          ]
        }
      ]
    )
  %}
{% endfor %}

{% set countEntries = craft.entries().section('eventsEntries').count() %}

{% if showType %}
  {% set url = countEntries > 0 ? siteUrl() ~ 'api/events.json?pg=2' : '' %}
{% else %}
  {% set url = countEntries > 0
    ? siteUrl() ~ 'api/events/' ~ category.slug ~ '.json?pg=2'
    : ''
  %}
{% endif %}

{% set defaultUrl = siteUrl() ~ 'api/events.json' %}
{% if not showType %}
  {% set defaultUrl = siteUrl() ~ 'api/events/' ~ category.slug ~ '.json' %}
{% endif %}

{% set dataInfo = {
  count: countEntries,
  message: 'Cargar más eventos'|t,
  url: url
} %}

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