Main page.
[wolnelektury.git] / src / wolnelektury / static / 2021 / scripts / main.js
index c456b6c..97ac9a3 100644 (file)
@@ -1,18 +1,20 @@
 // JS Menu
 (function () {
   let button = $('.js-menu');
-  let menu = $('.l-navigation__menu');
+  let menu = $('.l-navigation');
   let menuLinks = menu.find('a');
 
   button.on('click', function() {
     if(!$(this).hasClass('is-active')) {
       $(this).addClass('is-active');
       menu.addClass('is-open');
+      $('body').addClass('is-open');
       button.find('.bar').addClass('animate');
       menuLinks.attr('tabindex', 0);
     } else {
       $(this).removeClass('is-active');
       menu.removeClass('is-open');
+      $('body').removeClass('is-open');
       button.find('.bar').removeClass('animate');
       menuLinks.attr('tabindex', -1);
     }
     if (e.keyCode === 27) {
       button.removeClass('is-active');
       menu.removeClass('is-open');
+      $('body').removeClass('is-open');
       button.find('.bar').removeClass('animate');
       menuLinks.attr('tabindex', -1);
     }
   });
 })();
 
+// User menu.
+(function() {
+    let button = $('.l-navigation__actions .user');
+    let menu = $('#user-menu');
+    let menuLinks = menu.find('a');
+
+    button.on('click', function() {
+        if (!menu.hasClass('is-open')) {
+            menu.addClass('is-open');
+            menuLinks.attr('tabindex', 0);
+        } else {
+            menu.removeClass('is-open');
+            menuLinks.attr('tabindex', -1)
+        }
+        return false;
+    });
+
+    $(document).keyup(function(e) {
+        if (e.keyCode === 27) {
+            menu.removeClass('is-open');
+            menuLinks.attr('tabindex', -1);
+        }
+    });
+
+    $(document).click(function() {
+      menu.removeClass('is-open');
+      menuLinks.attr('tabindex', -1);
+    });
+
+})();
+
 // Ebook/Audiobook Btns
 (function() {
   let button = $('.c-media__btn button:not(.l-button--media--full)');
   let selectItem = $('.c-select li');
   let volumeButton = $('.icon-volume');
 
-  playButton.on('click', function() {
-    if($(this).find('.icon').hasClass('icon-play')) {
-      $(this).find('.icon-play').removeClass('icon-play').addClass('icon-pause');
-    } else if($(this).find('.icon').hasClass('icon-pause')) {
-      $(this).find('.icon-pause').removeClass('icon-pause').addClass('icon-play');
-    }
-  });
-
   button.on('click', function () {
     let target = $(this).attr('id');
     $('[data-popup=' + target).addClass('is-open');
     $(this).addClass('is-active');
   });
 
-  volumeButton.on('click', function() {
-    if($(this).hasClass('icon-volume')) {
-      $(this).removeClass('icon-volume').addClass('icon-mute');
-      $(this).next().val(0);
-      $(this).next().css('background-size', '0% 100%');
-    } else if($(this).hasClass('icon-mute')) {
-      $(this).removeClass('icon-mute').addClass('icon-volume');
-      $(this).next().val(50);
-      $(this).next().css('background-size', '50% 100%');
-    }
-  });
-
   $(document).keyup(function(e) {
     if (e.keyCode === 27) {
       $('.c-media__popup').removeClass('is-open');
   });
 })();
 
-// Range
-const rangeInputs = document.querySelectorAll('input[type="range"]')
+// Homepage books sliders
+(function () {
+  let shelfSlider = $('.l-your-books__shelf .l-books');
+  let shelfNextSlide = $('.l-your-books__shelf .js-next-slide');
+  let shelfPrevSlide = $('.l-your-books__shelf .js-prev-slide');
+  let shelfCollapse = $('.l-your-books__shelf .js-collapse');
 
-function handleInputChange(e) {
-  let target = e.target
-  if (e.target.type !== 'range') {
-    target = document.getElementById('range')
-  }
-  const min = target.min
-  const max = target.max
-  const val = target.value
+  shelfSlider.slick({
+    slidesToScroll: 1,
+    slidesToShow: 4,
+    infinite: false,
+    dots: false,
+    arrows: false,
+    autoplay: false,
+    responsive: [
+      {
+        breakpoint: 768,
+        settings: {
+          centerMode: false,
+          slidesToShow: 1
+        }
+      }
+    ]
+  });
+
+  shelfNextSlide.on('click', function (event) {
+    event.preventDefault();
+    shelfSlider.slick('slickNext');
+  });
 
-  target.style.backgroundSize = (val - min) * 100 / (max - min) + '% 100%'
-}
+  shelfPrevSlide.on('click', function (event) {
+    event.preventDefault();
+    shelfSlider.slick('slickPrev');
+  });
+
+  shelfCollapse.on('click', function (event) {
+    event.preventDefault();
+    shelfSlider.slick('slickPrev');
+  });
+
+  let collectionsSlider = $('.js-collections .l-books');
+  let collectionsNextSlide = $('.js-collections .js-next-slide');
+  let collectionsPrevSlide = $('.js-collections .js-prev-slide');
 
-rangeInputs.forEach(input => {
-  input.addEventListener('input', handleInputChange)
-});
+  collectionsSlider.slick({
+    slidesToScroll: 1,
+    slidesToShow: 5,
+    infinite: false,
+    dots: false,
+    arrows: false,
+    autoplay: false,
+    responsive: [
+      {
+        breakpoint: 768,
+        settings: {
+          centerMode: false,
+          slidesToShow: 2
+        }
+      }
+    ]
+  });
+
+  collectionsNextSlide.on('click', function (event) {
+    event.preventDefault();
+    collectionsSlider.slick('slickNext');
+  });
+
+  collectionsPrevSlide.on('click', function (event) {
+    event.preventDefault();
+    collectionsSlider.slick('slickPrev');
+  });
+
+  let newBooksSlider = $('.js-new-books-slider .l-books');
+  let newBooksNextSlide = $('.js-new-books-slider .js-next-slide');
+  let newBooksPrevSlide = $('.js-new-books-slider .js-prev-slide');
+
+  newBooksSlider.slick({
+    slidesToScroll: 1,
+    slidesToShow: 5,
+    infinite: false,
+    dots: false,
+    arrows: false,
+    autoplay: false,
+    responsive: [
+      {
+        breakpoint: 768,
+        settings: {
+          centerMode: false,
+          slidesToShow: 2
+        }
+      }
+    ]
+  });
+
+  newBooksNextSlide.on('click', function (event) {
+    event.preventDefault();
+    newBooksSlider.slick('slickNext');
+  });
+
+  newBooksPrevSlide.on('click', function (event) {
+    event.preventDefault();
+    newBooksSlider.slick('slickPrev');
+  });
+})();
 
 // Quotes slider
 (function () {
@@ -130,6 +230,29 @@ rangeInputs.forEach(input => {
     autoplay: true,
     autoplaySpeed: 2500
   });
+
+
+  let sliderHomepage = $('.l-quotes');
+  sliderHomepage.slick({
+    slidesToShow: 1,
+    centerMode: true,
+    centerPadding: '250px',
+    infinite: true,
+    dots: true,
+    arrows: false,
+    autoplay: true,
+    autoplaySpeed: 2500,
+    responsive: [
+      {
+        breakpoint: 768,
+        settings: {
+          centerMode: false,
+          slidesToShow: 1
+        }
+      }
+    ]
+  });
+
 })();
 
 // Text overlay toggler
@@ -176,22 +299,29 @@ rangeInputs.forEach(input => {
   }
 
   if($change.length) { change(); }
-})();
 
-//Switch
-(function() {
-  let $switchOnce = $('#switch-once');
-  let $switchMonthly = $('#switch-monthly');
 
-  $switchMonthly.on('click', function() {
-    $('.l-checkout__payments__box').removeClass('once');
-  });
+    function quit_experiment() {
+        document.cookie = 'EXPERIMENT_layout=off; path=/; max-age=31536000';
+        window.location.reload(true);
+    }
+    $(".quit-experiment").click(quit_experiment);
 
-  $switchOnce.on('click', function() {
-    $('.l-checkout__payments__box').addClass('once');
-  });
 })();
 
+(function() {
+    $('.l-checkout__payments__box button').on('click', function() {
+        let container = $(this).closest('.l-checkout__payments');
+        $('input', container).val($(this).val());
+        $('.is-active', container).removeClass('is-active');
+        $(this).closest('.l-checkout__payments__box').addClass('is-active');
+        $('#kwota').val('');
+        return false;
+    });
+    
+})();
+
+
 //Copy function
 (function() {
   let $copy = $('.js-copy');