import '../models/disease.dart';
import '../models/symptom.dart';
import '../models/rule.dart';

List<Symptom> symptoms = [
  Symptom(
      id: 'GP1',
      description: 'Terdapat bercak kecil bulat di daun',
      weight: 0.3),
  Symptom(
      id: 'GP2', description: 'Bercak daun mengering ± 0.5 cm', weight: 0.4),
  Symptom(
      id: 'GP3',
      description: 'Titik-titik daun berwarna putih pucat dengan tepi gelap',
      weight: 0.6),
  Symptom(id: 'GP4', description: 'Daun menguning', weight: 0.8),
  Symptom(
      id: 'GP5', description: 'Bercak kecil di daun bagian bawah', weight: 0.4),
  Symptom(
      id: 'GP6',
      description: 'Bercak coklat dengan lingkaran sepusat',
      weight: 0.8),
  Symptom(
      id: 'GP7',
      description: 'Terdapat bercak berwarna kelabu-hitam di atas bercak',
      weight: 0.9),
  Symptom(
      id: 'GP8',
      description: 'Bercak coklat kehitaman pada permukaan buah',
      weight: 1.0),
  Symptom(
      id: 'GP9',
      description: 'Terdapat bercak yang lunak pada bagian buah',
      weight: 1.0),
  Symptom(
      id: 'GP10',
      description: 'Perubahan warna/tekstur tidak normal',
      weight: 1.0),
  Symptom(id: 'GP11', description: 'Buah kering dan keriput', weight: 0.9),
  Symptom(
      id: 'GP12',
      description: 'Kulit buah kering seperti jerami padi',
      weight: 0.9),
  Symptom(
      id: 'GP13',
      description:
          'Bercak kebasah-basahan pada bagian tengah buah atau tepian daun',
      weight: 0.9),
  Symptom(
      id: 'GP14',
      description: 'Bagian bercak melebar berwarna coklat',
      weight: 0.7),
  Symptom(
      id: 'GP15',
      description: 'Terdapat bercak hijau dikelilingi hitam kelabu',
      weight: 0.8),
  Symptom(id: 'GP16', description: 'Tanaman layu keseluruhan', weight: 1.0),
  Symptom(
      id: 'GP17',
      description:
          'Tulang daun dan sekitarnya menguning disertai penggulungan daun atau anak tulang daun menguning dengan bercak nekrotik',
      weight: 0.6),
  Symptom(
      id: 'GP18',
      description: 'Jaringan akar dan batang berwarna coklat',
      weight: 1.0),
  Symptom(
      id: 'GP19',
      description: 'Tanaman jadi kerdil atau susah tumbuh',
      weight: 0.9),
  Symptom(
      id: 'GP20', description: 'Luka coklat di pangkal batang', weight: 0.9),
  Symptom(
      id: 'GP21', description: 'Bibit cabai tidak tumbuh subur', weight: 0.8),
  Symptom(
      id: 'GP22',
      description: 'Benih yang ditaburkan tiba-tiba mati',
      weight: 1.0),
  Symptom(
      id: 'GP23',
      description: 'Bercak kuning di sekitar tulang daun',
      weight: 0.6),
  Symptom(
      id: 'GP24',
      description: 'Pucuk daun berubah jadi kuning jelas',
      weight: 0.7),
  Symptom(
      id: 'GP25', description: 'Daun mengkerut berwarna kuning', weight: 0.9),
];

