updated view in label preview

This commit is contained in:
Quality System Admin
2025-10-27 20:25:31 +02:00
parent d142129de6
commit a960285d59
15 changed files with 1889 additions and 685 deletions

View File

@@ -0,0 +1,155 @@
# Print Module Theme System Implementation
## ✅ **Theme Support Successfully Implemented**
### **CSS Custom Properties System**
I've implemented a comprehensive theme system using CSS custom properties (CSS variables) that automatically adapts all tables and UI elements in the printing module to match the selected theme (light/dark mode).
### **Theme Variables Defined**
```css
:root {
/* Light mode colors (default) */
--print-table-header-bg: #e9ecef;
--print-table-header-text: #000;
--print-table-body-bg: #fff;
--print-table-body-text: #000;
--print-table-border: #ddd;
--print-table-hover: #f8f9fa;
--print-table-selected: #007bff;
--print-card-bg: #fff;
--print-card-border: #ddd;
--print-search-field-bg: #fff;
--print-search-field-text: #000;
--print-search-field-border: #ddd;
}
```
### **Light Mode Theme**
```css
body.light-mode {
--print-table-header-bg: #e9ecef; /* Light gray headers */
--print-table-header-text: #000; /* Black text */
--print-table-body-bg: #fff; /* White background */
--print-table-body-text: #000; /* Black text */
--print-table-border: #ddd; /* Light gray borders */
--print-table-hover: #f8f9fa; /* Very light gray hover */
--print-card-bg: #fff; /* White cards */
}
```
### **Dark Mode Theme**
```css
body.dark-mode {
--print-table-header-bg: #2a3441; /* Dark blue-gray headers */
--print-table-header-text: #ffffff; /* White text */
--print-table-body-bg: #2a3441; /* Dark blue-gray background */
--print-table-body-text: #ffffff; /* White text */
--print-table-border: #495057; /* Medium gray borders */
--print-table-hover: #3a4451; /* Lighter dark gray hover */
--print-card-bg: #2a2a2a; /* Dark gray cards */
}
```
### **Components That Respond to Theme**
#### ✅ **View Orders Table**
- **Headers**: Background and text color change automatically
- **Body cells**: Background, text, and border colors adapt
- **Hover effects**: Appropriate hover colors for each theme
- **Selected rows**: Consistent selection highlighting
#### ✅ **Print Module Table**
- **Headers**: Theme-aware colors and borders
- **Data cells**: Proper contrast in both themes
- **Row interactions**: Hover and selection states
- **Border consistency**: Unified border styling
#### ✅ **Upload Orders Table**
- **Same styling system**: Uses shared CSS variables
- **Consistent appearance**: Matches other tables
- **Theme transitions**: Smooth switching between themes
#### ✅ **Cards and Forms**
- **Background colors**: Adapt to theme
- **Border colors**: Consistent with theme palette
- **Search fields**: Proper contrast and visibility
- **Form elements**: Theme-aware styling
#### ✅ **Label Preview**
- **Preview backgrounds**: Appropriate for each theme
- **Barcode frames**: Maintains visibility in both modes
- **Text contrast**: Ensures readability
### **How Theme Switching Works**
1. **Automatic Detection**: The system detects `body.light-mode` or `body.dark-mode` class
2. **Variable Updates**: CSS custom properties automatically update based on the body class
3. **Instant Application**: All elements using the variables immediately reflect the new theme
4. **No JavaScript Required**: Pure CSS implementation for better performance
### **Benefits Achieved**
#### ✅ **Consistent Design**
- All printing module tables have unified styling
- Colors are coordinated across all components
- Professional appearance in both themes
#### ✅ **Better User Experience**
- **Light Mode**: Clean, bright interface for well-lit environments
- **Dark Mode**: Easy on the eyes for low-light conditions
- **Smooth Transitions**: No jarring color mismatches when switching
#### ✅ **Accessibility**
- **High Contrast**: Proper contrast ratios in both themes
- **Color Consistency**: Related elements use the same color palette
- **Visual Hierarchy**: Headers clearly distinguished from content
#### ✅ **Maintainability**
- **Single Source of Truth**: All theme colors defined in one place
- **Easy Updates**: Change a variable to update all occurrences
- **Scalable**: Easy to add new components or themes
### **Visual Comparison**
#### Light Mode
- **Table Headers**: Light gray background (#e9ecef) with black text
- **Table Bodies**: White background with black text
- **Borders**: Light gray (#ddd) for subtle separation
- **Hover**: Very light gray (#f8f9fa) for subtle feedback
- **Cards**: Clean white backgrounds
#### Dark Mode
- **Table Headers**: Dark blue-gray (#2a3441) with white text
- **Table Bodies**: Dark blue-gray background with white text
- **Borders**: Medium gray (#495057) for proper separation
- **Hover**: Lighter dark gray (#3a4451) for clear feedback
- **Cards**: Dark gray backgrounds for reduced eye strain
### **Pages Affected**
**view_orders.html** - Orders listing with improved 25/75 layout
**print_module.html** - Main printing interface
**print_lost_labels.html** - Lost labels printing
**upload_orders.html** - Order upload interface
**main_page_etichete.html** - Labels main page
### **Technical Implementation**
The theme system works by:
1. **CSS Variables**: Using `var(--variable-name)` throughout the stylesheets
2. **Body Classes**: Theme variables update based on `body.light-mode` / `body.dark-mode`
3. **Automatic Inheritance**: All child elements inherit the appropriate theme
4. **Performance**: No JavaScript overhead, pure CSS solution
### **Testing Confirmed**
- ✅ Theme switching works instantly
- ✅ All tables respond to theme changes
- ✅ No visual inconsistencies
- ✅ Proper contrast in both modes
- ✅ Layout remains stable during theme switches
The printing module now provides a professional, consistent, and accessible user interface that adapts beautifully to both light and dark themes!