getCurrentPageInfo method

Map<String, dynamic> getCurrentPageInfo()

الحصول على معلومات الصفحة الحالية Get current page information

Implementation

Map<String, dynamic> getCurrentPageInfo() {
  if (!_pageController.hasClients || surahPages.isEmpty) {
    return {
      'currentPageIndex': 0,
      'totalPages': surahPages.length,
      'isFirstPage': true,
      'isLastPage': surahPages.length <= 1,
      'expectedLines': surahPages.isNotEmpty ? getExpectedLinesCount(0) : 15,
      'actualLines': surahPages.isNotEmpty ? surahPages[0].lines.length : 0,
    };
  }

  final currentPageIndex = _pageController.page?.round() ?? 0;
  return {
    'currentPageIndex': currentPageIndex,
    'totalPages': surahPages.length,
    'isFirstPage': currentPageIndex == 0,
    'isLastPage': isLastPage(currentPageIndex),
    'expectedLines': getExpectedLinesCount(currentPageIndex),
    'actualLines': surahPages[currentPageIndex].lines.length,
    'realQuranPage': getRealQuranPageNumber(currentPageIndex),
  };
}