

{% capture breakpoints %}
  {% if section.settings.limit >= 5 %}
    xo-breakpoints='
    {
      1200: {
        perView: {{ section.settings.limit | minus: 1}},
      },
      992: {
        perView: {{ section.settings.limit | minus: 2}},
      },
      576: {
        perView: 2,
      },
    }
    '
  {% else %}
    xo-breakpoints='
    {
      992: {
        perView: 3,
      },
      576: {
        perView: 2,
      },
    }
    '
  {% endif %}
{% endcapture %}

<section {% render 'section-attr' %}>
  <xo-container {% render 'section-layout' %}>
    <div class='instagram-v2__heading'>
      <xo-animate xo-cascade>
        <h2 class='instagram-v2__title'>{{ section.settings.title }}</h2>
      </xo-animate>
    </div>
    <xo-animate xo-cascade>
      <xo-instagram
        xo-open-mode='{{ section.settings.open_mode }}'
        xo-access-token='{{section.settings.access_token}}'
      >
        <xo-carousel
          xo-per-view='{{ section.settings.limit }}'
          xo-gap='0'
          xo-loop
          xo-speed='400'
          xo-hover-pause='true'
          {% if section.settings.auto_play %}
            xo-autoplay='5000'
          {% endif %}
          {{ breakpoints }}
        >
          <xo-carousel-inner>
            <xo-carousel-list role='list' aria-label='{{ 'general.slider.name' | t }}' class='instagram-v2__list'>
              {% if section.settings.access_token == blank %}
                {% assign slide_forloop = section.settings.limit | plus: 1 %}
                {% for i in (1..slide_forloop) %}
                  <xo-carousel-slide
                    class="instagram-v2__slide"
                    aria-roledescription='{{ 'sections.slideshow.slide' | t }}'
                    aria-label='{{ forloop.index }} {{ 'general.slider.of' | t }} {{ forloop.length }}'
                  >
                    <div class='instagram-v2__item'>
                      <img
                        src='{{ 'instagram' | append: i | append: '.jpg' | file_img_url: 'master' }}'
                        class='instagram-v2__image'
                        alt='instagram'
                        is='xo-lazyload'
                        loading='lazy'
                        width='1000'
                        height='1000'
                      >
                      <a href='https://www.instagram.com/' class='instagram-v2__image-layer' target='_blank'>
                        {{ section.settings.icon_image }}
                      </a>
                    </div>
                  </xo-carousel-slide>
                {% endfor %}
              {% else %}
                <xo-instagram-template>
                  <img class='instagram-v2__image' data-src='{ url }' alt='instagram' is='xo-lazyload' loading='lazy' width='1000' height='1000'>
                  <span class='instagram-v2__image-layer'>{{ section.settings.icon_image }}</span>
                </xo-instagram-template>
              {% endif %}
            </xo-carousel-list>
          </xo-carousel-inner>
        </xo-carousel>
      </xo-instagram>
    </xo-animate>
  </xo-container>
</section>

{% schema %}
{
  "name": "t:sections.instagram_v2.name",
  "tag": "section",
  "class": "section",
  "settings": [
    {
      "type": "select",
      "id": "width",
      "label": "t:sections.all.width.label",
      "default": "box",
      "options": [
        {
          "value": "box",
          "label": "t:sections.all.width.options__1.label"
        },
        {
          "value": "wide",
          "label": "t:sections.all.width.options__2.label"
        },
        {
          "value": "fullwidth",
          "label": "t:sections.all.width.options__3.label"
        }
      ]
    },
    {
      "type": "number",
      "id": "fullwidth_margin",
      "label": "t:sections.all.fullwidth_margin.label",
      "default": 0,
      "visible_if": "{{ section.settings.width == 'fullwidth' }}"
    },
    {
      "type": "text",
      "id": "title",
      "label": "t:sections.instagram_v2.settings.title.label",
      "default": "Instagram"
    },
    {
      "type": "text",
      "id": "access_token",
      "label": "t:sections.instagram_v2.settings.access_token.label",
      "info": "t:sections.instagram_v2.settings.access_token.info"
    },
    {
      "type": "select",
      "id": "open_mode",
      "label": "t:sections.instagram_v2.settings.open_mode.label",
      "default": "newtab",
      "options": [
        {
          "label": "t:sections.instagram_v2.settings.open_mode.option_1.label",
          "value": "modal"
        },
        {
          "label": "t:sections.instagram_v2.settings.open_mode.option_2.label",
          "value": "newtab"
        }
      ]
    },
    {
      "type": "range",
      "id": "limit",
      "min": 3,
      "max": 6,
      "step": 1,
      "label": "t:sections.instagram_v2.settings.limit.label",
      "default": 5
    },
    {
      "type": "checkbox",
      "id": "auto_play",
      "label": "t:sections.instagram_v2.settings.auto_play.label",
      "default": false
    },
    {
      "type": "header",
      "content": "t:sections.all.heading.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.color_scheme.label"
    },
    {
      "type": "select",
      "id": "background_type",
      "label": "t:sections.all.background_type.label",
      "options": [
        {
          "value": "color",
          "label": "t:sections.all.background_type.option__1.label"
        },
        {
          "value": "gradient",
          "label": "t:sections.all.background_type.option__2.label"
        },
        {
          "value": "image",
          "label": "t:sections.all.background_type.option__3.label"
        },
        {
          "value": "video",
          "label": "t:sections.all.background_type.option__4.label"
        }
      ],
      "default": "color"
    },
    {
      "type": "color",
      "id": "background_color",
      "label": "t:sections.all.background_color.label",
      "alpha": true,
      "visible_if": "{{ section.settings.background_type == 'color' }}"
    },
    {
      "type": "color_background",
      "id": "background_gradient",
      "label": "t:sections.all.background_gradient.label",
      "visible_if": "{{ section.settings.background_type == 'gradient' }}"
    },
    {
      "type": "number",
      "id": "background_margin",
      "label": "t:sections.all.background_margin.label",
      "default": 0
    },
    {
      "type": "number",
      "id": "padding_top",
      "label": "t:sections.all.padding_top.label",
      "default": 50
    },
    {
      "type": "number",
      "id": "padding_bottom",
      "label": "t:sections.all.padding_bottom.label",
      "default": 50
    }
  ],
  "presets": [
    {
      "name": "t:sections.instagram_v2.presets.name"
    }
  ]
}
{% endschema %}
