Browse Source

Merge pull request 'fix/translate' (#28) from fix/translate into develop

Reviewed-on: https://git.nwhco.ir/amirreza.chegini/hade_hoda_flutter/pulls/28
pull/29/head
amirreza.chegini 2 days ago
parent
commit
d4235a493d
  1. 27
      assets/svg/button_tablet.svg
  2. 1
      lib/common_ui/resources/my_assets.dart
  3. 143
      lib/common_ui/resources/my_text_style.dart
  4. 7
      lib/core/widgets/about_us_dialog/about_us_dialog.dart
  5. 5
      lib/core/widgets/answer_box/styles/picture_box.dart
  6. 4
      lib/core/widgets/answer_box/styles/text_box.dart
  7. 49
      lib/core/widgets/button/my_blue_button.dart
  8. 2
      lib/core/widgets/button/my_button.dart
  9. 6
      lib/core/widgets/error/error_state.dart
  10. 4
      lib/core/widgets/hadith_dialog/hadith_dialog.dart
  11. 4
      lib/core/widgets/showcase/question_showcase.dart
  12. 8
      lib/features/download/presentation/ui/download_page.dart
  13. 4
      lib/features/download/presentation/ui/widgets/download_loading_widget.dart
  14. 86
      lib/features/language/presentation/ui/language_page.dart
  15. 54
      lib/features/language/presentation/ui/widgets/language_widget.dart
  16. 8
      lib/features/level/presentation/ui/widgets/hint_level_widget.dart
  17. 12
      lib/features/level/presentation/ui/widgets/level_widget.dart
  18. 5
      lib/features/question/presentation/ui/question_page.dart
  19. 7
      lib/features/question/presentation/ui/screens/diamond_screen.dart
  20. 22
      lib/features/question/presentation/ui/screens/question_screen.dart
  21. 4
      lib/features/question/presentation/ui/widgets/left_blob.dart
  22. 4
      lib/features/question/presentation/ui/widgets/right_blob.dart

27
assets/svg/button_tablet.svg

@ -0,0 +1,27 @@
<svg width="381" height="117" viewBox="0 0 381 117" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.01249 101.746C20.4465 120.18 338.386 121.655 366.084 102.507C391.363 85.096 380.999 22.7774 359.476 10.3612C330.152 -6.57422 46.5201 -0.556426 22.7939 12.7398C0.656583 25.156 -6.89102 82.6698 7.01249 101.746Z" fill="url(#paint0_linear_38_11)"/>
<path d="M356.017 98.496C355.68 98.7141 355.317 98.9169 354.932 99.1029C324.414 114.506 59.5876 113.961 22.6272 100.128C21.0177 99.6066 19.6782 98.8162 18.7616 97.8472C5.70675 81.1052 12.7937 30.5024 33.5458 19.5573C55.8577 7.83788 322.176 2.52229 349.71 17.4645C370.021 28.3678 379.652 83.177 356.017 98.496Z" fill="url(#paint1_linear_38_11)"/>
<path d="M18.8637 94.5198C31.4778 110.739 330.01 112.036 356.018 95.1894C379.754 79.8705 370.022 25.0404 349.812 14.1162C322.278 -0.784229 55.9598 4.51044 33.6818 16.2089C12.8958 27.1331 5.80891 77.7359 18.8637 94.5198Z" fill="url(#paint2_linear_38_11)"/>
<path style="mix-blend-mode:screen" opacity="0.5" d="M65.6934 12.9261C65.6934 12.9261 249.924 -3.84809 346.186 13.9614C352.198 19.0256 356.045 24.2608 357.63 29.5398C333.599 36.1001 301.62 39.6061 268.016 39.3646C217.881 39.2953 170.314 19.2911 128.148 16.0317C107.706 14.228 86.7231 13.1846 65.6934 12.9261Z" fill="url(#paint3_linear_38_11)"/>
<defs>
<linearGradient id="paint0_linear_38_11" x1="190.431" y1="116.232" x2="190.431" y2="-0.00935347" gradientUnits="userSpaceOnUse">
<stop stop-color="#CADCFF"/>
<stop offset="1" stop-color="white"/>
</linearGradient>
<linearGradient id="paint1_linear_38_11" x1="191.085" y1="110.592" x2="191.085" y2="8.31921" gradientUnits="userSpaceOnUse">
<stop stop-color="#07A7FD"/>
<stop offset="1" stop-color="#00DDF4"/>
</linearGradient>
<linearGradient id="paint2_linear_38_11" x1="191.086" y1="107.265" x2="191.086" y2="4.99177" gradientUnits="userSpaceOnUse">
<stop stop-color="#01EDF2"/>
<stop offset="1" stop-color="#08A3FF"/>
</linearGradient>
<linearGradient id="paint3_linear_38_11" x1="65.356" y1="18.4497" x2="357.219" y2="36.2768" gradientUnits="userSpaceOnUse">
<stop stop-color="#7ED140"/>
<stop offset="0.11" stop-color="#74C13B"/>
<stop offset="0.34" stop-color="#5B972E"/>
<stop offset="0.65" stop-color="#325319"/>
<stop offset="1"/>
</linearGradient>
</defs>
</svg>

1
lib/common_ui/resources/my_assets.dart

@ -33,6 +33,7 @@ class MyAssets {
static const String musicOff = 'assets/svg/music_off.svg';
static const String musicOn = 'assets/svg/music_on.svg';
static const String button = 'assets/svg/button.svg';
static const String buttonTablet = 'assets/svg/button_tablet.svg';
static const String button2 = 'assets/svg/button_2.svg';
static const String button3 = 'assets/svg/button_3.svg';
static const String theme = 'assets/svg/theme.svg';

143
lib/common_ui/resources/my_text_style.dart

@ -1,149 +1,6 @@
import 'package:flutter/material.dart';
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.dart';
class DinoKids {
static const DinoKids _i = DinoKids._internal();
const DinoKids._internal();
factory DinoKids() => _i;
static const String fontFamily = 'DinoKids';
/// Regular
static const TextStyle regular17 = TextStyle(
fontFamily: fontFamily,
fontSize: 17,
fontWeight: FontWeight.w400,
);
static const TextStyle regular26 = TextStyle(
fontFamily: fontFamily,
fontSize: 26,
fontWeight: FontWeight.w400,
);
static const TextStyle regular35 = TextStyle(
fontFamily: fontFamily,
fontSize: 35,
fontWeight: FontWeight.w400,
);
static const TextStyle regular40 = TextStyle(
fontFamily: fontFamily,
fontSize: 40,
fontWeight: FontWeight.w400,
);
static const TextStyle regular45 = TextStyle(
fontFamily: fontFamily,
fontSize: 45,
fontWeight: FontWeight.w400,
);
static const TextStyle regular = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w400,
);
}
class Marhey {
static const Marhey _i = Marhey._internal();
const Marhey._internal();
factory Marhey() => _i;
static const String fontFamily = 'Marhey';
/// Medium
static const TextStyle medium12 = TextStyle(
fontFamily: fontFamily,
fontSize: 12,
fontWeight: FontWeight.w500,
);
static const TextStyle medium14 = TextStyle(
fontFamily: fontFamily,
fontSize: 14,
fontWeight: FontWeight.w500,
);
static const TextStyle medium16 = TextStyle(
fontFamily: fontFamily,
fontSize: 16,
fontWeight: FontWeight.w500,
);
static const TextStyle medium22 = TextStyle(
fontFamily: fontFamily,
fontSize: 22,
fontWeight: FontWeight.w500,
);
/// Semi Bold
static const TextStyle semiBold17 = TextStyle(
fontFamily: fontFamily,
fontSize: 17,
fontWeight: FontWeight.w600,
);
static const TextStyle semiBold18 = TextStyle(
fontFamily: fontFamily,
fontSize: 18,
fontWeight: FontWeight.w600,
);
static const TextStyle semiBold22 = TextStyle(
fontFamily: fontFamily,
fontSize: 22,
fontWeight: FontWeight.w600,
);
/// Bold
static const TextStyle bold12 = TextStyle(
fontFamily: fontFamily,
fontSize: 12,
fontWeight: FontWeight.w700,
);
static const TextStyle bold14 = TextStyle(
fontFamily: fontFamily,
fontSize: 14,
fontWeight: FontWeight.w700,
);
static const TextStyle bold26 = TextStyle(
fontFamily: fontFamily,
fontSize: 26,
fontWeight: FontWeight.w700,
);
static const TextStyle semiBold = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w600,
);
static const TextStyle bold = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w700,
);
}
class Baloo2 {
static const Baloo2 _i = Baloo2._internal();
const Baloo2._internal();
factory Baloo2() => _i;
static const String fontFamily = 'Baloo_2';
static const TextStyle medium = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w500,
);
static const TextStyle semiBold = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w600,
);
static const TextStyle bold = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w700,
);
static const TextStyle extraBold = TextStyle(
fontFamily: fontFamily,
fontWeight: FontWeight.w800,
);
}
class MYTextStyle {
static const MYTextStyle _i = MYTextStyle._internal();
const MYTextStyle._internal();

7
lib/core/widgets/about_us_dialog/about_us_dialog.dart

@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
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_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/about_us_dialog/styles/background.dart';
@ -46,15 +45,9 @@ class AboutUsDialog extends StatelessWidget {
children: [
Text(
context.translate.about_us,
style: Marhey.semiBold22.copyWith(
color: Color(0XFF322386),
),
),
Text(
context.translate.about_us_desc,
style: Marhey.medium16.copyWith(
color: Color(0XFF494178),
),
),
MyImage(
image: MyAssets.newHorizon,

5
lib/core/widgets/answer_box/styles/picture_box.dart

@ -2,9 +2,7 @@ import 'dart:io';
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/widgets/images/my_image.dart';
import 'package:hadi_hoda_flutter/features/question/presentation/ui/widgets/black_white_effect.dart';
@ -74,9 +72,6 @@ class AnswerPictureBox extends StatelessWidget {
),
child: Text(
'$index',
style: Marhey.semiBold17.copyWith(
color: MyColors.white,
),
),
),
),

4
lib/core/widgets/answer_box/styles/text_box.dart

@ -1,6 +1,5 @@
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';
class AnswerTextBox extends StatelessWidget {
const AnswerTextBox({super.key, required this.text});
@ -26,9 +25,6 @@ class AnswerTextBox extends StatelessWidget {
child: Text(
text,
textAlign: TextAlign.center,
style: Marhey.bold14.copyWith(
color: Color(0XFF322386),
),
),
),
);

49
lib/core/widgets/button/my_blue_button.dart

@ -0,0 +1,49 @@
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/set_platform_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
class MyBlueButton extends StatelessWidget {
const MyBlueButton({
super.key,
this.onTap,
this.title,
});
final VoidCallback? onTap;
final String? title;
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
highlightColor: MyColors.transparent,
splashColor: MyColors.transparent,
child: Stack(
alignment: Alignment.center,
children: [
MyImage(image:
setSize(
context: context,
mobile: MyAssets.button,
tablet: MyAssets.buttonTablet,
) ??
'',
),
PositionedDirectional(
top: setSize(context: context, mobile: MySpaces.s10, tablet: MySpaces.s20),
child: Text(
title ?? '',
style: MYTextStyle.button1.copyWith(
color: Color(0XFF1D6EFF),
),
),
),
],
),
);
}
}

