quran_kit_pro_ui 0.1.0
quran_kit_pro_ui: ^0.1.0 copied to clipboard
Complete Quran UI toolkit for Flutter — 33 ready-made widgets and 6 screens for Quran reading, audio playback, tafsir, search, bookmarks, and more. Built on top of quran_kit_pro_core.
example/main.dart
import 'package:flutter/material.dart';
import 'package:quran_kit_pro_ui/quran_kit_pro_ui.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await QuranKit.initialize(QuranKitConfig());
runApp(const QuranUiExample());
}
class QuranUiExample extends StatelessWidget {
const QuranUiExample({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Quran Kit Pro UI Example',
theme: ThemeData(useMaterial3: true),
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
late final QuranReaderController _controller;
@override
void initState() {
super.initState();
_controller = QuranReaderController();
_controller.init();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return QuranReaderScreen(
controller: _controller,
appBarBuilder: (ctx, ctrl) => AppBar(
title: const Text('القرآن الكريم'),
actions: [
IconButton(
icon: const Icon(Icons.search),
onPressed: () => Navigator.push(
ctx,
MaterialPageRoute(
builder: (_) => QuranSearchScreen(
onResultTap: (surah, ayah) {
_controller.goToSurah(surah);
Navigator.pop(ctx);
},
),
),
),
),
IconButton(
icon: const Icon(Icons.settings),
onPressed: () => Navigator.push(
ctx,
MaterialPageRoute(builder: (_) => const QuranSettingsScreen()),
),
),
],
),
);
}
}