{{- define "main" -}}

{{ partial "page_header.html" . }}

<div class="universal-wrapper">
  <div class="row">
    <div class="col-lg-12">

      {{ with .Content }}
      <div class="article-style">{{ . }}</div>
      {{ end }}

      {{/* Array of distinct years. */}}
      {{ range .Pages.ByDate.Reverse }}
        {{ $year := print (.Date.Format "2006") }}
        {{ $.Scratch.SetInMap "years" $year $year }}
      {{ end }}

      <div class="form-row mb-4">
        <div class="col-auto">
          <input type="search" class="filter-search" placeholder="{{ i18n "search_placeholder" }}" autocapitalize="off"
          autocomplete="off" autocorrect="off" role="textbox" spellcheck="false">
        </div>
        <div class="col-auto">
          <select class="pub-filters pubtype-select form-control form-control-sm" data-filter-group="pubtype">
            <option value="*">{{ i18n "publication_type" }}</option>
            {{ $pub_types := partial "functions/get_pub_types" $ }}
            {{ range $index, $taxonomy := site.Taxonomies.publication_types }}
            <option value=".pubtype-{{ (int $index) }}">
              {{ index $pub_types (int $index) }}
            </option>
            {{ end }}
          </select>
        </div>
        <div class="col-auto">
          <select class="pub-filters form-control form-control-sm" data-filter-group="year">
            <option value="*">{{ i18n "date" }}</option>
            {{ $years_sorted := $.Scratch.GetSortedMapValues "years" }}
            {{ if $years_sorted }}
            {{ range $year := sort $years_sorted "" "desc" }}
            <option value=".year-{{ $year }}">
              {{ $year }}
            </option>
            {{ end }}
            {{ end }}
          </select>
        </div>
      </div>

      <div id="container-publications">
        {{ range .Pages.ByDate.Reverse }}

        {{ if .Params.publication_types }}
          {{ $.Scratch.Set "pubtype" (index .Params.publication_types 0) }}
        {{ else }}
          {{ $.Scratch.Set "pubtype" 0 }}
        {{ end }}

        <div class="grid-sizer col-lg-12 isotope-item pubtype-{{ $.Scratch.Get "pubtype" }} year-{{ .Date.Format "2006" }}">
          {{ if eq $.Params.view 1 }}
            {{ partial "li_list" . }}
          {{ else if eq $.Params.view 3 }}
            {{ partial "li_card" . }}
          {{ else if eq $.Params.view 4 }}
            {{ partial "li_citation" . }}
          {{ else }}
            {{ partial "li_compact" . }}
          {{ end }}
        </div>

        {{ end }}
      </div>

    </div>
  </div>
</div>

{{- end -}}