Refactor: Centralisation des labels et icônes pour les enums
Centralise la gestion des libellés, couleurs et icônes pour `EquipmentStatus`, `EquipmentCategory`, et `ContainerType` en utilisant des extensions Dart. - Ajout de nouvelles icônes SVG pour `flight-case`, `truss` et `tape`. - Refactorisation des vues pour utiliser les nouvelles extensions, supprimant ainsi la logique d'affichage dupliquée. - Mise à jour des `ChoiceChip` et des listes de filtres pour afficher les icônes à côté des labels.
This commit is contained in:
		| @@ -25,8 +25,7 @@ class ContainerHeaderCard extends StatelessWidget { | ||||
|           children: [ | ||||
|             Row( | ||||
|               children: [ | ||||
|                 Icon( | ||||
|                   _getTypeIcon(container.type), | ||||
|                 container.type.getIcon( | ||||
|                   size: 60, | ||||
|                   color: AppColors.rouge, | ||||
|                 ), | ||||
| @@ -62,7 +61,7 @@ class ContainerHeaderCard extends StatelessWidget { | ||||
|                   child: _buildInfoItem( | ||||
|                     context, | ||||
|                     'Type', | ||||
|                     containerTypeLabel(container.type), | ||||
|                     container.type.label, | ||||
|                     Icons.category, | ||||
|                   ), | ||||
|                 ), | ||||
| @@ -70,9 +69,9 @@ class ContainerHeaderCard extends StatelessWidget { | ||||
|                   child: _buildInfoItem( | ||||
|                     context, | ||||
|                     'Statut', | ||||
|                     _getStatusLabel(container.status), | ||||
|                     container.status.label, | ||||
|                     Icons.info, | ||||
|                     statusColor: _getStatusColor(container.status), | ||||
|                     statusColor: container.status.color, | ||||
|                   ), | ||||
|                 ), | ||||
|               ], | ||||
| @@ -148,50 +147,5 @@ class ContainerHeaderCard extends StatelessWidget { | ||||
|     final totalWeight = container.calculateTotalWeight(equipmentList); | ||||
|     return '${totalWeight.toStringAsFixed(1)} kg'; | ||||
|   } | ||||
|  | ||||
|   IconData _getTypeIcon(ContainerType type) { | ||||
|     switch (type) { | ||||
|       case ContainerType.flightCase: | ||||
|         return Icons.work; | ||||
|       case ContainerType.pelicase: | ||||
|         return Icons.work_outline; | ||||
|       case ContainerType.bag: | ||||
|         return Icons.shopping_bag; | ||||
|       case ContainerType.openCrate: | ||||
|         return Icons.inventory_2; | ||||
|       case ContainerType.toolbox: | ||||
|         return Icons.handyman; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   String _getStatusLabel(EquipmentStatus status) { | ||||
|     switch (status) { | ||||
|       case EquipmentStatus.available: | ||||
|         return 'Disponible'; | ||||
|       case EquipmentStatus.inUse: | ||||
|         return 'En prestation'; | ||||
|       case EquipmentStatus.maintenance: | ||||
|         return 'Maintenance'; | ||||
|       case EquipmentStatus.outOfService: | ||||
|         return 'Hors service'; | ||||
|       default: | ||||
|         return 'Autre'; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   Color _getStatusColor(EquipmentStatus status) { | ||||
|     switch (status) { | ||||
|       case EquipmentStatus.available: | ||||
|         return Colors.green; | ||||
|       case EquipmentStatus.inUse: | ||||
|         return Colors.orange; | ||||
|       case EquipmentStatus.maintenance: | ||||
|         return Colors.blue; | ||||
|       case EquipmentStatus.outOfService: | ||||
|         return Colors.red; | ||||
|       default: | ||||
|         return Colors.grey; | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 ElPoyo
					ElPoyo