quranPagesController property

PageController get quranPagesController

Implementation

PageController get quranPagesController {
  // إذا لم يكن الـ controller مُهيأً بعد أو لا يحتوي على clients، أنشئه
  if (QuranCtrl.instance._pageController == null ||
      !QuranCtrl.instance._pageController!.hasClients) {
    QuranCtrl.instance._pageController = PageController(
      initialPage: (_quranRepository.getLastPage() ?? 1) - 1,
      keepPage: true,
      viewportFraction: 1.0,
    );
  }
  return QuranCtrl.instance._pageController!;
}
set quranPagesController (PageController controller)

Implementation

set quranPagesController(PageController controller) {
  // حفظ الـ controller الجديد
  // إذا كان هناك controller قديم، قم بالتخلص منه أولاً
  if (QuranCtrl.instance._pageController != null &&
      QuranCtrl.instance._pageController!.hasClients) {
    try {
      QuranCtrl.instance._pageController!.dispose();
    } catch (_) {
      // تجاهل الأخطاء إذا كان قد تم التخلص منه مسبقاً
    }
  }
  QuranCtrl.instance._pageController = controller;
}