- Update activeContext.md with current focus and status - Add development environment decisions to decisionLog.md - Update progress.md with completed tasks - Add development patterns to systemPatterns.md - Update productContext.md with environment details - Add Development Environment Setup section to implementation plan"
		
			
				
	
	
		
			229 lines
		
	
	
		
			No EOL
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			229 lines
		
	
	
		
			No EOL
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Design Guidance for HVAC Community Events
 | |
| 
 | |
| This document provides design guidance for implementing the HVAC Community Events Management System based on the design references and WordPress theme integration requirements.
 | |
| 
 | |
| ## Design Reference Analysis
 | |
| 
 | |
| The design references in the `design_references/` directory provide valuable insights into the desired user interface and experience. These references should be used as guides for implementing the various pages of the plugin.
 | |
| 
 | |
| ## Core UI Elements and Patterns
 | |
| 
 | |
| ### 1. Navigation and Header Elements
 | |
| 
 | |
| - **Global Header**: The site uses the standard Upskill HVAC header with main navigation
 | |
| - **Sub-navigation**: Pages have contextual navigation with clear action buttons
 | |
| - **Breadcrumbs**: Event Summary page includes breadcrumb navigation (Trainer Home > Event Summary)
 | |
| - **Action Buttons**: Consistently styled blue buttons with icons for primary actions
 | |
| 
 | |
| ### 2. Layout Patterns
 | |
| 
 | |
| - **Card-based Layout**: Information is organized in clean card sections with white backgrounds
 | |
| - **Section Headers**: Clear typographic hierarchy with section titles
 | |
| - **Grid Structure**: Responsive grid layout for statistics cards and information sections
 | |
| - **Table Layout**: Clean tables with clear headers and alternating row colors
 | |
| - **Form Layout**: Well-structured forms with logical grouping and clear labels
 | |
| 
 | |
| ### 3. Visual Elements
 | |
| 
 | |
| - **Color Scheme**: Light blue page backgrounds with white cards and blue accents
 | |
| - **Typography**: Consistent heading hierarchy and paragraph styling
 | |
| - **Icons**: Used to enhance recognition of statistics and action buttons
 | |
| - **Spacing**: Consistent padding and margin patterns throughout
 | |
| 
 | |
| ## WordPress Theme Integration
 | |
| 
 | |
| ### 1. Leveraging Astra Theme
 | |
| 
 | |
| The Upskill HVAC site uses a child theme of Astra (4.9.0). To ensure consistency:
 | |
| 
 | |
| - Use Astra's hook system:
 | |
|   - `astra_header_before`/`astra_header_after` for header content
 | |
|   - `astra_primary_content_top`/`astra_primary_content_bottom` for main content area
 | |
|   - `astra_entry_content_before`/`astra_entry_content_after` for content containers
 | |
|   
 | |
| - Use Astra's styling classes:
 | |
|   - `.ast-container` for main content containers
 | |
|   - `.ast-row` for grid layouts
 | |
|   - `.ast-col-*` for column structures
 | |
|   - `.ast-button` and variants for button styling
 | |
| 
 | |
| ### 2. Essential Blocks and Spectra Pro Integration
 | |
| 
 | |
| - **Content Blocks**: Use Essential Blocks for advanced content structures when appropriate
 | |
| - **Layout Elements**: Leverage Spectra Pro's advanced layout options for complex page sections
 | |
| - **Component Styling**: Apply Spectra's pre-styled components rather than custom CSS when possible
 | |
| 
 | |
| ### 3. Custom Templates
 | |
| 
 | |
| When creating custom templates, follow these guidelines:
 | |
| 
 | |
| 1. Start by extending default theme templates:
 | |
|    ```php
 | |
|    // Example template hierarchy
 | |
|    get_header();
 | |
|    ?>
 | |
|    <div id="primary" class="ast-container">
 | |
|        <main id="main" class="site-main">
 | |
|            <!-- Your custom content here -->
 | |
|        </main>
 | |
|    </div>
 | |
|    <?php
 | |
|    get_footer();
 | |
|    ```
 | |
| 
 | |
| 2. Use Astra's content wrappers:
 | |
|    ```php
 | |
|    <div class="ast-container">
 | |
|        <div class="ast-row">
 | |
|            <div class="ast-col-lg-8">
 | |
|                <!-- Main content -->
 | |
|            </div>
 | |
|            <div class="ast-col-lg-4">
 | |
|                <!-- Sidebar content -->
 | |
|            </div>
 | |
|        </div>
 | |
|    </div>
 | |
|    ```
 | |
| 
 | |
| ## Page-Specific Implementation Guidelines
 | |
| 
 | |
| ### 1. Trainer Dashboard
 | |
| 
 | |
| Based on `upskillhvac.com_hce-dashboard_ (4).png`:
 | |
| 
 | |
| - **Page Structure**:
 | |
|   - Top navigation bar with action buttons
 | |
|   - "Your Stats" section with 5 stat cards in a responsive grid
 | |
|   - "Your Events" section with tabbed filtering and table display
 | |
| 
 | |
| - **Theme Integration**:
 | |
