import 'package:equatable/equatable.dart'; class DiagnosisResult extends Equatable { final String plantSpecies; final bool isHealthy; final String diseaseName; final String scientificName; final double confidenceValue; final String symptoms; final String causes; final List preventionMeasures; final String organicTreatment; final String chemicalTreatment; final AdditionalInfo additionalInfo; // Enhanced agricultural information final Map environmentalData; final Map plantData; final Map treatmentSchedule; final Map economicImpact; final List> alternativeVarieties; const DiagnosisResult({ required this.plantSpecies, required this.isHealthy, required this.diseaseName, required this.scientificName, required this.confidenceValue, required this.symptoms, required this.causes, required this.preventionMeasures, required this.organicTreatment, required this.chemicalTreatment, required this.additionalInfo, this.environmentalData = const {}, this.plantData = const {}, this.treatmentSchedule = const {}, this.economicImpact = const {}, this.alternativeVarieties = const [], }); @override List get props => [ plantSpecies, isHealthy, diseaseName, scientificName, confidenceValue, symptoms, causes, preventionMeasures, organicTreatment, chemicalTreatment, additionalInfo, environmentalData, plantData, treatmentSchedule, economicImpact, alternativeVarieties, ]; } class AdditionalInfo extends Equatable { final String severity; final String spreadRate; final List affectedParts; final String environmentalConditions; const AdditionalInfo({ required this.severity, required this.spreadRate, required this.affectedParts, required this.environmentalConditions, }); @override List get props => [ severity, spreadRate, affectedParts, environmentalConditions, ]; }