2
lib/core/widgets/button/my_button.dart

@ -37,7 +37,7 @@ class MyButton extends StatelessWidget {
top: MySpaces.s2,
child: Text(
title ?? '',
style: DinoKids.regular45.copyWith(
style: MYTextStyle.button1.copyWith(
color: ButtonType.textColor[type],
),
),

6
lib/core/widgets/error/error_state.dart

@ -2,7 +2,6 @@ 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/widgets/images/my_image.dart';
@ -19,14 +18,12 @@ class ErrorState extends StatelessWidget {
Spacer(),
Text(
context.translate.lost_connection,
style: DinoKids.regular45.copyWith(color: MyColors.white),
),
MyImage(image: MyAssets.error),
MySpaces.s40.gapHeight,
Text(
context.translate.connected_to_internet,
textAlign: TextAlign.center,
style: Marhey.medium12.copyWith(color: MyColors.white),
),
Spacer(),
SizedBox(
@ -44,9 +41,6 @@ class ErrorState extends StatelessWidget {
top: MySpaces.s8,
child: Text(
context.translate.try_again,
style: DinoKids.regular35.copyWith(
color: Color(0XFF1D6EFF),
),
),
),
],

4
lib/core/widgets/hadith_dialog/hadith_dialog.dart

@ -5,7 +5,6 @@ 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/set_platform_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/about_us_dialog/styles/background.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
@ -58,9 +57,6 @@ class HadithDialog extends StatelessWidget {
),
itemBuilder: (context, index) => Text(
hadith[index].hadithText ?? '',
style: Marhey.medium14.copyWith(
color: Color(0XFF494178),
),
),
),
),

4
lib/core/widgets/showcase/question_showcase.dart

@ -1,7 +1,6 @@
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_text_style.dart';
import 'package:hadi_hoda_flutter/core/utils/screen_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
import 'package:showcaseview/showcaseview.dart';
@ -28,9 +27,6 @@ class QuestionShowcase extends StatelessWidget {
disableMovingAnimation: true,
textColor: MyColors.white,
descriptionTextAlign: TextAlign.center,
descTextStyle: Marhey.bold12.copyWith(
color: MyColors.white,
),
disableScaleAnimation: true,
tooltipPadding: EdgeInsets.only(top: 60),
floatingActionWidget: FloatingActionWidget(

8
lib/features/download/presentation/ui/download_page.dart

@ -1,9 +1,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_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/status/base_status.dart';
import 'package:hadi_hoda_flutter/core/utils/convert_size.dart';
import 'package:hadi_hoda_flutter/core/utils/my_localization.dart';
@ -89,18 +87,12 @@ class DownloadPage extends StatelessWidget {
children: [
Text(
context.translate.please_wait,
style: Marhey.medium22.copyWith(
color: MyColors.white,
),
),
StreamBuilder<DownloadEntity>(
initialData: DownloadEntity(),
stream: context.read<DownloadBloc>().loadingStream,
builder: (context, snapshot) => Text(
'${context.translate.downloading_data} (${snapshot.data?.count.toMB ?? 0.0}mb / ${snapshot.data?.total.toMB ?? 0.0}mb)',
style: Marhey.medium12.copyWith(
color: MyColors.white,
),
),
),
],

4
lib/features/download/presentation/ui/widgets/download_loading_widget.dart

@ -1,6 +1,5 @@
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';
@ -73,9 +72,6 @@ class DownloadLoadingWidget extends StatelessWidget {
child: Center(
child: Text(
'${snapshot.data?.percent?.toInt() ?? 0}%',
style: DinoKids.regular17.copyWith(
color: Color(0XFF6E83A8),
),
),
),
),

86
lib/features/language/presentation/ui/language_page.dart

@ -6,11 +6,13 @@ 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/screen_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/button/my_button.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';
import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_bloc.dart';
import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_event.dart';
import 'package:hadi_hoda_flutter/features/language/presentation/bloc/language_state.dart';
import 'package:hadi_hoda_flutter/features/language/presentation/ui/widgets/language_widget.dart';
class LanguagePage extends StatelessWidget {
const LanguagePage({super.key});
@ -39,10 +41,10 @@ class LanguagePage extends StatelessWidget {
),
child: Padding(
padding: EdgeInsets.only(
left: 60,
right: 60,
bottom: MediaQuery.viewPaddingOf(context).bottom + MySpaces.s16,
top: MediaQuery.viewPaddingOf(context).bottom + 50,
left: setSize(context: context, mobile: 60, tablet: 0.3.w) ?? 0,
right: setSize(context: context, mobile: 60, tablet: 0.3.w) ?? 0,
bottom: MySpaces.s40,
top: 100,
),
child: Column(
children: [_title(context), _list(context), _btn(context)],
@ -60,7 +62,7 @@ class LanguagePage extends StatelessWidget {
MyImage(image: MyAssets.lang, size: 28),
Text(
context.translate.select_language,
style: Marhey.semiBold22.copyWith(color: Color(0XFF847AC4)),
style: MYTextStyle.titr0.copyWith(color: Color(0XFF847AC4)),
),
],
);
@ -74,60 +76,22 @@ class LanguagePage extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: List.generate(
context.read<LanguageBloc>().languages.length,
(index) => BlocBuilder<LanguageBloc, LanguageState>(
buildWhen: (previous, current) =>
previous.selectedLang.code != current.selectedLang.code,
builder: (context, state) {
final LanguageBloc languageBloc = context.read<LanguageBloc>();
return ListTile(
selected: state.selectedLang.code ==
languageBloc.languages[index].code,
onTap: () {
languageBloc.add(
ChangeLanguageEvent(languageBloc.languages[index]));
},
title: Text(context.read<LanguageBloc>().languages[index].title ?? ''),
titleTextStyle: Marhey.medium16.copyWith(
color: MyColors.white,
),
contentPadding: EdgeInsets.symmetric(
vertical: MySpaces.s12,
horizontal: 30,
),
minVerticalPadding: 0,
minTileHeight: 0,
minLeadingWidth: 0,
horizontalTitleGap: MySpaces.s12,
leading: state.selectedLang.code ==
languageBloc.languages[index].code ? Container(
height: 17,
width: 17,
padding: EdgeInsets.all(3),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
width: 1,
color: Color(0XFF3CFF3C),
),
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
Color(0XFF48D336),
Color(0XFF2D7C23),
],
),
),
child: MyImage(image: MyAssets.doneRounded),
) : SizedBox(height: 17, width: 17),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(12)),
),
selectedTileColor: MyColors.white.withValues(alpha: 0.2),
selectedColor: MyColors.white,
);
}
),
(index) =>
BlocBuilder<LanguageBloc, LanguageState>(
buildWhen: (previous, current) =>
previous.selectedLang.code != current.selectedLang.code,
builder: (context, state) {
final LanguageBloc languageBloc = context.read<LanguageBloc>();
return LanguageWidget(
selected: state.selectedLang.code ==
languageBloc.languages[index].code,
onTap: () {
languageBloc.add(ChangeLanguageEvent(languageBloc.languages[index]));
},
title: context.read<LanguageBloc>().languages[index].title,
);
}
),
),
),
),
@ -135,7 +99,7 @@ class LanguagePage extends StatelessWidget {
}
Widget _btn(BuildContext context) {
return MyButton(
return MyBlueButton(
onTap: () => context.read<LanguageBloc>().add(SaveLevelsEvent()),
title: context.translate.select,
);

54
lib/features/language/presentation/ui/widgets/language_widget.dart

@ -0,0 +1,54 @@
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/widgets/images/my_image.dart';
class LanguageWidget extends StatelessWidget {
const LanguageWidget({super.key, this.selected, this.onTap, this.title});
final bool? selected;
final VoidCallback? onTap;
final String? title;
@override
Widget build(BuildContext context) {
return ListTile(
selected: selected ?? false,
onTap: onTap,
title: Text(title ?? ''),
titleTextStyle: MYTextStyle.titr1,
contentPadding: EdgeInsets.symmetric(
vertical: MySpaces.s12,
horizontal: 30,
),
minVerticalPadding: 0,
minTileHeight: 0,
minLeadingWidth: 0,
horizontalTitleGap: MySpaces.s12,
leading: selected ?? false
? Container(
height: 17,
width: 17,
padding: EdgeInsets.all(3),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(width: 1, color: Color(0XFF3CFF3C)),
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Color(0XFF48D336), Color(0XFF2D7C23)],
),
),
child: MyImage(image: MyAssets.doneRounded),
)
: SizedBox(height: 17, width: 17),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(12)),
),
selectedTileColor: MyColors.white.withValues(alpha: 0.2),
selectedColor: MyColors.white,
);
}
}

