ensureCoreDataLoaded method

Future<void> ensureCoreDataLoaded()

Implementation

Future<void> ensureCoreDataLoaded() async {
  if (state.pages.isNotEmpty && state.allAyahs.isNotEmpty) return;

  _coreDataLoadFuture ??= () async {
    try {
      await Future.wait<void>([
        loadQuranDataV3(),
        fetchSurahs(),
      ]);
    } catch (e, st) {
      log('Failed to load core Quran data: $e',
          name: 'QuranCtrl', stackTrace: st);
    } finally {
      // تحديث عام + تحديث خاص بالـ PageViewBuild
      update();
      update(['_pageViewBuild']);
    }
  }();

  QuranCtrl.instance.state.isTajweedEnabled.value =
      GetStorage().read(_StorageConstants().isTajweed) ?? false;
  await _coreDataLoadFuture;
}