Working 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 // User menu.
35 (function() {
36     let button = $('.l-navigation__actions .user');
37     let menu = $('#user-menu');
38     let menuLinks = menu.find('a');
39
40     button.on('click', function() {
41         if (!menu.hasClass('is-open')) {
42             menu.addClass('is-open');
43             menuLinks.attr('tabindex', 0);
44         } else {
45             menu.removeClass('is-open');
46             menuLinks.attr('tabindex', -1)
47         }
48         return false;
49     });
50
51     $(document).keyup(function(e) {
52         if (e.keyCode === 27) {
53             menu.removeClass('is-open');
54             menuLinks.attr('tabindex', -1);
55         }
56     });
57
58     $(document).click(function() {
59       menu.removeClass('is-open');
60       menuLinks.attr('tabindex', -1);
61     });
62
63 })();
64
65 /// Ebook/Audiobook Btns
66 (function() {
67   let button = $('.c-media__btn button:not(.l-button--media--full)');
68   let popupLayer = $('.c-media__popup');
69   let closeButton = $('.c-media__popup__close');
70   let playButton = $('.c-player__btn--md');
71   let chaptersButton = $('.c-player__chapters span');
72   let select = $('.c-select');
73   let selectItem = $('.c-select li');
74   let volumeButton = $('.icon-volume');
75
76   button.on('click', function () {
77     let target = $(this).attr('id');
78     $('[data-popup=' + target).addClass('is-open');
79     $('body').addClass('popup-open');
80   });
81
82   closeButton.on('click', function() {
83     $(this).closest('.c-media__popup').removeClass('is-open');
84     $('body').removeClass('popup-open');
85   });
86
87   popupLayer.on('click', function(e) {
88     let _this = $(this);
89     if($(e.target).is(popupLayer)) {
90       _this.removeClass('is-open');
91       $('body').removeClass('popup-open');
92     }
93   });
94
95   chaptersButton.on('click', function() {
96     $(this).parent().toggleClass('is-active');
97   });
98
99   select.on('click', function() {
100     $(this).toggleClass('is-active');
101   });
102
103   selectItem.on('click', function() {
104     selectItem.removeClass('is-active');
105     $(this).addClass('is-active');
106   });
107
108   $(document).keyup(function(e) {
109     if (e.keyCode === 27) {
110       $('.c-media__popup').removeClass('is-open');
111     }
112   });
113 })();
114
115
116 // Quotes slider
117 (function () {
118   let slider = $('.l-author__quotes__slider');
119
120   slider.slick({
121     slidesToScroll: 1,
122     slidesToShow: 1,
123     infinite: true,
124     dots: true,
125     arrows: false,
126     autoplay: true,
127     autoplaySpeed: 2500
128   });
129 })();
130
131 // Text overlay toggler
132 (function () {
133   let overlays = $('.l-article__overlay');
134   let button = $('.l-article__read-more');
135
136   overlays.each(function () {
137     let maxHeight = $(this).attr('data-max-height');
138     if($(this).outerHeight() > maxHeight) {
139       $(this).css({'maxHeight': maxHeight+'px'}).addClass('is-active');
140     } else {
141       $(this).next('.l-article__read-more').hide();
142     }
143   });
144
145   button.on('click', function() {
146     let dataLabel = $(this).attr('data-label');
147     let dataAction = $(this).attr('data-action');
148     $(this).parent().find('.l-article__overlay').toggleClass('is-clicked');
149     if($(this).text() === dataLabel) {
150       $(this).text(dataAction);
151     } else {
152       $(this).text(dataLabel);
153     }
154   });
155 })();
156
157 //Zmieniamy siÄ™ popup
158 (function() {
159   let $change = $('.l-change-pop');
160   function change() {
161     if(localStorage.getItem('change') === null) {
162       $change.addClass('show');
163     } else {
164       $change.remove();
165       return false;
166     }
167
168     $change.on('click', '.l-change-pop__close', function () {
169       $change.slideUp();
170       localStorage.setItem('change', 'showed');
171     });
172   }
173
174   if($change.length) { change(); }
175
176
177     function quit_experiment() {
178         document.cookie = 'EXPERIMENT_layout=off; path=/; max-age=31536000';
179         window.location.reload(true);
180     }
181     $(".quit-experiment").click(quit_experiment);
182
183 })();
184
185 (function() {
186     $('.l-checkout__payments__box button').on('click', function() {
187         let container = $(this).closest('.l-checkout__payments');
188         $('input', container).val($(this).val());
189         $('.is-active', container).removeClass('is-active');
190         $(this).closest('.l-checkout__payments__box').addClass('is-active');
191         $('#kwota').val('');
192         return false;
193     });
194     
195 })();
196
197
198 //Copy function
199 (function() {
200   let $copy = $('.js-copy');
201
202   $copy.on('click', function() {
203     let $copyText = $(this).closest('.l-checkout__info__item').find('input');
204     $copyText.select();
205     document.execCommand('copy');
206   });
207 })();