upskill-event-manager/assets/js/single-product-ajax-cart.min.js
Ben Reed cdc5ea85f4 feat: Add comprehensive CSS, JavaScript and theme asset infrastructure
Add massive collection of CSS, JavaScript and theme assets that were previously excluded:

**CSS Files (681 total):**
- HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup
- Theme framework files (Astra, builder systems, layouts): 200+ files
- Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files
- WordPress core and editor styles: 50+ files
- Responsive and RTL language support: 200+ files

**JavaScript Files (400+ total):**
- HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations
- Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope
- Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS
- WordPress core functionality: customizer, admin, block editor compatibility
- Third-party integrations: Stripe, SMTP, analytics, search functionality

**Assets:**
- Certificate background images and logos
- Comprehensive theme styling infrastructure
- Mobile-responsive design systems
- Cross-browser compatibility assets
- Performance-optimized minified versions

**Updated .gitignore:**
- Fixed asset directory whitelisting patterns to properly include CSS/JS/images
- Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.)
- Maintains security by excluding sensitive files while including essential assets

This commit provides the complete frontend infrastructure needed for:
- Full theme functionality and styling
- Plugin feature implementations
- Mobile responsiveness and accessibility
- Cross-browser compatibility
- Performance optimization
- Developer workflow support
2025-08-11 16:20:31 -03:00

1 line
No EOL
2.9 KiB
JavaScript

(o=>{null!=window.astra&&(astraSingleProductAjax={quick_view_enable:astra.shop_quick_view_enable||!1,ajax_add_to_cart_enable:astra.single_product_ajax_add_to_cart||!1,init:function(){this._bind()},_bind:function(){astraSingleProductAjax.ajax_add_to_cart_enable&&o(document).on("click","body.single-product .product:not(.product-type-external) button.single_add_to_cart_button, #sticky-add-to-cart .single_add_to_cart_button",astraSingleProductAjax._processAjaxRequest),astraSingleProductAjax.quick_view_enable&&o(document.body).on("click","#ast-quick-view-content .product:not(.product-type-external) button.single_add_to_cart_button",astraSingleProductAjax._processAjaxRequest),o(document.body).on("added_to_cart",astraSingleProductAjax._updateButton),o("form.variations_form").on("woocommerce_variation_has_changed",astraSingleProductAjax._updateSaleBadge)},_processAjaxRequest:function(a){a.preventDefault();a=o(this).closest("form");if(!a[0].checkValidity())return a[0].reportValidity(),!1;var t,e=o(this),r=o(this).val()||"";o('input[name="variation_id"]').val();e.hasClass("disabled")||(e.removeClass("added"),e.addClass("loading"),o('input[name="quantity"]').val(),o(".woocommerce-grouped-product-list-item").length&&(t=o("input.qty"),o.each(t,function(a,t){var e=o(this).attr("name");e=(e=e.replace("quantity[","")).replace("]",""),e=parseInt(e),o(this).val()&&(e,o(this).val())})),t=a.serialize(),o.ajax({url:astra.ajax_url,type:"POST",data:"action=astra_add_cart_single_product&add-to-cart="+r+"&"+t,success:function(a){if(0===a.length)return location.reload(),!1;o(document.body).trigger("wc_fragment_refresh"),o(document.body).trigger("added_to_cart",[a.fragments,a.cart_hash,e]),astra.is_single_product&&(a=o("#astra-mobile-cart-drawer"),"slide_in_cart"===astra.add_to_cart_options_single&&a&&(a.addClass("active"),o("html").addClass("ast-mobile-cart-active")),"redirect_cart_page"===astra.add_to_cart_options_single&&window.open(astra.cart_url,"_self"),"redirect_checkout_page"===astra.add_to_cart_options_single&&window.open(astra.checkout_url,"_self"),"default"===astra.add_to_cart_options_single)&&"undefined"!=typeof wc_add_to_cart_params&&"yes"===wc_add_to_cart_params.cart_redirect_after_add&&(window.location=wc_add_to_cart_params.cart_url)}}))},_updateButton:function(a,t,e,r){r=void 0!==r&&r,o("button.single_add_to_cart_button").length&&(o(r).removeClass("loading"),o(r).addClass("added"),astra.is_cart||0!==o(r).parent().find(".added_to_cart").length||o(r).after(' <a href="'+astra.cart_url+'" class="added_to_cart wc-forward" title="'+astra.view_cart+'">'+astra.view_cart+"</a>"),o(document.body).trigger("wc_cart_button_updated",[r]))},_updateSaleBadge:function(a){var t,e,r=o(this),d=r.find(".variation_id").val();""!=d&&"sale-percentage"==(r=r.closest(".product-type-variable").find("span.onsale")).data("notification")&&void 0!==(t=r.data("sale"))[d]&&(e=(e=r.data("sale-per-text")).replace("[value]",t[d]),r.text(e))}},o(function(){astraSingleProductAjax.init()}))})(jQuery);