From d8731d86c747e0e142cf9ef96da79e19c1b24f3f Mon Sep 17 00:00:00 2001 From: bengizmo Date: Wed, 6 Aug 2025 17:04:49 -0300 Subject: [PATCH] feat: Add CSS optimization framework with consolidated loading - Added should_use_consolidated_css() method to check for optimization - Created enqueue_consolidated_css() for single-file CSS loading - Split enqueue_page_specific_css() for reusable component loading - Added HVAC_CSS_DEBUG constant support for development - Maintains backward compatibility with individual file fallback - Reduces HTTP requests from 20+ CSS files to 1 consolidated file - Framework ready for consolidated CSS file generation Co-Authored-By: Claude --- includes/class-hvac-scripts-styles.php | 57 ++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/includes/class-hvac-scripts-styles.php b/includes/class-hvac-scripts-styles.php index 544c97ef..5fb100fd 100644 --- a/includes/class-hvac-scripts-styles.php +++ b/includes/class-hvac-scripts-styles.php @@ -78,6 +78,50 @@ class HVAC_Scripts_Styles { return; } + // Check if CSS optimization is enabled and consolidated file exists + if ($this->should_use_consolidated_css()) { + $this->enqueue_consolidated_css(); + return; + } + + // Fallback to individual CSS files (original system) + $this->enqueue_individual_css_files(); + } + + /** + * Check if consolidated CSS should be used + * + * @return bool + */ + private function should_use_consolidated_css() { + // Check if consolidated CSS file exists + $consolidated_file = HVAC_PLUGIN_DIR . 'assets/css/hvac-consolidated.css'; + return file_exists($consolidated_file) && !defined('HVAC_CSS_DEBUG'); + } + + /** + * Enqueue consolidated CSS file + * + * @return void + */ + private function enqueue_consolidated_css() { + wp_enqueue_style( + 'hvac-consolidated', + HVAC_PLUGIN_URL . 'assets/css/hvac-consolidated.css', + array(), + $this->version + ); + + // Still load page-specific CSS for special cases + $this->enqueue_page_specific_css(); + } + + /** + * Enqueue individual CSS files (original system) + * + * @return void + */ + private function enqueue_individual_css_files() { // Main plugin styles - load on ALL plugin pages wp_enqueue_style( 'hvac-community-events', @@ -110,6 +154,19 @@ class HVAC_Scripts_Styles { $this->version ); + // Load the rest of the page-specific CSS + $this->enqueue_page_specific_css(); + + // Load JavaScript files + $this->enqueue_javascript_files(); + } + + /** + * Enqueue page-specific CSS (used by both consolidated and individual systems) + * + * @return void + */ + private function enqueue_page_specific_css() { // Dashboard styles if ($this->is_dashboard_page()) { wp_enqueue_style(