- 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. |