import 'dart:typed_data'; import 'package:em2rp/models/container_model.dart'; import 'package:em2rp/models/equipment_model.dart'; import 'package:em2rp/services/unified_pdf_generator_service.dart'; export 'package:em2rp/services/unified_pdf_generator_service.dart' show QRLabelFormat; /// Formats d'étiquettes disponibles pour containers (legacy - utilise QRLabelFormat maintenant) @Deprecated('Utiliser QRLabelFormat directement') typedef ContainerQRLabelFormat = QRLabelFormat; /// Service pour la génération de PDFs avec QR codes pour containers /// WRAPPER LEGACY - Utilise maintenant UnifiedPDFGeneratorService @Deprecated('Utiliser UnifiedPDFGeneratorService directement') class ContainerPDFGeneratorService { /// Génère un PDF avec des QR codes selon le format choisi static Future generateQRCodesPDF({ required List containerList, required Map> containerEquipmentMap, required QRLabelFormat format, }) async { // Pour les grandes étiquettes, inclure les équipements if (format == QRLabelFormat.large) { return UnifiedPDFGeneratorService.generateAdvancedQRCodesPDF( items: containerList, getId: (c) => c.id, getTitle: (c) => c.name, getSubtitle: (c) { final equipment = containerEquipmentMap[c.id] ?? []; final lines = [ 'Contenu (${equipment.length}):', ...equipment.take(5).map((eq) => '- ${eq.id}'), if (equipment.length > 5) '... +${equipment.length - 5}', ]; return lines; }, format: format, ); } // Pour les petites et moyennes étiquettes, juste ID + nom return UnifiedPDFGeneratorService.generateAdvancedQRCodesPDF( items: containerList, getId: (c) => c.id, getTitle: (c) => c.name, getSubtitle: null, format: format, ); } }