searchText static method
Search for Arabic text within the Quran.
searchTerm
The Arabic text to search for
Returns SearchResult containing all matching ayat.
Throws ArgumentError if searchTerm is empty.
Example:
final results = await QuranService.searchText('الله');
print('Found ${results.totalResults} ayat containing "الله"');
Implementation
static Future<SearchResult> searchText(String searchTerm) async {
await initialize();
_ensureDataLoaded();
QuranValidators.validateSearchTerm(searchTerm);
final List<AyahWithSurah> results = [];
for (final surah in _quranData!.surahs) {
for (final ayah in surah.ayat) {
if (ayah.text.contains(searchTerm)) {
results.add(AyahWithSurah(
id: ayah.id,
text: ayah.text,
sajdah: ayah.sajdah,
juz: ayah.juz,
hizb: ayah.hizb,
surah: surah,
));
}
}
}
return SearchResult(
searchTerm: searchTerm,
totalResults: results.length,
results: results,
);
}