import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:em2rp/models/equipment_model.dart'; import 'package:em2rp/providers/equipment_provider.dart'; /// Widget qui affiche le badge de statut d'un équipement /// Le statut est calculé de manière asynchrone basé sur les événements en cours class EquipmentStatusBadge extends StatelessWidget { final EquipmentModel equipment; const EquipmentStatusBadge({ super.key, required this.equipment, }); @override Widget build(BuildContext context) { final provider = Provider.of(context, listen: false); // Logs désactivés en production return FutureBuilder( // On calcule le statut réel de manière asynchrone future: provider.calculateRealStatus(equipment), // En attendant, on affiche le statut stocké initialData: equipment.status, builder: (context, snapshot) { // Utiliser le statut calculé s'il est disponible, sinon le statut stocké final status = snapshot.data ?? equipment.status; // Logs désactivés en production return Container( padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), decoration: BoxDecoration( color: status.color.withValues(alpha: 0.2), borderRadius: BorderRadius.circular(12), border: Border.all(color: status.color), ), child: Text( status.label, style: TextStyle( fontSize: 12, fontWeight: FontWeight.bold, color: status.color, ), ), ); }, ); } }