getSurahsByPage method

List<SurahFontsModel> getSurahsByPage(
  1. int pageNumber
)

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;
}