New menu.
[wolnelektury.git] / src / wolnelektury / static / 2021 / scripts / main.js
1 // JS Menu
2 (function () {
3   let button = $('.js-menu');
4   let menu = $('.l-navigation');
5   let menuLinks = menu.find('a');
6
7   button.on('click', function() {
8     if(!$(this).hasClass('is-active')) {
9       $(this).addClass('is-active');
10       menu.addClass('is-open');
11             $('body').addClass('is-open');
12       button.find('.bar').addClass('animate');
13       menuLinks.attr('tabindex', 0);
14     } else {
15       $(this).removeClass('is-active');
16       menu.removeClass('is-open');
17             $('body').removeClass('is-open');
18       button.find('.bar').removeClass('animate');
19       menuLinks.attr('tabindex', -1);
20     }
21   });
22
23   $(document).keyup(function(e) {
24     if (e.keyCode === 27) {
25       button.removeClass('is-active');
26       menu.removeClass('is-open');
27             $('body').removeClass('is-open');
28       button.find('.bar').removeClass('animate');
29       menuLinks.attr('tabindex', -1);
30     }
31   });
32 })();
33
34 /// Ebook/Audiobook Btns
35 (function() {
36   let button = $('.c-media__btn button:not(.l-button--media--full)');
37   let popupLayer = $('.c-media__popup');
38   let closeButton = $('.c-media__popup__close');
39   let playButton = $('.c-player__btn--md');
40   let chaptersButton = $('.c-player__chapters span');
41   let select = $('.c-select');
42   let selectItem = $('.c-select li');
43   let volumeButton = $('.icon-volume');
44
45   button.on('click', function () {
46     let target = $(this).attr('id');
47     $('[data-popup=' + target).addClass('is-open');
48     $('body').addClass('popup-open');
49   });
50
51   closeButton.on('click', function() {
52     $(this).closest('.c-media__popup').removeClass('is-open');
53     $('body').removeClass('popup-open');
54   });
55
56   popupLayer.on('click', function(e) {
57     let _this = $(this);
58     if($(e.target).is(popupLayer)) {
59       _this.removeClass('is-open');
60       $('body').removeClass('popup-open');
61     }
62   });
63
64   chaptersButton.on('click', function() {
65     $(this).parent().toggleClass('is-active');
66   });
67
68   select.on('click', function() {
69     $(this).toggleClass('is-active');
70   });
71
72   selectItem.on('click', function() {
73     selectItem.removeClass('is-active');
74     $(this).addClass('is-active');
75   });
76
77   $(document).keyup(function(e) {
78     if (e.keyCode === 27) {
79       $('.c-media__popup').removeClass('is-open');
80     }
81   });
82 })();
83
84
85 // Quotes slider
86 (function () {
87   let slider = $('.l-author__quotes__slider');
88
89   slider.slick({
90     slidesToScroll: 1,
91     slidesToShow: 1,
92     infinite: true,
93     dots: true,
94     arrows: false,
95     autoplay: true,
96     autoplaySpeed: 2500
97   });
98 })();
99
100 // Text overlay toggler
101 (function () {
102   let overlays = $('.l-article__overlay');
103   let button = $('.l-article__read-more');
104
105   overlays.each(function () {
106     let maxHeight = $(this).attr('data-max-height');
107     if($(this).outerHeight() > maxHeight) {
108       $(this).css({'maxHeight': maxHeight+'px'}).addClass('is-active');
109     } else {
110       $(this).next('.l-article__read-more').hide();
111     }
112   });
113
114   button.on('click', function() {
115     let dataLabel = $(this).attr('data-label');
116     let dataAction = $(this).attr('data-action');
117     $(this).parent().find('.l-article__overlay').toggleClass('is-clicked');
118     if($(this).text() === dataLabel) {
119       $(this).text(dataAction);
120     } else {
121       $(this).text(dataLabel);
122     }
123   });
124 })();
125
126 //Zmieniamy siÄ™ popup
127 (function() {
128   let $change = $('.l-change-pop');
129   function change() {
130     if(localStorage.getItem('change') === null) {
131       $change.addClass('show');
132     } else {
133       $change.remove();
134       return false;
135     }
136
137     $change.on('click', '.l-change-pop__close', function () {
138       $change.slideUp();
139       localStorage.setItem('change', 'showed');
140     });
141   }
142
143   if($change.length) { change(); }
144
145
146     function quit_experiment() {
147         document.cookie = 'EXPERIMENT_layout=off; path=/; max-age=31536000';
148         window.location.reload(true);
149     }
150     $(".quit-experiment").click(quit_experiment);
151
152 })();
153
154 (function() {
155     $('.l-checkout__payments__box button').on('click', function() {
156         let container = $(this).closest('.l-checkout__payments');
157         $('input', container).val($(this).val());
158         $('.is-active', container).removeClass('is-active');
159         $(this).closest('.l-checkout__payments__box').addClass('is-active');
160         $('#kwota').val('');
161         return false;
162     });
163     
164 })();
165
166
167 //Copy function
168 (function() {
169   let $copy = $('.js-copy');
170
171   $copy.on('click', function() {
172     let $copyText = $(this).closest('.l-checkout__info__item').find('input');
173     $copyText.select();
174     document.execCommand('copy');
175   });
176 })();