List<Disease> diseases = [
  Disease(
    id: 'P1',
    name: 'Penyakit Bercak Daun (Cerkospora)',
    symptomIds: ['GP1', 'GP2', 'GP5', 'GP6', 'GP7'],
    solutions: [
      'Pemupukan berimbang: 20–30 ton pupuk organik per hektar, TSP 100–150 kg, ZA 450–500 kg, urea 150–200 kg, KCL 100–150 kg.',
      'Gunakan jerami di dataran rendah atau mulsa plastik perak di dataran tinggi untuk mengurangi serangan penyakit, terutama saat musim hujan.',
      'Gunakan fungisida difenokonazol (Score® 250 EC, 0.5 ml/l) dengan interval penyemprotan 7 hari.',
      'Gunakan nosel kipas untuk distribusi semprotan merata, kurangi penggunaan insektisida (~30%).',
    ],
  ),
  Disease(
    id: 'P2',
    name: 'Penyakit Bercak Daun (Alternaria)',
    symptomIds: ['GP1', 'GP2', 'GP3', 'GP7', 'GP15'],
    solutions: [
      'Lakukan penyemprotan fungisida secara berselang-seling.',
    ],
  ),
  Disease(
    id: 'P3',
    name: 'Penyakit Busuk Daun (Fitoftora)',
    symptomIds: ['GP4', 'GP5', 'GP13', 'GP14'],
    solutions: [
      'Pemupukan berimbang: 20–30 ton pupuk organik per hektar, TSP 100–150 kg, KCL 100–150 kg, ZA 450–500 kg, urea 150–200 kg.',
      'Gunakan jerami di dataran rendah atau mulsa plastik perak di dataran tinggi untuk mengurangi serangan penyakit saat musim hujan.',
      'Keluarkan tanaman yang baru terinfeksi dan ganti dengan yang sehat.',
      'Gunakan fungisida Metall-M 4% + Mancozeb 64% (Gold MZ® 4/64 WP Ridomil, 3 g/l) atau chlorotalonyl (Daconil® 500 F, 2 g/l), hingga 4 kali per musim.',
      'Gunakan nosel kipas untuk distribusi semprotan merata, kurangi penggunaan insektisida (~30%).',
    ],
  ),
  Disease(
    id: 'P4',
    name: 'Penyakit Busuk Buah (Antraknosa)',
    symptomIds: ['GP8', 'GP9', 'GP10', 'GP11', 'GP12'],
    solutions: [
      'Pemupukan berimbang: 20–30 ton pupuk organik per hektar, TSP 100–150 kg, KCL 100–150 kg, ZA 450–500 kg, urea 150–200 kg.',
      'Lakukan tumpangsari cabai di dataran tinggi untuk meningkatkan hasil dan mengurangi serangan penyakit.',
      'Gunakan jerami di dataran rendah atau mulsa plastik perak di dataran tinggi untuk mengurangi serangan antraknosa, terutama saat musim hujan.',
      'Gunakan nosel kipas untuk distribusi semprotan merata, kurangi penggunaan insektisida (~30%).',
    ],
  ),
  Disease(
    id: 'P5',
    name: 'Penyakit Layu (Fusarium)',
    symptomIds: ['GP16', 'GP17', 'GP18', 'GP19', 'GP20'],
    solutions: [
      'Berikan tanah kapur untuk menetralkan tanah.',
      'Jaga bedengan bebas genangan air dan rendam biji cabai dalam larutan selama 10 menit.',
    ],
  ),
  Disease(
    id: 'P6',
    name: 'Penyakit Rebah Kecambah',
    symptomIds: ['GP21', 'GP22'],
    solutions: [
      'Cabut dan musnahkan bibit yang terserang.',
      'Hilangkan naungan pembibitan secara bertahap untuk memperkuat tanaman.',
      'Gunakan fungisida spesifik dengan dosis terendah.',
    ],
  ),
  Disease(
    id: 'P7',
    name: 'Penyakit Virus Kuning',
    symptomIds: ['GP23', 'GP24', 'GP25'],
    solutions: [
      'Gunakan pemangsa alami (Beauveria bassiana, Verticillium lecanii, atau Menochilus sexmaculatus) untuk menekan serangga pembawa virus.',
      'Lakukan budidaya tumpangsari dengan berbagai jenis tanaman.',
      'Jaga kebersihan lingkungan, singkirkan tanaman inang seperti gulma kancing, terong, dan ciplukan.',
      'Berikan pupuk ekstra untuk meningkatkan ketahanan tanaman.',
    ],
  ),
];

List<Rule> rules = [
  Rule(symptomIds: ['GP1', 'GP2', 'GP5', 'GP6', 'GP7'], diseaseId: 'P1'),
  Rule(symptomIds: ['GP1', 'GP2', 'GP3', 'GP7', 'GP15'], diseaseId: 'P2'),
  Rule(symptomIds: ['GP4', 'GP5', 'GP13', 'GP14'], diseaseId: 'P3'),
  Rule(symptomIds: ['GP8', 'GP9', 'GP10', 'GP11', 'GP12'], diseaseId: 'P4'),
  Rule(symptomIds: ['GP16', 'GP17', 'GP18', 'GP19', 'GP20'], diseaseId: 'P5'),
  Rule(symptomIds: ['GP21', 'GP22'], diseaseId: 'P6'),
  Rule(symptomIds: ['GP23', 'GP24', 'GP25'], diseaseId: 'P7'),
];
