PageSourceSearch

https://gdekomfort.ru/templates/komfort/resource/js/rscomponent/productofday.js

js gdekomfort.ru collected 2026-10-05 02:26:16 UTC 4,367 bytes, 130 lines download raw bytes

1new class ProductsOfDay extends RsJsCore.classes.component {
2    constructor() {
3        super();
4        this.timer = null;
5    }
6
7    initSwipers() {
8        if (document.querySelector('.swiper-products-of-day')) {
9            document.querySelectorAll('.swiper-products-of-day').forEach(element => {
10                const swiper = new Swiper(element, {
11                    slidesPerView: 1,
12                    spaceBetween: 0,
13                    navigation: {
14                        nextEl: '.carousel__arrow--next',
15                        prevEl: '.carousel__arrow--prev',
16                    },
17                    breakpoints: {
18                        1200: {
19                            spaceBetween: 0,
20                            slidesPerView: 1
21                        },
22                        992: {
23                            spaceBetween: 12,
24                            slidesPerView: 3
25                        },
26                        768: {
27                            slidesPerView: 2,
28                            spaceBetween: 12
29                        },
30                    }
31                });
32            });
33        }
34    }
35
36    updateTimer = () => {
37        clearTimeout(this.timer);
38
39        if (document.querySelector('.product-card-timer__header-counter')) {
40            document.querySelectorAll('.product-card-timer__header-counter').forEach(element => {
41                let days = parseInt(element.dataset.days);
42                let hours = parseInt(element.dataset.hours);
43                let minutes = parseInt(element.dataset.minutes);
44                let seconds = parseInt(element.dataset.seconds);
45
46                let delta = (seconds + (minutes * 60) + (hours * 60 * 60) + (days * 60 * 60 * 24)) - 1;
47
48                let arr = {};
49
50                if (delta > 0) {
51                    arr['days'] = 0;
52                    if (delta > (60 * 60 * 24)) {
53                        arr['days'] = Math.floor(delta / (60 * 60 * 24));
54                    }
55
56                    let last_time = 0;
57
58                    if (arr['days'] > 0) {
59                        last_time = arr['days'] * (60 * 60 * 24);
60                    }
61
62                    if (arr['days'] < 10) {
63                        arr['days'] = "0" + arr['days'];
64                    }
65
66                    delta = delta - last_time;
67
68                    arr['hours'] = 0;
69
70                    if (delta > (60 * 60)) {
71                        arr['hours'] = Math.floor(delta / (60 * 60));
72                    }
73
74                    last_time = 0;
75
76                    if (arr['hours'] > 0) {
77                        last_time = arr['hours'] * (60 * 60);
78                    }
79
80                    if (arr['hours'] < 10) {
81                        arr['hours'] = "0" + arr['hours'];
82                    }
83
84                    delta = delta - last_time;
85
86                    arr['minutes'] = 0;
87                    if (delta > (60)) {
88                        arr['minutes'] = Math.floor(delta / (60));
89                    }
90
91                    last_time = 0;
92
93                    if (arr['minutes'] > 0) {
94                        last_time = arr['minutes'] * (60);
95                    }
96
97                    if (arr['minutes'] < 10) {
98                        arr['minutes'] = "0" + arr['minutes'];
99                    }
100
101                    delta = delta - last_time;
102
103                    arr['seconds'] = delta;
104                    if (arr['seconds'] < 10) {
105                        arr['seconds'] = "0" + arr['seconds'];
106                    }
107
108                    element.dataset.days = arr['days'];
109                    element.dataset.hours = arr['hours'];
110                    element.dataset.minutes = arr['minutes'];
111                    element.dataset.seconds = arr['seconds'];
112
113                    element.innerText = arr['hours'] + ' : ' + arr['hours'] + ' : ' + arr['seconds'];
114
115                } else {
116                    element.innerText = '00 : 00 : 00';
117                }
118            });
119        }
120
121        this.timer = setTimeout(this.updateTimer, 1000);
122    }
123
124    onDocumentReady() {
125        this.initSwipers();
126
127        clearTimeout(this.timer);
128        this.timer = setTimeout(this.updateTimer, 1000);
129    }
130};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.