animateToPage method

void animateToPage(
  1. int page
)

Implementation

void animateToPage(int page) {
  if (quranPagesController.hasClients) {
    // في وضع الصفحتين: محاذاة الفهرس إلى رقم زوجي لعرض الزوج الصحيح
    final isDual = quranPagesController.viewportFraction < 1.0;
    final targetPage = isDual ? page - (page % 2) : page;
    log('Animating to page: $targetPage (requested: $page, isDual: $isDual)',
        name: 'QuranCtrl');
    quranPagesController.animateToPage(
      targetPage,
      duration: const Duration(milliseconds: 300),
      curve: Curves.easeInOut,
    );
  } else {
    log('Creating new PageController for page: $page', name: 'QuranCtrl');
    quranPagesController = PreloadPageController(
      initialPage: page,
      keepPage: true,
      viewportFraction: 1.0,
    );
  }
}