// JavaScript Document let Blink = true; let canUseLovelyButton = true; let GettingInfoAboutGame = []; // лист игр, ожидающих обновления информации о начале следующего тиража // Запускать при запуске формы index function IndexOnLoad() { // .lovely-game .games-container if (!istmUserId()) { // Пользователь не вошел. Значок "любимой игры" не отображается const selectLovelyGame = document.querySelectorAll('.custom-checkbox'); const cardTextContent = document.querySelectorAll('.text-cont'); selectLovelyGame.forEach(el => { el.style.display = 'none'; }); } else { const lovelyGames = document.querySelector('.lovely-games'); if (lovelyGames) { const childsContainer = Array.from( lovelyGames.querySelectorAll('.games-container .game-card') ); if (childsContainer.length === 0) { lovelyGames.classList.add('d-none'); document.querySelector("[data-filter='8']").classList.add('d-none'); } } } $('document').ready(() => { $('.filters__wrapper .games__filter') .sort((a, b) => $(a).data('filter') - $(b).data('filter')) .appendTo('.filters__wrapper'); (async function () { const buttons = document.querySelectorAll('.wheel__banner-button'); const wheelStartButton = document.querySelector('.wheel__start'); await fontLoader('Panton', 'https://rpo.logycom.kz/tm/static/fonts/panton/panton_regular.woff'); await fontLoader( 'PantonExtra', 'https://rpo.logycom.kz/tm/static/fonts/panton/panton_extrabold.woff' ); document.fonts.ready.then(() => { if ($('.active-menu').length == 0 && wheelSettings && wheelInterval === 0) { // Remove call open modal when page is loaded // wheelGame.openModal(); wheelGame.handeBannerModalOpen(document.querySelector('#anotherWheelBanner')); } document.querySelector('#anotherWheelBanner').addEventListener('click', () => wheelGame.openModal()); buttons.forEach(button => { if (wheelInterval == '0') { button.classList.add('enabled'); button.textContent = 'Крутить'; button.addEventListener('click', () => { wheelGame.handleCreateModal(); }); } else if (wheelInterval > 1) { wheelGame.setGrayScale(button); button.classList.add('waiting'); wheelGame.setTimer( button, element => { wheelGame.removeGrayScale(element) element.classList.remove('waiting'); element.classList.add('enabled'); element.textContent = 'Крутить'; wheelGame.openModal(); }, wheelInterval, undefined ); wheelGame.setTimer( wheelStartButton, element => { wheelGame.removeGrayScale(element) element.classList.remove('waiting'); element.classList.add('enabled'); element.textContent = 'Крутить'; wheelGame.openModal(); }, wheelInterval, undefined ); wheelGame.isSetWheelStartTimer = true; } else { button.textContent = 'Крутить'; } }); }); })(); // Cкрытие всех моментальных/быстротиражных лотерей $('.back-button').click(hideAllGames); }); const filters = Array.from(document.querySelectorAll('.games__filter')).filter(element => { if (element.dataset.filter === '0' || element.dataset.filter === '-1') { return false; } return element; }); if (filters.length === 0) { document.querySelector('.games__filters').classList.add('d-none'); } const filteredGames = document.querySelector('#filteredGames'); const filteredTitle = document.querySelector('#filteredTitle'); const allFilters = document.querySelectorAll('.games__filter'); // const buttonOpenMoreFilters = document.querySelector('#openMoreFilters'); // if (checkMobileDevice() && allFilters.length > 4) { // buttonOpenMoreFilters.style.display = 'block'; // allFilters.forEach((e, i) => { // if (i > 3 && !e.classList.contains('games__filter_more')) { // e.style.display = 'none'; // } // }) // } //Запоненость профиля if ($('#fProfileFull').length) { $('#fProfileFull1').html( $('#fProfileFull').html() == '0' ? 'Профиль, для зачисления выигрыша, не запонен' : 'Профиль, для зачисления выигрыша, запонен' ); $('#fProfileFull2').html( $('#fProfileFull').html() == '0' ? 'Заполнить' : 'Просмотреть' ); } // Фильтры $('div[data-filter]').on('click', function () { $('html, body').animate( { scrollTop: document.querySelector( `${checkMobileDevice() ? '#swiperMobile' : '#swiperDesktop'}` ).scrollHeight + document.querySelector('.cards-slider-wrapper').scrollHeight + 20, }, 500 ); const filterId = $(this).attr('data-filter'); if (filterId == -1) { allFilters.forEach((e, i) => { if (i > 2) { $(e).fadeIn(280); } }); // buttonOpenMoreFilters.style.display = 'none'; return; } else if (filterId == 0) { showMainGames(); } else { hideMainGames(); filteredTitle.textContent = this.textContent; filteredGames.innerHTML = ''; getFilteredGames(filterId, filteredGames); } $('div[data-filter]').each(function (i, a) { $(a).removeClass('active'); if (a.dataset.filter == filterId) { if (a.dataset.filter == 8) { $('.lovely-games').fadeOut(200); } else { $('.lovely-games').fadeIn(200); $(a).addClass('active'); } } }); }); function setHeaderBackground(background) { const header = document.querySelector('.header'); const logo = header.querySelector(".header__logo"); if (background) { logo.classList.add(background); } else { logo.classList = "logo header__logo" } } function getCurrentSlideTheme(swiper) { if (swiper.slides.length) { const image = swiper.slides[swiper.activeIndex] .querySelector('.card-image'); console.log(image, image.getAttribute("data-background")); const dataBg = swiper.slides[swiper.activeIndex] .querySelector('.card-image') .getAttribute('data-background'); if (dataBg) return dataBg; return false; } } // Слайдер var swiper = new Swiper('.swiper-container', { slidesPerView: 1, speed: 500, centeredSlides: true, grabCursor: true, loop: true, preloadImages: false, // Enable lazy loading lazy: { loadPrevNext: true }, pagination: { el: '.swiper-pagination', clickable: true, }, autoplay: { delay: 7000, disableOnInteraction: false, }, navigation: { nextEl: '.swiper__next', prevEl: '.swiper__prev', }, on: { slideChange: swiper => { if (checkMobileDevice()) { const currentBg = getCurrentSlideTheme(swiper); console.log(currentBg); setHeaderBackground(currentBg); } }, init: swiper => { if (checkMobileDevice()) { const currentBg = getCurrentSlideTheme(swiper); setHeaderBackground(currentBg); } }, }, }); SetOnClick(); // Обработка таймеров ticTimer(); setInterval(ticTimer, 500); } const isMobileDevice = () => { return document.documentElement.clientWidth < 1024; } const resize = (element) => { const currentElement = document.querySelector(element); if (isMobileDevice()) { currentElement.style.transform = `scale(${getScale(currentElement)}) translate(-50%)`; currentElement.style.transformOrigin = "0 0 0"; } else { currentElement.style.transform = `translate(-50%, -50%) scale(${getScale(currentElement)})`; currentElement.style.transformOrigin = "unset"; } } const getScale = (element) => { let scale; const containerWidth = isMobileDevice() ? element.offsetWidth : 1440; const containerHeight = isMobileDevice() ? document.documentElement.clientHeight : 974; if (isMobileDevice()) { scale = document.documentElement.clientWidth / containerWidth; } else { if (document.documentElement.clientWidth >= containerWidth) scale = 1; scale = Math.min(document.documentElement.clientWidth / containerWidth, document.documentElement.clientHeight / containerHeight) } return scale; } function getChancesTitle(type, name) { if (type === 0) { return "Лото Бокс"; } else if (type === 1) { return name; } else if (type === 2) { return "крути ещё"; } else if (type === 3) { return "удача впереди"; } } function fixType(type) { // пока оставлю тут // цвета из wheelSettings поэтому типы надо переделать if (type === 0) return 6 else if (type === 1) return 3 else if (type === 2) return 1 else if (type === 3) return 0 } function sectionBall(type) { const _type = fixType(type); const _wheelSetting = JSON.parse(wheelSettings); const color = _wheelSetting.find((item) => item.type === _type).color; switch (type) { case 0: return `