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
		
			
				
	
	
		
			84 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * WooCommerce shop layout view updation.
 | |
|  *
 | |
|  * @package Astra Addon
 | |
|  * @since x.x.x
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Astra updating shop view. Grid|List.
 | |
|  */
 | |
| function astraUpdateShopView() {
 | |
| 	var shopViewButtons = document.querySelectorAll( '.ast-view-trigger' );
 | |
| 	for ( var count = 0; count < shopViewButtons.length; count++ ) {
 | |
| 		shopViewButtons[count].onclick = function( e ) {
 | |
| 			e.preventDefault();
 | |
| 
 | |
| 			var viewType = this.dataset.view;
 | |
| 			document.querySelector( '.ast-view-trigger.active' ).classList.remove( 'active' );
 | |
| 			this.classList.add( 'active' );
 | |
| 
 | |
| 			if( document.body.classList.contains( 'ast-default-shop-page-list-style' ) ) {
 | |
| 				if( 'grid' === viewType ) {
 | |
| 					document.body.classList.remove( 'ast-woocommerce-shop-page-list-style' );
 | |
| 				} else {
 | |
| 					document.body.classList.add( 'ast-woocommerce-shop-page-list-style' );
 | |
| 				}
 | |
| 			} else {
 | |
| 				if( 'grid' === viewType ) {
 | |
| 					document.body.classList.remove( 'ast-woocommerce-shop-page-list-view' );
 | |
| 				} else {
 | |
| 					document.body.classList.add( 'ast-woocommerce-shop-page-list-view' );
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Astra updating shop toolbar strcture.
 | |
|  */
 | |
| function astraUpdateShopToolbar() {
 | |
| 	// Stick shop filters, view triggers at bottom.
 | |
| 	if( document.body.classList.contains( 'ast-default-shop-page-modern-style' ) ) {
 | |
| 		var filtersWrap = document.querySelector( '.ast-sticky-shop-filters' );
 | |
| 		if( ast_modern_shop.mobile_breakpoint >= window.innerWidth && ! filtersWrap ) {
 | |
| 			var toolbarContainerHTML = document.querySelector( '.ast-shop-toolbar-container' ).innerHTML,
 | |
| 				dummyPara = document.createElement( "p" );
 | |
| 
 | |
| 			dummyPara.className = 'woocommerce-result-count';
 | |
| 			if ( null !== document.querySelector( '.woocommerce-result-count'  ) ) {
 | |
| 				dummyPara.innerHTML = document.querySelector( '.woocommerce-result-count' ).innerHTML;
 | |
| 			}
 | |
| 
 | |
| 			noticeWrapper = document.querySelector('.woocommerce-notices-wrapper');
 | |
| 
 | |
| 			noticeWrapper.parentNode.insertBefore( dummyPara, noticeWrapper.nextSibling );
 | |
| 
 | |
| 			document.querySelector( '.ast-shop-toolbar-container' ).innerHTML = "<div class='ast-sticky-shop-filters'>" + toolbarContainerHTML + "</div>";
 | |
| 		} else if( ast_modern_shop.mobile_breakpoint < window.innerWidth && filtersWrap ) {
 | |
| 			var toolbarContainerHTML = document.querySelector( '.ast-sticky-shop-filters' ).innerHTML;
 | |
| 			document.querySelector( '.ast-shop-toolbar-container' ).innerHTML = toolbarContainerHTML;
 | |
| 
 | |
| 			document.querySelector( '.woocommerce-notices-wrapper + .woocommerce-result-count' ).remove();
 | |
| 		}
 | |
|         // Submit form on "orderby" select change to trigger shop filters.
 | |
| 		if( document.querySelector( '.ast-woocommerce-shop-page-modern-style .woocommerce-ordering' ) ) {
 | |
| 			document.querySelector( '.ast-woocommerce-shop-page-modern-style .woocommerce-ordering' ).addEventListener( 'change', function( event ) {
 | |
| 				if ( event.target.classList.contains( 'orderby' )) {
 | |
| 					event.target.closest( 'form' ).submit();
 | |
| 				}
 | |
| 			});
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| window.addEventListener('load', function () {
 | |
| 	astraUpdateShopToolbar();
 | |
| 	astraUpdateShopView();
 | |
| });
 | |
| 
 | |
| window.addEventListener('resize', function () {
 | |
| 	astraUpdateShopToolbar();
 | |
| 	astraUpdateShopView();
 | |
| });
 |