tafsir_library banner
> tafsir_library_

tafsir_library

A Flutter/Dart library for displaying and accessing Tafsir,

v1.0.1 MIT #Tafsir#Quran#Tajweed#Arabic#Translations
4
LIKES
27
DOWNLOADS
94%
HEALTH
150/160
POINTS
> Overview_

Overview

A Flutter/Dart library for displaying and accessing Tafsir,

عرض التفسير والترجمات وأحكام التجويد مع واجهات جاهزة وواجهة API مباشرة.. صُممت لتكون سهلة الاستخدام مع واجهة API بسيطة وواضحة، ومُحسّنة للأداء العالي.

> Platforms_

Platforms

iOSAndroidWebmacOSLinuxWindows
> Features_

Features

Ready UI widget for showing Tafsir with tabs (Tafsir + Translations + Tajweed).
Direct API access to Tafsir data, translations, and Tajweed info.
Built-in download management for tafsir/translation sources.
Custom tafsir sources support.
Arabic-friendly UI and styling options.
> Installation_

Installation

$ flutter pub add tafsir_library

dependencies:
  tafsir_library: ^1.0.1
> Quick Start_

Quick Start

Future<void> main() async {
	WidgetsFlutterBinding.ensureInitialized();
	await TafsirLibrary.initialize();
	runApp(
      const MyApp(),
      );
}
tafsir_library screenshot
> Usage_

Usage

ShowTafsir(
  context: context,
  ayahUQNumber: 2,
  ayahNumber: 2,
  pageIndex: 1,
  isDark: false,
  surahNumber: 1,
)
> 2) Use the ready-made UI widget_

2) Use the ready-made UI widget

ShowTafsir(
	context: context,
	ayahUQNumber: 2,
	ayahNumber: 2,
	pageIndex: 1,
	isDark: false,
	surahNumber: 1,
)
> 3) Direct API usage (without ShowTafsir)_

3) Direct API usage (without ShowTafsir)

await TafsirLibrary.fetchData();
final items = await TafsirLibrary.fetchTafsirAyah(ayahUQNumber);
final tafsirText = items.isNotEmpty ? items.first.tafsirText : '';

await TafsirLibrary.fetchTranslate();
final translation = TafsirLibrary.getTranslationText(surahNumber, ayahNumber);

TafsirLibrary.getTafsirFromCurrentTafsir(int ayahUQNumber);
> UI Utilities_

UI Utilities

TafsirLibrary.changeTafsirDialog(
	tafsirStyle: TafsirStyle.defaults(isDark: false, context: context),
	isDark: false,
	pageNumber: pageIndex + 1,
)
> Font size dropdown_

Font size dropdown

TafsirLibrary.fontSizeDropdown(
	height: 30,
	isDark: false,
	tafsirStyle: TafsirStyle.defaults(isDark: false, context: context),
)
> Tajweed_

Tajweed

final isAvailable = TafsirLibrary.isTajweedAvailable;
if (!isAvailable) {
	await TafsirLibrary.downloadTajweed();
}

final info = await TafsirLibrary.getTajweedAyahInfo(
	surahNumber: 1,
	ayahNumber: 2,
);
> Sources_

Data Sources