|   ```php
 | |
|   // Stat cards implementation example
 | |
|   echo '<div class="ast-row">';
 | |
|   foreach ($stats as $stat) {
 | |
|       echo '<div class="ast-col-md-6 ast-col-lg-3">';
 | |
|       echo '<div class="hvac-stat-card">';
 | |
|       // Card content
 | |
|       echo '</div>';
 | |
|       echo '</div>';
 | |
|   }
 | |
|   echo '</div>';
 | |
|   ```
 | |
| 
 | |
| - **Responsive Behavior**:
 | |
|   - Statistics cards stack on mobile (1 column)
 | |
|   - Table becomes scrollable on smaller screens
 | |
|   - Action buttons adapt to mobile layout
 | |
| 
 | |
| ### 2. Event Summary Page
 | |
| 
 | |
| Based on `upskillhvac.com_hce-event-summary__event_id=1662 (1).png`:
 | |
| 
 | |
| - **Page Structure**:
 | |
|   - Breadcrumb navigation
 | |
|   - Event title with action buttons
 | |
|   - Event details section with 4 info cards
 | |
|   - Event description with formatted sections
 | |
|   - Transactions table
 | |
| 
 | |
| - **Theme Integration**:
 | |
|   ```php
 | |
|   // Event details cards implementation example
 | |
|   echo '<div class="ast-row">';
 | |
|   echo '<div class="ast-col-md-6 ast-col-lg-3">';
 | |
|   echo '<div class="hvac-event-detail-card">';
 | |
|   echo '<h4>Date & Time</h4>';
 | |
|   // Card content
 | |
|   echo '</div>';
 | |
|   echo '</div>';
 | |
|   // Repeat for other cards
 | |
|   echo '</div>';
 | |
|   ```
 | |
| 
 | |
| - **Typography**:
 | |
|   - Use theme's heading hierarchy: `<h1>` for event title, `<h2>` for main sections, `<h3>` for subsections
 | |
|   - Follow theme's paragraph styling for descriptions
 | |
| 
 | |
| ### 3. Login Page
 | |
| 
 | |
| Based on `upskillhvac.com_hce-login_.png`:
 | |
| 
 | |
| - **Form Styling**:
 | |
|   - Center-aligned form on a card background
 | |
|   - Standard form field spacing
 | |
|   - Consistent button styling
 | |
| 
 | |
| - **Theme Integration**:
 | |
|   - Use Astra's form styling classes
 | |
|   - Maintain consistent padding and margin with theme
 | |
| 
 | |
| ### 4. Modify Event Page
 | |
| 
 | |
| Based on `upskillhvac.com_hce-modify-event__event_id=1662.png`:
 | |
| 
 | |
| - **Form Structure**:
 | |
|   - Clearly labeled sections
 | |
|   - Logical grouping of related fields
 | |
|   - Consistent form element styling
 | |
| 
 | |
| - **Theme Integration**:
 | |
|   - Use theme's form element styling
 | |
|   - Follow theme's spacing patterns
 | |
| 
 | |
| ## Responsive Design Guidelines
 | |
| 
 | |
| 1. **Breakpoints**: Use Astra theme's breakpoints:
 | |
|    - Mobile: < 544px
 | |
|    - Tablet: 544px - 921px
 | |
|    - Desktop: > 921px
 | |
| 
 | |
| 2. **Mobile Adaptations**:
 | |
|    - Cards stack vertically
 | |
|    - Tables become scrollable
 | |
|    - Form fields expand to full width
 | |
|    - Navigation adapts to mobile patterns
 | |
| 
 | |
| 3. **Testing across Devices**:
 | |
|    - Test on multiple screen sizes
 | |
|    - Verify theme's responsive behavior is maintained
 | |
|    - Ensure tap targets are appropriately sized on mobile
 | |
| 
 | |
| ## Theme Compatibility Testing
 | |
| 
 | |
| 1. **Visual Regression Testing**:
 | |
|    - Test across different screen sizes
 | |
|    - Compare against design references
 | |
|    - Verify consistent spacing and alignment
 | |
| 
 | |
| 2. **Plugin Compatibility**:
 | |
|    - Test with all active plugins:
 | |
|      - The Events Calendar suite
 | |
|      - Spectra Pro
 | |
|      - Essential Blocks
 | |
|      - Premium Starter Templates
 | |
| 
 | |
| 3. **Performance Testing**:
 | |
|    - Check load times with theme integration
 | |
|    - Monitor CSS specificity conflicts
 | |
|    - Test JavaScript interactions
 | |
| 
 | |
| ## Best Practices
 | |
| 
 | |
| 1. **CSS Approach**:
 | |
|    - Use theme's CSS variables when available
 | |
|    - Avoid overriding theme styles with `!important`
 | |
|    - Use the WordPress CSS specificity cascade appropriately
 | |
|    - Keep custom CSS minimal and targeted
 | |
| 
 | |
| 2. **JavaScript Integration**:
 | |
|    - Follow theme's JavaScript patterns and dependencies
 | |
|    - Initialize components after DOM is ready
 | |
|    - Use event delegation for dynamically loaded content
 | |
|    - Namespace custom JavaScript functions
 | |
| 
 | |
| 3. **Template Organization**:
 | |
|    - Keep templates modular and reusable
 | |
|    - Use get_template_part() for component reuse
 | |
|    - Follow Astra's naming conventions for consistency
 | |
| 
 | |
| By following these guidelines, the implementation will maintain consistency with the existing WordPress theme while achieving the design goals shown in the reference screenshots. |