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