upskill-event-manager/docs/design_guidance.md
bengizmo 44b8d62722 docs: update Memory Bank and implementation plan with development environment progress
- 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"
2025-03-25 14:28:26 -03:00

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.