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
		
			
				
	
	
		
			45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			No EOL
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| const woocommerceGallery = document.querySelector( '.woocommerce-product-gallery__wrapper' );
 | |
| const mediaQuery = window.matchMedia( '(min-width: 922px)' );
 | |
| 
 | |
| if (  woocommerceGallery && ! mediaQuery.matches ) {
 | |
|     
 | |
|     let slider = tns( {
 | |
|         container: '.woocommerce-product-gallery__wrapper',
 | |
|         items: 1,
 | |
|         slideBy: 'page',
 | |
|         mouseDrag: true,
 | |
|         loop: false
 | |
|     } );
 | |
| 
 | |
|     destroySlider( slider );
 | |
| 
 | |
|     triggerFirstSlide( slider );
 | |
|     
 | |
|     let resizeEnd;
 | |
|     window.addEventListener('resize', function() {
 | |
|         clearTimeout( resizeEnd );
 | |
|         resizeEnd = setTimeout( function() {
 | |
|             destroySlider( slider );
 | |
|         }, 250 );   
 | |
|     } );
 | |
| 
 | |
| }
 | |
| 
 | |
| function destroySlider( slider ) {
 | |
|     const productGallery = document.querySelector( '.woocommerce-product-gallery__wrapper' );
 | |
| 
 | |
|     if( mediaQuery.matches && productGallery && productGallery.classList.contains('tns-slider') ) {
 | |
|         slider.destroy();
 | |
|     }
 | |
| } 
 | |
| 
 | |
| function triggerFirstSlide( slider ) {
 | |
|     const variationWrap = jQuery( '.single_variation_wrap' );
 | |
| 
 | |
|     if( variationWrap ) {
 | |
|       variationWrap.on( "show_variation", function ( event, variation ) {
 | |
|         slider.goTo('first');
 | |
|       } );
 | |
|     } 
 | |
| } |