/* /$$ /$$ /$$$$ | $$ |_ $$ /$$$$$$$ /$$$$$$$$ | $$ /$$_____/ |__ $$__/ | $$ | $$$$$$ | $$ | $$ \____ $$ |__/ /$$$$$$ /$$$$$$$/ |______/|_______/ ================================ Keep calm and get rich. Is the best. */ function cookieExists(id) { return document.cookie.split(";").some((item) => item.includes(`${id}=`)); } // mobile Sidebar function toggleSidebar() { $(".mobile-close, .mobile-overlay").on("click", function () { $("body").removeClass("mobile-body"); $(".mobile-sidebar").removeClass("active"); $(".mobile-overlay").removeClass("active"); }); $(".aside-toggle").on("click", function () { $("body").addClass("mobile-body"); $(".mobile-sidebar").addClass("active"); $(".mobile-overlay").addClass("active"); }); } String.prototype.padStart = String.prototype.padStart ? String.prototype.padStart : function (targetLength, padString) { targetLength = Math.floor(targetLength) || 0; if (targetLength < this.length) return String(this); padString = padString ? String(padString) : " "; var pad = ""; var len = targetLength - this.length; var i = 0; while (pad.length < len) { if (!padString[i]) { i = 0; } pad += padString[i]; i++; } return pad + String(this).slice(0); }; if (typeof module !== "undefined" && module.exports) { module.exports = String.prototype.padStart; } var toggleHeight = $(window).outerHeight() * 2; $(window).scroll(function () { if ($(window).scrollTop() > toggleHeight) { $(".scroll-backtotop").addClass("active"); } else { $(".scroll-backtotop").removeClass("active"); } if ($(".site-header").length) { var innerHeight = window.innerHeight, mainHeight = $("body").innerHeight() - 300, $stickyNavbar = $(".site-header"); if (mainHeight > innerHeight) { if ($(window).scrollTop() > 150) { $stickyNavbar.addClass("is-sticky"); } else { $stickyNavbar.removeClass("is-sticky"); } } } if ($(".product-detail-summary").length) { var scrollTop = $(window).scrollTop(), productInfo = $(".product-detail-info").height(), contentHeight = $(".product-detail-content").height(), footerHeight = $(".site-footer").height(), hideHeight = contentHeight - footerHeight; if (scrollTop > productInfo) { $(".product-detail-summary").addClass("scroll"); if (scrollTop > hideHeight) { $(".product-detail-summary").removeClass("scroll"); } } else { $(".product-detail-summary").removeClass("scroll"); } } }); jQuery(document).ready(function ($) { toggleSidebar(); $('.mobile-menu .menu-item-has-children > a').append( '' ), $(document).on('click', '.mobile-menu .menu-item-has-children > a', function ( event ) { var i = $(this); i.siblings('.mobile-menu .sub-menu')[0] && (event.preventDefault(), i.parent().hasClass('in') ? (i.parent().removeClass('in'), i.parent().find('.in').removeClass('in'), i.parent().find('.sub-menu').stop(!0).slideUp(300)) : (i.closest('.in')[0] || (i.find('.menu-item-has-children.in .sub-menu').stop(!0).slideUp(300), i.find('.menu-item-has-children.in').removeClass('in')), i.parent().addClass('in'), i.parent().siblings('.in').find('.sub-menu').stop(!0).slideUp(300), i .parent() .siblings('.current-menu-parent') .find('.sub-menu') .stop(!0) .slideUp(300), i.parent().siblings('.in').removeClass('in'), i.siblings('.sub-menu').stop(!0).slideDown(300))); }); $(".scroll-backtotop-button").click(function (e) { e.preventDefault(); $("html, body").animate({ scrollTop: 0 }, "300"); }); /* site mobile-sidebar-tab-menu ---------------------------------------------------- */ if ($(".navbar-site li").hasClass("menu-item-has-children")) { $(".navbar-site .menu-item-has-children") .children("a") .append( '' ); } /* site aside toggle ---------------------------------------------------- */ $body = $("body"); $wrapper = $(".site-wrapper"); $aside = $(".site-aside"); $toggle_button = $(".aside-toggle"); $toggle_button.click(function () { $body.toggleClass("overflow"); $wrapper.toggleClass("close"); $aside.toggleClass("close"); $toggle_button.toggleClass("active"); }); /* site aside menu ---------------------------------------------------- */ $(".aside-menu>li.menu-item-has-children>a").append( '' ); $(".aside-menu>li.menu-item-has-children>a").on("click", function () { $(".aside-menu>li.menu-item-has-children>a").removeClass("active"); $(".aside-menu>li>ul").slideUp("normal"); if ($(this).next().is(":hidden") == true) { $(this).addClass("active"); $(this).parent().addClass("active"); $(this).parent().siblings(".active").removeClass("active"); $(this).next().slideDown("normal"); } }); $(".aside-menu>li>ul").hide(); if ($(".slide-section").length) { new Swiper(".slide-section .swiper", { slidesPerView: 1, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, pagination: { el: ".slide-section .swiper-pagination", }, }); } if ($(".partners-section").length) { new Swiper(".partners-section .swiper", { slidesPerView: 4, spaceBetween: 30, loop: true, autoplay: { delay: 5000, disableOnInteraction: false, }, pagination: { el: ".partners-section .swiper-pagination", clickable: true, }, breakpoints: { 320: { slidesPerView: 2, slidesPerGroup: 2, spaceBetween: 20, }, 640: { slidesPerView: 3, slidesPerGroup: 3, spaceBetween: 20, }, 1200: { slidesPerView: 4, slidesPerGroup: 4, spaceBetween: 30, }, }, }); } $(document).on("click", ".single-popup", function (event) { event.preventDefault(); var img = $(this).data("img"); var title = $(this).data("title"); var desc = $(this).data("desc"); var html = '
' + title + '
\
(' + desc + ')
\ ' +
            title +
            '\
'; ncPopup("small", html); }); }); if ($(".search-popup").length) { var $headerSearchOpen = $(".search-popup-trigger"), $headerSearchClose = $(".search-popup-close"), $headerSearchForm = $(".search-popup"), $headerSearchOverlay = $(".search-popup-overlay"); $headerSearchOpen.on("click", function () { $headerSearchForm.addClass("active"); }); $headerSearchClose.on("click", function () { $headerSearchForm.removeClass("active"); }); $headerSearchOverlay.on("click", function () { $headerSearchForm.removeClass("active"); }); $(document).keyup(function (event) { if (event.which == "27") { $headerSearchForm.removeClass("active"); } }); } if ($(".js-count-up").length) { document.querySelectorAll(".js-count-up").forEach((element) => { const { start, end, decimals, duration } = element.dataset; const countUp = new CountUp( element, start, end, decimals, duration, element.dataset ); new Waypoint({ element, handler: (direction) => { if (direction === "down") { countUp.start(); } }, offset: "95%" }); }); } document.addEventListener("alpine:init", () => { Alpine.data("postMetaData", () => ({ loading: false, init() { this.liked = cookieExists("suxing_ding_" + this.postId); }, like() { if (this.loading) return; this.loading = true; $.ajax({ url: globals.ajax_url, type: "post", dataType: "json", data: { action: "like-post", id: this.postId, }, }) .done((res) => { this.liked = !this.liked; this.likesCount = +res.data; if (res.status === 200) { ncPopupTips(1, res.msg); } else { ncPopupTips(0, res.msg); } }) .fail(() => { ncPopupTips(0, __og__.network_error); }) .always(() => { this.loading = false; }); }, })); Alpine.data("postsAjaxData", () => ({ loading: false, reachEnd: false, currentCat: 0, posts: [], nextPage() { if (this.reachEnd || this.loading) return; this.loading = true; $.ajax({ url: globals.rest_url + (this.payload.endpoint || "wp/v2/posts"), type: "GET", dataType: "json", data: this.payload, }) .done((data) => { if (this.payload.page) { this.payload.page += 1; } if (Array.isArray(data) && data.length === 0) { this.reachEnd = true; return; } this.posts = this.posts.concat(data); }) .fail((data) => { const json = data.responseJSON; if (json.code === "rest_post_invalid_page_number") { this.reachEnd = true; return; } ncPopupTips(0, json.message); }) .always(() => { this.loading = false; }); }, })); Alpine.data("indexProductsSectionAjaxData", () => ({ loading: false, currentCat: 0, posts: [], load(cat) { this.loading = true; this.payload.cat = cat; this.currentCat = cat; $.ajax({ url: globals.rest_url + "wp/v2/product", type: "GET", dataType: "json", data: this.payload, }) .done((data) => { const blockSectionRow = this.$refs[this.refId].querySelector(".list-product"); if (blockSectionRow) blockSectionRow.remove(); this.posts = data; }) .fail((data) => { const json = data.responseJSON; if (json.code === "rest_post_invalid_page_number") { return; } ncPopupTips(0, json.message); }) .always(() => { this.loading = false; }); }, })); });