search method
Implementation
List<AyahModel> search(String searchText) {
if (searchText.isEmpty) {
return [];
} else {
// تطبيع النصوص المدخلة
final normalizedSearchText =
normalizeText(searchText.toLowerCase().trim());
final filteredAyahs = ayahs.where((aya) {
// تطبيع نص الآية واسم السورة
final normalizedAyahText =
normalizeText(aya.ayaTextEmlaey.toLowerCase());
final normalizedSurahNameAr =
normalizeText(aya.arabicName!.toLowerCase());
final normalizedSurahNameEn =
normalizeText(aya.englishName!.toLowerCase());
// التحقق من تطابق نص الآية
final containsWord = normalizedAyahText.contains(normalizedSearchText);
// التحقق من تطابق رقم الصفحة
final matchesPage = aya.page.toString() ==
normalizedSearchText
.convertArabicNumbersToEnglish(normalizedSearchText);
// التحقق من تطابق اسم السورة بالعربية أو الإنجليزية
final matchesSurahName =
normalizedSurahNameAr == normalizedSearchText ||
normalizedSurahNameEn == normalizedSearchText;
// التحقق من رقم الآية
final matchesAyahNumber = aya.ayahNumber.toString() ==
normalizedSearchText
.convertArabicNumbersToEnglish(normalizedSearchText);
// إذا تحقق أي شرط من الشروط أعلاه باستثناء رقم السورة
return containsWord ||
matchesPage ||
matchesSurahName ||
matchesAyahNumber;
}).toList();
return filteredAyahs;
}
}