diff --git a/assets/images/error.png b/assets/images/error.png index dd3b679..f2002f4 100644 Binary files a/assets/images/error.png and b/assets/images/error.png differ diff --git a/assets/images/hadi_hoda.png b/assets/images/hadi_hoda.png index 8d05776..62a40ae 100644 Binary files a/assets/images/hadi_hoda.png and b/assets/images/hadi_hoda.png differ diff --git a/assets/svg/globe.svg b/assets/svg/globe.svg new file mode 100644 index 0000000..ed91021 --- /dev/null +++ b/assets/svg/globe.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/common_ui/resources/my_assets.dart b/lib/common_ui/resources/my_assets.dart index 842bcd7..d6ac0dc 100644 --- a/lib/common_ui/resources/my_assets.dart +++ b/lib/common_ui/resources/my_assets.dart @@ -56,6 +56,7 @@ class MyAssets { static const String doneRounded = 'assets/svg/done_rounded.svg'; static const String lang = 'assets/svg/lang.svg'; static const String unMusic = 'assets/svg/unmusic.svg'; + static const String globe = 'assets/svg/globe.svg'; static final List images = [ diff --git a/lib/core/widgets/button/my_blue_button.dart b/lib/core/widgets/button/my_blue_button.dart index 709a036..8006b49 100644 --- a/lib/core/widgets/button/my_blue_button.dart +++ b/lib/core/widgets/button/my_blue_button.dart @@ -11,10 +11,12 @@ class MyBlueButton extends StatelessWidget { super.key, this.onTap, this.title, + this.top, }); final VoidCallback? onTap; final String? title; + final double? top; @override Widget build(BuildContext context) { @@ -34,7 +36,7 @@ class MyBlueButton extends StatelessWidget { '', ), PositionedDirectional( - top: setSize(context: context, mobile: MySpaces.s10, tablet: MySpaces.s20), + top: top ?? setSize(context: context, mobile: MySpaces.s10, tablet: MySpaces.s20), child: Text( title ?? '', style: MYTextStyle.button1.copyWith( diff --git a/lib/core/widgets/error/error_state.dart b/lib/core/widgets/error/error_state.dart index 680f52f..2d6244f 100644 --- a/lib/core/widgets/error/error_state.dart +++ b/lib/core/widgets/error/error_state.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.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/gap.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/button/my_blue_button.dart'; import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; class ErrorState extends StatelessWidget { @@ -18,34 +20,20 @@ class ErrorState extends StatelessWidget { Spacer(), Text( context.translate.lost_connection, + style: MYTextStyle.button1, ), MyImage(image: MyAssets.error), MySpaces.s40.gapHeight, Text( context.translate.connected_to_internet, textAlign: TextAlign.center, + style: MYTextStyle.matn3, ), Spacer(), - SizedBox( - height: 84, - width: 194, - child: InkWell( - onTap: onTap, - highlightColor: MyColors.transparent, - splashColor: MyColors.transparent, - child: Stack( - alignment: Alignment.center, - children: [ - MyImage(image: MyAssets.button), - PositionedDirectional( - top: MySpaces.s8, - child: Text( - context.translate.try_again, - ), - ), - ], - ), - ), + MyBlueButton( + title: context.translate.retry, + onTap: onTap, + top: setSize(context: context, mobile: MySpaces.s6, tablet: MySpaces.s16), ), ], ); diff --git a/lib/features/download/presentation/ui/download_page.dart b/lib/features/download/presentation/ui/download_page.dart index 00e056d..7efeedd 100644 --- a/lib/features/download/presentation/ui/download_page.dart +++ b/lib/features/download/presentation/ui/download_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.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/status/base_status.dart'; import 'package:hadi_hoda_flutter/core/utils/convert_size.dart'; import 'package:hadi_hoda_flutter/core/utils/my_localization.dart'; @@ -72,10 +73,20 @@ class DownloadPage extends StatelessWidget { ); } - MyImage _image() { - return MyImage( - image: MyAssets.hadiHoda, - size: 200, + Widget _image() { + return Stack( + children: [ + MyImage( + image: MyAssets.hadiHoda, + ), + PositionedDirectional( + start: MySpaces.s10, + top: MySpaces.s40, + child: MyImage( + image: MyAssets.globe, + ), + ), + ], ); } @@ -87,12 +98,14 @@ class DownloadPage extends StatelessWidget { children: [ Text( context.translate.please_wait, + style: MYTextStyle.titr0, ), StreamBuilder( initialData: DownloadEntity(), stream: context.read().loadingStream, builder: (context, snapshot) => Text( '${context.translate.downloading_data} (${snapshot.data?.count.toMB ?? 0.0}mb / ${snapshot.data?.total.toMB ?? 0.0}mb)', + style: MYTextStyle.matn3, ), ), ], @@ -102,7 +115,7 @@ class DownloadPage extends StatelessWidget { Positioned _loading(BuildContext context) { return Positioned( - bottom: MediaQuery.viewPaddingOf(context).bottom + MySpaces.s16, + bottom: MySpaces.s40, child: DownloadLoadingWidget( loadingStream: context.read().loadingStream, ), diff --git a/lib/features/download/presentation/ui/widgets/download_loading_widget.dart b/lib/features/download/presentation/ui/widgets/download_loading_widget.dart index e742a55..933eb13 100644 --- a/lib/features/download/presentation/ui/widgets/download_loading_widget.dart +++ b/lib/features/download/presentation/ui/widgets/download_loading_widget.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.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/features/download/domain/entities/download_entity.dart'; @@ -72,6 +73,9 @@ class DownloadLoadingWidget extends StatelessWidget { child: Center( child: Text( '${snapshot.data?.percent?.toInt() ?? 0}%', + style: MYTextStyle.titr4.copyWith( + color: Color(0XFF6E83A8), + ), ), ), ), diff --git a/lib/features/splash/presentation/ui/splash_page.dart b/lib/features/splash/presentation/ui/splash_page.dart index 4d57461..7036d27 100644 --- a/lib/features/splash/presentation/ui/splash_page.dart +++ b/lib/features/splash/presentation/ui/splash_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_spaces.dart'; import 'package:hadi_hoda_flutter/core/utils/screen_size.dart'; +import 'package:hadi_hoda_flutter/core/utils/set_platform_size.dart'; import 'package:hadi_hoda_flutter/core/widgets/animations/rotation_anim.dart'; import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; import 'package:hadi_hoda_flutter/features/splash/presentation/bloc/splash_bloc.dart'; @@ -60,21 +61,31 @@ class _SplashPageState extends State { ); } - MyImage _image() { - return MyImage( - image: MyAssets.hadiHoda, - size: 200, + Widget _image() { + return Stack( + children: [ + MyImage( + image: MyAssets.hadiHoda, + ), + PositionedDirectional( + start: MySpaces.s10, + top: MySpaces.s40, + child: MyImage( + image: MyAssets.globe, + ), + ), + ], ); } Positioned _loading(BuildContext context) { return Positioned( - bottom: MediaQuery.viewPaddingOf(context).bottom + MySpaces.s16, + bottom: MySpaces.s40, child: RotationAnim( child: MyImage( image: MyAssets.loading, - size: 70, + size: setSize(context: context, mobile: 70, tablet: 100), ), ) ); diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index c6c0b2b..3c3c83e 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -4,10 +4,10 @@ "tap_to_select": "Tap the correct option to select.", "select_language": "Select language", "select": "Select", - "please_wait": "Please wait a few moments...", + "please_wait": "wait a few moments...", "downloading_data": "Downloading initial data", "lost_connection": "Lost connection!", - "try_again": "Try Again", + "retry": "Retry", "connected_to_internet": "You must be connected to the internet to download the initial game data.", "start": "Start", "step": "Step", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index fe54103..0bb94a7 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -127,7 +127,7 @@ abstract class AppLocalizations { /// No description provided for @please_wait. /// /// In en, this message translates to: - /// **'Please wait a few moments...'** + /// **'wait a few moments...'** String get please_wait; /// No description provided for @downloading_data. @@ -142,11 +142,11 @@ abstract class AppLocalizations { /// **'Lost connection!'** String get lost_connection; - /// No description provided for @try_again. + /// No description provided for @retry. /// /// In en, this message translates to: - /// **'Try Again'** - String get try_again; + /// **'Retry'** + String get retry; /// No description provided for @connected_to_internet. /// diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index ea0c2e8..fa617e0 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -25,7 +25,7 @@ class AppLocalizationsEn extends AppLocalizations { String get select => 'Select'; @override - String get please_wait => 'Please wait a few moments...'; + String get please_wait => 'wait a few moments...'; @override String get downloading_data => 'Downloading initial data'; @@ -34,7 +34,7 @@ class AppLocalizationsEn extends AppLocalizations { String get lost_connection => 'Lost connection!'; @override - String get try_again => 'Try Again'; + String get retry => 'Retry'; @override String get connected_to_internet =>