8
lib/features/level/presentation/ui/widgets/hint_level_widget.dart

@ -1,7 +1,6 @@
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_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/screen_size.dart';
import 'package:hadi_hoda_flutter/core/widgets/answer_box/styles/text_box.dart';
@ -42,18 +41,11 @@ class HintLevelWidget extends StatelessWidget {
children: [
Text(
'${context.translate.step} ${level.order ?? 0}',
style: Marhey.bold14.copyWith(
color: Color(0xFFD8490B),
),
),
Text(
level.title ?? '',
maxLines: 3,
overflow: TextOverflow.ellipsis,
style: Marhey.semiBold18.copyWith(
color: Color(0xFF322386),
height: 1,
),
),
],
),

12
lib/features/level/presentation/ui/widgets/level_widget.dart

@ -1,7 +1,5 @@
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_text_style.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
import 'package:hadi_hoda_flutter/features/level/domain/entity/level_entity.dart';
@ -42,16 +40,6 @@ class LevelWidget extends StatelessWidget {
MyImage(image: LevelType.image[type] ?? MyAssets.level, size: 46),
Text(
'${level.order}',
style: DinoKids.regular26.copyWith(
color: MyColors.white,
shadows: [
Shadow(
color: Color(0XFF5B5B5B),
blurRadius: 2.86,
offset: Offset(0, 2),
),
],
),
),
if(level.id == chooseLevel?.id)
Positioned(

5
lib/features/question/presentation/ui/question_page.dart

@ -1,9 +1,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_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/screen_size.dart';
@ -97,9 +95,6 @@ class QuestionPage extends StatelessWidget {
previous.levelEntity?.id != current.levelEntity?.id,
builder: (context, state) => Text(
'${context.translate.step} ${state.levelEntity?.order ?? 1}',
style: Marhey.bold14.copyWith(
color: MyColors.white,
),
),
),
Spacer(),

7
lib/features/question/presentation/ui/screens/diamond_screen.dart

@ -5,7 +5,6 @@ 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_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/screen_size.dart';
@ -48,7 +47,6 @@ class DiamondScreen extends StatelessWidget {
Text _title(BuildContext context) {
return Text(
context.translate.you_win,
style: Marhey.semiBold22.copyWith(color: MyColors.white),
);
}
@ -115,8 +113,6 @@ class DiamondScreen extends StatelessWidget {
).createShader(bounds),
child: Text(
context.translate.you_got_diamond,
style: Marhey
.bold26, // The color here will be overridden by the ShaderMask
),
);
}
@ -147,9 +143,6 @@ class DiamondScreen extends StatelessWidget {
top: 10,
child: Text(
context.translate.view_map,
style: DinoKids.regular35.copyWith(
color: Color(0XFFD93D16),
),
),
),
],

