init method

Future<void> init({
  1. Map<int, List<BookmarkModel>>? userBookmarks,
  2. bool overwriteBookmarks = false,
})

init تقوم بتهيئة القرآن ويجب استدعاؤها قبل البدء في استخدام الحزمة

init initializes the FlutterQuran, and must be called before starting using the package

Implementation

Future<void> init(
    {Map<int, List<BookmarkModel>>? userBookmarks,
    bool overwriteBookmarks = false}) async {
  // Get.put(QuranController());
  await GetStorage.init();
  drift.driftRuntimeOptions.dontWarnAboutMultipleDatabases = true;
  QuranCtrl.instance.state.isDownloadedV2Fonts.value =
      GetStorage().read(_StorageConstants().isDownloadedCodeV2Fonts) ?? false;
  QuranRepository().getLastPage();
  await QuranCtrl.instance.loadFontsQuran();
  await QuranCtrl.instance.loadQuran();
  await QuranCtrl.instance.fetchSurahs();
  BookmarksCtrl.instance.initBookmarks(
      userBookmarks: userBookmarks, overwrite: overwriteBookmarks);
  QuranCtrl.instance.state.isBold.value =
      GetStorage().read(_StorageConstants().isBold) ?? 0;
  quranCtrl.state.fontsSelected.value =
      GetStorage().read(_StorageConstants().fontsSelected) ?? 0;
  // quranCtrl.state.isTajweed.value =
  //     GetStorage().read(StorageConstants().isTajweed) ?? 0;
  quranCtrl.state.fontsDownloadedList.value = (GetStorage()
          .read<List<dynamic>>(_StorageConstants().fontsDownloadedList)
          ?.cast<int>() ??
      []);
}