getRandomAyah static method

Future<AyahWithSurah> getRandomAyah()

Get a random ayah from the Quran.

Returns AyahWithSurah containing a randomly selected ayah.

Example:

final randomAyah = await QuranService.getRandomAyah();
print('Random ayah from ${randomAyah.surah.englishName}');

Implementation

static Future<AyahWithSurah> getRandomAyah() async {
  await initialize();
  _ensureDataLoaded();

  final randomSurahIndex = _random.nextInt(_quranData!.surahs.length);
  final randomSurah = _quranData!.surahs[randomSurahIndex];

  final randomAyahIndex = _random.nextInt(randomSurah.ayat.length);
  final randomAyah = randomSurah.ayat[randomAyahIndex];

  return AyahWithSurah(
    id: randomAyah.id,
    text: randomAyah.text,
    sajdah: randomAyah.sajdah,
    juz: randomAyah.juz,
    hizb: randomAyah.hizb,
    surah: randomSurah,
  );
}