22
lib/features/question/presentation/ui/screens/question_screen.dart

@ -1,9 +1,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_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/widgets/answer_box/answer_box.dart';
@ -41,16 +39,6 @@ class QuestionScreen extends StatelessWidget {
previous.currentQuestion?.id != current.currentQuestion?.id,
builder: (context, state) => Text(
'${context.translate.question} ${state.currentQuestion?.order ?? 1} / ${(state.levelEntity?.questions?.length ?? 0) - 1}',
style: Marhey.medium12.copyWith(
color: MyColors.white.withValues(alpha: 0.5),
shadows: [
Shadow(
offset: Offset(0, 1),
blurRadius: 1,
color: Color(0xFF000000).withValues(alpha: 0.25),
),
],
),
),
),
BlocBuilder<QuestionBloc, QuestionState>(
@ -59,16 +47,6 @@ class QuestionScreen extends StatelessWidget {
builder: (context, state) => Text(
state.currentQuestion?.title ?? '',
textAlign: TextAlign.center,
style: Marhey.semiBold22.copyWith(
color: MyColors.white,
shadows: [
Shadow(
offset: Offset(0, 1),
blurRadius: 1,
color: Color(0xFF000000).withValues(alpha: 0.25),
),
],
),
),
),
],

4
lib/features/question/presentation/ui/widgets/left_blob.dart

@ -1,6 +1,5 @@
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_text_style.dart';
import 'package:hadi_hoda_flutter/core/utils/my_localization.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
@ -16,9 +15,6 @@ class LeftBlob extends StatelessWidget {
Text(
context.translate.wrong_answer,
textAlign: TextAlign.center,
style: Marhey.medium12.copyWith(
color: Color(0XFFB5AEEE),
),
),
],
);

4
lib/features/question/presentation/ui/widgets/right_blob.dart

@ -1,6 +1,5 @@
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_text_style.dart';
import 'package:hadi_hoda_flutter/core/utils/my_localization.dart';
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart';
@ -16,9 +15,6 @@ class RightBlob extends StatelessWidget {
Text(
context.translate.be_cureful,
textAlign: TextAlign.center,
style: Marhey.medium12.copyWith(
color: Color(0XFFB5AEEE),
),
),
],
);

Loading…
Cancel
Save