{{ 'section-slideshow-v2.css' | asset_url | stylesheet_tag }}

<div {% render 'section-attr' %}>
  <div class='slideshow-v2'>
    <div class='slideshow-v2__carousel'>
      <!-- list item -->
      <div class='slideshow-v2__list'>
        {% for block in section.blocks %}
          <div class='slideshow-v2__item'>
            {%- render 'image', image: block.settings.img -%}
            <div class='slideshow-v2__content'>
              <div class='slideshow-v2__title'>{{ block.settings.title }}</div>
              <div class='slideshow-v2__topic'>{{ block.settings.topic }}</div>
              <div class='slideshow-v2__des'>{{ block.settings.desc }}</div>
              <div class='slideshow-v2__buttons'>
                {% render 'button',
                  text: section.settings.button_text,
                  link: section.settings.button_link,
                  mode: section.settings.button_mode,
                  style: section.settings.button_style,
                  size: section.settings.button_size,
                  radius: section.settings.button_radius,
                  padding: section.settings.button_padding
                %}
              </div>
            </div>
          </div>
        {% endfor %}
      </div>
      <!-- list thumnail -->
      <div class='slideshow-v2__thumbnail'>
        {% for block in section.blocks %}
          <div class='slideshow-v2__item'>
            <img src="{{ block.settings.img | image_url }}" width='1000' height='1000' alt="img" />
          </div>
        {% endfor %}
      </div>
      <!-- next prev -->

      <div class='slideshow-v2__arrows'>
        <button id='prev'>{%- render 'icon', name: 'arrow-left', icon_size: '15' -%}</button>
        <button id='next'>{%- render 'icon', name: 'arrow-right', icon_size: '15' -%}</button>
      </div>
    </div>
  </div>
</div>

<script>
  //step 1: get DOM
  let nextDom = document.getElementById('next');
  let prevDom = document.getElementById('prev');

  let carouselDom = document.querySelector('.slideshow-v2__carousel');
  let SliderDom = carouselDom.querySelector('.slideshow-v2__carousel .slideshow-v2__list');
  let thumbnailBorderDom = document.querySelector('.slideshow-v2__carousel .slideshow-v2__thumbnail');
  let thumbnailItemsDom = thumbnailBorderDom.querySelectorAll('.slideshow-v2__item');
  let timeDom = document.querySelector('.slideshow-v2__carousel .slideshow-v2__time');

  thumbnailBorderDom.appendChild(thumbnailItemsDom[0]);
  let timeRunning = 1000;
  let timeAutoNext = 7000;

  nextDom.onclick = function () {
    showSlider('next');
  };

  prevDom.onclick = function () {
    showSlider('prev');
  };
  let runTimeOut;

  function showSlider(type) {
    let SliderItemsDom = SliderDom.querySelectorAll('.slideshow-v2__carousel .slideshow-v2__list .slideshow-v2__item');
    let thumbnailItemsDom = document.querySelectorAll('.slideshow-v2__carousel .slideshow-v2__thumbnail .slideshow-v2__item');

    if (type === 'next') {
      SliderDom.appendChild(SliderItemsDom[0]);
      thumbnailBorderDom.appendChild(thumbnailItemsDom[0]);
      carouselDom.classList.add('next');
    } else {
      SliderDom.prepend(SliderItemsDom[SliderItemsDom.length - 1]);
      thumbnailBorderDom.prepend(thumbnailItemsDom[thumbnailItemsDom.length - 1]);
      carouselDom.classList.add('prev');
    }
    clearTimeout(runTimeOut);
    runTimeOut = setTimeout(() => {
      carouselDom.classList.remove('next');
      carouselDom.classList.remove('prev');
    }, timeRunning);
  }
</script>

{% schema %}
{
  "name": "t:sections.slideshow_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": "header",
      "content": "t:sections.all.button_heading.content"
    },
    {
      "type": "text",
      "id": "button_text",
      "label": "t:sections.all.button_text.label",
      "default": "ALL PRODUCTS"
    },
    {
      "type": "url",
      "id": "button_link",
      "label": "t:sections.all.button_link.label",
      "default": "/collections/all"
    },
    {
      "type": "select",
      "id": "button_mode",
      "label": "t:sections.all.button_mode.label",
      "options": [
        {
          "value": "light",
          "label": "t:sections.all.button_mode.option__1.label"
        },
        {
          "value": "dark",
          "label": "t:sections.all.button_mode.option__2.label"
        }
      ],
      "default": "light"
    },
    {
      "type": "select",
      "id": "button_style",
      "label": "t:sections.all.button_style.label",
      "options": [
        {
          "value": "primary",
          "label": "t:sections.all.button_style.option__1.label"
        },
        {
          "value": "secondary",
          "label": "t:sections.all.button_style.option__2.label"
        },
        {
          "value": "tertiary",
          "label": "t:sections.all.button_style.option__3.label"
        },
        {
          "value": "link",
          "label": "t:sections.all.button_style.option__4.label"
        }
      ],
      "default": "secondary"
    },
    {
      "type": "select",
      "id": "button_size",
      "label": "t:sections.all.button_size.label",
      "options": [
        {
          "value": "xs",
          "label": "t:sections.all.button_size.option__0.label"
        },
        {
          "value": "sm",
          "label": "t:sections.all.button_size.option__1.label"
        },
        {
          "value": "md",
          "label": "t:sections.all.button_size.option__2.label"
        },
        {
          "value": "lg",
          "label": "t:sections.all.button_size.option__3.label"
        }
      ],
      "default": "sm"
    },
    {
      "type": "range",
      "id": "button_radius",
      "label": "t:sections.all.button_radius.label",
      "max": 4,
      "min": 0,
      "step": 0.2,
      "unit": "rem",
      "default": 0.8
    },
    {
      "type": "range",
      "id": "button_padding",
      "label": "t:sections.all.button_padding.label",
      "info": "t:sections.all.button_padding.info",
      "max": 10,
      "min": 0,
      "step": 0.2,
      "unit": "rem",
      "default": 1.4
    },
    {
      "type": "header",
      "content": "t:sections.all.heading.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.color_scheme.label"
    },
    {
      "type": "color",
      "id": "background_color",
      "label": "t:sections.all.bg_color.label"
    },
    {
      "type": "color_background",
      "id": "background_gradient",
      "label": "t:sections.all.bg_gradient.label"
    },
    {
      "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
    }
  ],
  "blocks": [
    {
      "type": "slideshow",
      "name": "t:sections.slideshow_v2.settings.name.label",
      "settings": [
        {
          "type": "image_picker",
          "id": "img",
          "label": "t:sections.slideshow_v2.settings.img.label"
        },
        {
          "type": "text",
          "id": "title",
          "label": "t:sections.slideshow_v2.settings.title.label",
          "default": "Title"
        },
        {
          "type": "text",
          "id": "topic",
          "label": "t:sections.slideshow_v2.settings.topic.label",
          "default": "Honey"
        },
        {
          "type": "richtext",
          "id": "desc",
          "label": "t:sections.slideshow_v2.settings.desc.label"
        }
      ]
    }
  ],
  "presets": [
    {
      "name": "t:sections.slideshow_v2.presets.name"
    }
  ]
}
{% endschema %}
