diff --git a/lib/core/widgets/dialog/hadith_dialog.dart b/lib/core/widgets/dialog/hadith_dialog.dart index 4e2259e..0191fce 100644 --- a/lib/core/widgets/dialog/hadith_dialog.dart +++ b/lib/core/widgets/dialog/hadith_dialog.dart @@ -5,6 +5,8 @@ import 'package:go_router/go_router.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart'; +import 'package:hadi_hoda_flutter/common_ui/resources/my_text_style.dart'; +import 'package:hadi_hoda_flutter/core/utils/my_localization.dart'; import 'package:hadi_hoda_flutter/core/utils/set_platform_size.dart'; import 'package:hadi_hoda_flutter/core/widgets/dialog/styles/dialog_background.dart'; import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; @@ -46,22 +48,50 @@ class HadithDialog extends StatelessWidget { clipBehavior: Clip.none, children: [ DialogBackground( - child: ListView.separated( - itemCount: hadith.length, - separatorBuilder: (context, index) => Divider( - height: 40, - thickness: 1, - endIndent: MySpaces.s20, - indent: MySpaces.s20, - color: Color(0xFFC2BDE4), - ), - itemBuilder: (context, index) => Text( - hadith[index].hadithText ?? '', - ), + child: Builder( + builder: (context) { + if(hadith.isNotEmpty){ + return ListView.separated( + itemCount: hadith.length, + separatorBuilder: (context, index) => Divider( + height: 40, + thickness: 1, + endIndent: MySpaces.s20, + indent: MySpaces.s20, + color: Color(0xFFC2BDE4), + ), + itemBuilder: (context, index) => Text.rich( + TextSpan( + text: '${hadith[index].narratorName ?? ''}:\n', + style: MYTextStyle.titr1.copyWith( + color: Color(0XFF494178), + ), + children: [ + TextSpan( + text: hadith[index].hadithText, + style: MYTextStyle.matn1.copyWith( + color: Color(0XFF494178), + ), + ), + ], + ), + ), + ); + } else { + return Center( + child: Text( + context.translate.no_hadith, + style: MYTextStyle.titr4.copyWith( + color: Color(0XFF494178), + ), + ), + ); + } + }, ), ), - Positioned( - right: setSize(context: context, mobile: 30, tablet: 40), + PositionedDirectional( + end: setSize(context: context, mobile: 30, tablet: 40), top: -12, child: GestureDetector( onTap: context.pop, diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 82b4f68..8cd72d7 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -29,5 +29,6 @@ "exit_dialog_desc": "Come back, hero!\nThe adventure isn’t over yet", "cancel": "Cancel", "exit": "Exit", - "play": "PLAY" + "play": "PLAY", + "no_hadith": "There isn't any hadith for this question" } \ No newline at end of file diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index 1e1258b..5458599 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -279,6 +279,12 @@ abstract class AppLocalizations { /// In en, this message translates to: /// **'PLAY'** String get play; + + /// No description provided for @no_hadith. + /// + /// In en, this message translates to: + /// **'There isn\'t any hadith for this question'** + String get no_hadith; } class _AppLocalizationsDelegate diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index 95c2a37..cdf29bf 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -106,4 +106,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get play => 'PLAY'; + + @override + String get no_hadith => 'There isn\'t any hadith for this question'; }