{#
/**
 * @file
 * Theme override for main view template.
 *
 * Available variables:
 * - attributes: Remaining HTML attributes for the element.
 * - css_name: A CSS-safe version of the view name.
 * - css_class: The user-specified classes names, if any.
 * - header: The optional header.
 * - footer: The optional footer.
 * - rows: The results of the view query, if any.
 * - empty: The content to display if there are no rows.
 * - pager: The optional pager next/prev links to display.
 * - exposed: Exposed widget form/info to display.
 * - feed_icons: Optional feed icons to display.
 * - more: An optional link to the next page of results.
 * - title: Title of the view, only used when displaying in the admin preview.
 * - title_prefix: Additional output populated by modules, intended to be
 *   displayed in front of the view title.
 * - title_suffix: Additional output populated by modules, intended to be
 *   displayed after the view title.
 * - attachment_before: An optional attachment view to be displayed before the
 *   view content.
 * - attachment_after: An optional attachment view to be displayed after the
 *   view content.
 * - dom_id: Unique id for every view being printed to give unique class for
 *   Javascript.
 *
 * @see template_preprocess_views_view()
 */
#}
{% import "@belgrade/macros.twig" as svg %}

{%
  set classes = [
  'view',
  'view-' ~ id|clean_class,
  dom_id ? 'js-view-dom-id-' ~ dom_id,
  'mb-5'
]
%}

<div{{ attributes.addClass(classes) }}>
  {{ title_prefix }}
  {{ title }}
  {{ title_suffix }}

  {% if header %}
    <header>
      {{ header }}
    </header>
  {% endif %}

  {% if exposed %}
  <div class="accordion accordion-flush mb-4">
    <div class="accordion-item">
      <h2 class="accordion-header">
        <button class="accordion-button border-bottom collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#accordionFilter" aria-expanded="false" aria-controls="flush-collapseOne">
          {{ svg.getIcon('filter-circle-fill', 24, 24, 'me-2') }} {{ "Filters & search"|t }}
        </button>
      </h2>
      <div id="accordionFilter" class="accordion-collapse collapse" aria-labelledby="flush-headingOne">
        <div class="accordion-body fs-sm">
          {{ exposed }}
        </div>
      </div>
    </div>
  </div>
  {% endif %}

  {{ attachment_before }}

  {% if rows -%}
    <div class="row g-4">
      {{ rows }}
    </div>
  {% elseif empty -%}
    {{ empty }}
  {% endif %}
  {{ pager }}

  {{ attachment_after }}
  {{ more }}

  {% if footer %}
    <footer>
      {{ footer }}
    </footer>
  {% endif %}

  {{ feed_icons }}
</div>
