<%
const timestamp = Date.now()
let slides
if (Array.isArray(opt.slides)) {
  slides = opt.slides.filter(({ start, end }) => {
    if (start && timestamp < new Date(start).getTime()) {
      return false
    }
    if (end && timestamp > new Date(end).getTime()) {
      return false
    }
    return true
  })
}

if (slides && slides.length) {
  const isBannerFullWidth = opt.full_width
  let style = ''
  let className = 'banner-slider'
  if (isBannerFullWidth) {
    className += ' banner-slider--full-width'
  }
  for (let i = 0; i < 2; i++) {
    const img = slides[0][i ? 'mobile_img' : 'img']
    if (img) {
      const { width, height } = _.tryImageSize(img)
      if (width) {
        style += '--banner-aspect-ratio'
        if (i > 0) {
          style += '-mobile'
        }
        style += `:${Math.ceil(height / width * 1000) / 1000};`
      }
    }
  }
  %>

  <div class="<%- className %>" style="<%- style %>">
    <div class="glide" data-autoplay="<%= opt.autoplay %>">
      <div class="glide__track" data-glide-el="track">
        <ul class="glide__slides banner-slider__slides">
          <% for (let i = 0; i < slides.length; i++) { %>
            <li class="glide__slide">
              <%- await include('@/sections/inc/banner', {
                _, opt: { ...slides[i], height_auto: true, sync_load: i === 0 }
              }) %>
            </li>
          <% } %>
        </ul>

        <% if (slides.length > 1) { %>
          <div class="glide__arrows d-none d-md-block" data-glide-el="controls">
            <button
              class="btn glide__arrow glide__arrow--left"
              data-glide-dir="<"
              aria-label="<%= _.dictionary('previous') %>"
            >
              <i class="i-chevron-left"></i>
            </button>
            <button
              class="btn glide__arrow glide__arrow--right"
              data-glide-dir=">"
              aria-label="<%= _.dictionary('next') %>"
            >
              <i class="i-chevron-right"></i>
            </button>
          </div>

          <div class="glide__bullets" data-glide-el="controls[nav]">
            <% slides.forEach((_, index) => { %>
              <button
                class="glide__bullet"
                data-glide-dir="=<%= index %>"
                aria-label="<%= `${(index + 1)}° banner` %>"
              ></button>
            <% }) %>
          </div>
        <% } %>
      </div>
    </div>
  </div>
<% } %>
