Browse Source
Merge pull request 'fix/bugs' (#54) from fix/bugs into develop
Merge pull request 'fix/bugs' (#54) from fix/bugs into develop
Reviewed-on: https://git.nwhco.ir/amirreza.chegini/hade_hoda_flutter/pulls/54pull/55/head
22 changed files with 268 additions and 268 deletions
-
BINassets/videos/intro_1.mp4
-
BINassets/videos/intro_2.mp4
-
BINassets/videos/intro_3.mp4
-
BINassets/videos/intro_4.mp4
-
BINassets/videos/intro_5.mp4
-
5ios/Runner/Info.plist
-
11lib/core/utils/pre_cache_image.dart
-
3lib/core/widgets/answer_box/styles/picture_box.dart
-
10lib/features/download/data/datasource/download_datasource.dart
-
2lib/features/download/presentation/bloc/download_bloc.dart
-
73lib/features/intro/presentation/bloc/intro_bloc.dart
-
4lib/features/intro/presentation/bloc/intro_event.dart
-
2lib/features/intro/presentation/ui/intro_page.dart
-
54lib/features/intro/presentation/ui/screens/intro_1_screen.dart
-
38lib/features/intro/presentation/ui/screens/intro_2_screen.dart
-
38lib/features/intro/presentation/ui/screens/intro_3_screen.dart
-
37lib/features/intro/presentation/ui/screens/intro_4_screen.dart
-
35lib/features/intro/presentation/ui/screens/intro_5_screen.dart
-
29lib/features/question/presentation/bloc/question_bloc.dart
-
32lib/features/question/presentation/ui/screens/question_screen.dart
-
14lib/features/splash/presentation/bloc/splash_bloc.dart
-
3pubspec.yaml
@ -0,0 +1,11 @@ |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; |
|||
import 'package:hadi_hoda_flutter/core/utils/my_context.dart'; |
|||
|
|||
Future<void> preCacheImages() async { |
|||
await Future.wait( |
|||
MyAssets.images.map( |
|||
(assetPath) => precacheImage(AssetImage(assetPath), MyContext.get), |
|||
), |
|||
); |
|||
} |
|||
@ -1,54 +1,24 @@ |
|||
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/core/utils/my_localization.dart'; |
|||
import 'package:flutter_bloc/flutter_bloc.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/slide_up_fade.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/ui/widgets/bubble_chat_widget.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; |
|||
import 'package:pod_player/pod_player.dart'; |
|||
|
|||
class Intro1Screen extends StatelessWidget { |
|||
const Intro1Screen({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Stack( |
|||
alignment: Alignment.center, |
|||
children: [ |
|||
Positioned.fill( |
|||
child: MyImage(image: MyAssets.intro_1, fit: BoxFit.cover), |
|||
return SizedBox.expand( |
|||
child: PodVideoPlayer( |
|||
controller: context.read<IntroBloc>().podController1, |
|||
overlayBuilder: (options) => SizedBox.shrink(), |
|||
alwaysShowProgressBar: false, |
|||
videoAspectRatio: context.widthScreen / context.heightScreen, |
|||
frameAspectRatio: context.widthScreen / context.heightScreen, |
|||
backgroundColor: Color(0XFF00154C), |
|||
onLoading: (context) => SizedBox.shrink(), |
|||
), |
|||
PositionedDirectional( |
|||
end: setSize<double>( |
|||
context: context, |
|||
mobile: MySpaces.s10, |
|||
tablet: 0.15.w, |
|||
), |
|||
top: setSize<double>( |
|||
context: context, |
|||
mobile: 0.15.h, |
|||
tablet: 0.25.h, |
|||
), |
|||
width: 290, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 300), |
|||
child: BubbleChatWidget( |
|||
text: context.translate.intro_1_1, |
|||
flip: true, |
|||
), |
|||
), |
|||
), |
|||
PositionedDirectional( |
|||
start: setSize(context: context, mobile: MySpaces.s30, tablet: 0.2.w), |
|||
top: setSize(context: context, mobile: 0.3.h, tablet: 0.35.h), |
|||
width: 250, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 800), |
|||
child: BubbleChatWidget(text: context.translate.intro_1_2), |
|||
), |
|||
), |
|||
], |
|||
); |
|||
} |
|||
} |
|||
@ -1,37 +1,25 @@ |
|||
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/core/utils/my_localization.dart'; |
|||
import 'package:flutter_bloc/flutter_bloc.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.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/slide_up_fade.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/ui/widgets/bubble_chat_widget.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; |
|||
import 'package:pod_player/pod_player.dart'; |
|||
|
|||
class Intro2Screen extends StatelessWidget { |
|||
const Intro2Screen({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Stack( |
|||
alignment: Alignment.center, |
|||
children: [ |
|||
Positioned.fill( |
|||
child: Transform.flip( |
|||
flipX: true, |
|||
child: MyImage(image: MyAssets.intro_2, fit: BoxFit.cover), |
|||
return SizedBox.expand( |
|||
child: PodVideoPlayer( |
|||
controller: context.read<IntroBloc>().podController2, |
|||
overlayBuilder: (options) => SizedBox.shrink(), |
|||
alwaysShowProgressBar: false, |
|||
videoAspectRatio: context.widthScreen / context.heightScreen, |
|||
frameAspectRatio: context.widthScreen / context.heightScreen, |
|||
backgroundColor: MyColors.transparent, |
|||
onLoading: (context) => SizedBox.shrink(), |
|||
), |
|||
), |
|||
PositionedDirectional( |
|||
end: setSize(context: context, mobile: MySpaces.s40, tablet: 0.3.w), |
|||
top: setSize(context: context, mobile: 0.17.h, tablet: 0.23.h), |
|||
width: 250, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 300), |
|||
child: BubbleChatWidget(text: context.translate.intro_2), |
|||
), |
|||
), |
|||
], |
|||
); |
|||
} |
|||
} |
|||
@ -1,37 +1,25 @@ |
|||
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/core/utils/my_localization.dart'; |
|||
import 'package:flutter_bloc/flutter_bloc.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.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/slide_up_fade.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/ui/widgets/bubble_chat_widget.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; |
|||
import 'package:pod_player/pod_player.dart'; |
|||
|
|||
class Intro3Screen extends StatelessWidget { |
|||
const Intro3Screen({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Stack( |
|||
alignment: Alignment.center, |
|||
children: [ |
|||
Positioned.fill( |
|||
child: MyImage(image: MyAssets.intro_3, fit: BoxFit.cover), |
|||
return SizedBox.expand( |
|||
child: PodVideoPlayer( |
|||
controller: context.read<IntroBloc>().podController3, |
|||
overlayBuilder: (options) => SizedBox.shrink(), |
|||
alwaysShowProgressBar: false, |
|||
videoAspectRatio: context.widthScreen / context.heightScreen, |
|||
frameAspectRatio: context.widthScreen / context.heightScreen, |
|||
backgroundColor: MyColors.transparent, |
|||
onLoading: (context) => SizedBox.shrink(), |
|||
), |
|||
PositionedDirectional( |
|||
start: setSize(context: context, mobile: MySpaces.s30), |
|||
top: setSize(context: context, mobile: 180, tablet: 0.25.h), |
|||
width: 270, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 300), |
|||
child: BubbleChatWidget( |
|||
text: context.translate.intro_3, |
|||
flip: true, |
|||
), |
|||
), |
|||
), |
|||
], |
|||
); |
|||
} |
|||
} |
|||
@ -1,36 +1,25 @@ |
|||
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/core/utils/my_localization.dart'; |
|||
import 'package:flutter_bloc/flutter_bloc.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.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/slide_up_fade.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/ui/widgets/bubble_chat_widget.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; |
|||
import 'package:pod_player/pod_player.dart'; |
|||
|
|||
class Intro4Screen extends StatelessWidget { |
|||
const Intro4Screen({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Stack( |
|||
alignment: Alignment.center, |
|||
children: [ |
|||
Positioned.fill( |
|||
child: MyImage(image: MyAssets.intro_4, fit: BoxFit.cover), |
|||
return SizedBox.expand( |
|||
child: PodVideoPlayer( |
|||
controller: context.read<IntroBloc>().podController4, |
|||
overlayBuilder: (options) => SizedBox.shrink(), |
|||
alwaysShowProgressBar: false, |
|||
videoAspectRatio: context.widthScreen / context.heightScreen, |
|||
frameAspectRatio: context.widthScreen / context.heightScreen, |
|||
backgroundColor: MyColors.transparent, |
|||
onLoading: (context) => SizedBox.shrink(), |
|||
), |
|||
PositionedDirectional( |
|||
start: setSize(context: context, mobile: MySpaces.s10, tablet: 0.2.w), |
|||
bottom: setSize(context: context, mobile: 0.4.h, tablet: 0.4.h), |
|||
width: 237, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 300), |
|||
child: BubbleChatWidget( |
|||
text: context.translate.intro_4, |
|||
), |
|||
), |
|||
), |
|||
], |
|||
); |
|||
} |
|||
} |
|||
@ -1,34 +1,25 @@ |
|||
import 'package:flutter/material.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; |
|||
import 'package:hadi_hoda_flutter/core/utils/my_localization.dart'; |
|||
import 'package:flutter_bloc/flutter_bloc.dart'; |
|||
import 'package:hadi_hoda_flutter/common_ui/resources/my_colors.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/slide_up_fade.dart'; |
|||
import 'package:hadi_hoda_flutter/core/widgets/images/my_image.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/ui/widgets/bubble_chat_widget.dart'; |
|||
import 'package:hadi_hoda_flutter/features/intro/presentation/bloc/intro_bloc.dart'; |
|||
import 'package:pod_player/pod_player.dart'; |
|||
|
|||
class Intro5Screen extends StatelessWidget { |
|||
const Intro5Screen({super.key}); |
|||
|
|||
@override |
|||
Widget build(BuildContext context) { |
|||
return Stack( |
|||
alignment: Alignment.center, |
|||
children: [ |
|||
Positioned.fill( |
|||
child: MyImage(image: MyAssets.intro_5, fit: BoxFit.cover), |
|||
return SizedBox.expand( |
|||
child: PodVideoPlayer( |
|||
controller: context.read<IntroBloc>().podController5, |
|||
overlayBuilder: (options) => SizedBox.shrink(), |
|||
alwaysShowProgressBar: false, |
|||
videoAspectRatio: context.widthScreen / context.heightScreen, |
|||
frameAspectRatio: context.widthScreen / context.heightScreen, |
|||
backgroundColor: MyColors.transparent, |
|||
onLoading: (context) => SizedBox.shrink(), |
|||
), |
|||
PositionedDirectional( |
|||
top: setSize(context: context, mobile: 0.37.h, tablet: 0.42.h), |
|||
width: 200, |
|||
child: SlideUpFade( |
|||
delay: Duration(milliseconds: 300), |
|||
child: BubbleChatWidget( |
|||
text: context.translate.intro_5, |
|||
), |
|||
), |
|||
), |
|||
], |
|||
); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue