getSurahsByPage method
Retrieves a list of Surahs present on a specific page.
Parameters: pageNumber (int): The index of the page for which to retrieve the Surahs.
Returns:
List<SurahFontsModel>: A list of SurahFontsModel representing the Surahs on the specified page.
Implementation
List<SurahFontsModel> getSurahsByPage(int pageNumber) {
List<AyahFontsModel> pageAyahs = getPageAyahsByIndex(pageNumber);
List<SurahFontsModel> surahsOnPage = [];
for (AyahFontsModel ayah in pageAyahs) {
SurahFontsModel surah = state.surahs.firstWhere(
(s) => s.ayahs.contains(ayah),
orElse: () => SurahFontsModel(
surahNumber: 1,
arabicName: 'Unknown',
englishName: 'Unknown',
revelationType: 'Unknown',
ayahs: []));
if (!surahsOnPage.any((s) => s.surahNumber == surah.surahNumber) &&
surah.surahNumber != -1) {
surahsOnPage.add(surah);
}
}
return surahsOnPage;
}