|
|
|
@ -9,6 +9,7 @@ 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/utils/set_platform_size.dart'; |
|
|
|
import 'package:hadi_hoda_flutter/core/widgets/animations/ship_anim.dart'; |
|
|
|
import 'package:hadi_hoda_flutter/core/widgets/button/my_white_button.dart'; |
|
|
|
import 'package:hadi_hoda_flutter/core/widgets/button/my_yellow_button.dart'; |
|
|
|
@ -24,107 +25,118 @@ class DiamondScreen extends StatelessWidget { |
|
|
|
return Column( |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
|
|
children: [ |
|
|
|
Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
children: [ |
|
|
|
Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
children: [ |
|
|
|
MyImage( |
|
|
|
image: MyAssets.behindDiamond, |
|
|
|
size: context.widthScreen * 1.5, |
|
|
|
fit: BoxFit.cover, |
|
|
|
), |
|
|
|
Lottie.asset( |
|
|
|
MyAnimations.lightPurple, |
|
|
|
), |
|
|
|
Transform.rotate( |
|
|
|
angle: 0.2, |
|
|
|
child: MyImage( |
|
|
|
image: MyAssets.diamondBig, |
|
|
|
size: 200, |
|
|
|
Expanded( |
|
|
|
child: Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
children: [ |
|
|
|
Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
children: [ |
|
|
|
MyImage( |
|
|
|
image: MyAssets.behindDiamond, |
|
|
|
size: context.widthScreen * 1.5, |
|
|
|
fit: BoxFit.cover, |
|
|
|
), |
|
|
|
), |
|
|
|
Padding( |
|
|
|
padding: EdgeInsets.only( |
|
|
|
top: 250, |
|
|
|
Lottie.asset( |
|
|
|
MyAnimations.lightPurple, |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
children: [ |
|
|
|
Text( |
|
|
|
context.translate.you_win, |
|
|
|
style: MYTextStyle.titr0, |
|
|
|
), |
|
|
|
ShaderMask( |
|
|
|
shaderCallback: (bounds) => LinearGradient( |
|
|
|
begin: Alignment.centerLeft, |
|
|
|
end: Alignment.centerRight, |
|
|
|
colors: [ |
|
|
|
MyColors.white, |
|
|
|
Color(0XFF63D4F9), |
|
|
|
], |
|
|
|
).createShader(bounds), |
|
|
|
child: Text( |
|
|
|
context.translate.you_got_diamond, |
|
|
|
style: MYTextStyle.titr1.copyWith( |
|
|
|
shadows: [ |
|
|
|
BoxShadow( |
|
|
|
color: MyColors.black.withValues(alpha: 0.25), |
|
|
|
offset: Offset(0, 1.22), |
|
|
|
blurRadius: 0.82, |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
Positioned( |
|
|
|
top: 120, |
|
|
|
right: MySpaces.s16, |
|
|
|
child: Stack( |
|
|
|
children: [ |
|
|
|
Transform.rotate( |
|
|
|
angle: 0.4, |
|
|
|
angle: 0.2, |
|
|
|
child: MyImage( |
|
|
|
image: MyAssets.diamondBig, |
|
|
|
size: 80, |
|
|
|
size: setSize(context: context, mobile: 200, tablet: 300), |
|
|
|
), |
|
|
|
), |
|
|
|
ClipRRect( |
|
|
|
child: BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 3, sigmaY: 3), |
|
|
|
child: SizedBox(width: 80, height: 80,), |
|
|
|
Positioned( |
|
|
|
bottom: setSize( |
|
|
|
context: context, |
|
|
|
mobile: context.heightScreen * 0.15, |
|
|
|
tablet: context.heightScreen * 0.2, |
|
|
|
), |
|
|
|
child: Column( |
|
|
|
mainAxisSize: MainAxisSize.min, |
|
|
|
children: [ |
|
|
|
Text( |
|
|
|
context.translate.you_win, |
|
|
|
style: MYTextStyle.titr0, |
|
|
|
), |
|
|
|
ShaderMask( |
|
|
|
shaderCallback: (bounds) => LinearGradient( |
|
|
|
begin: Alignment.centerLeft, |
|
|
|
end: Alignment.centerRight, |
|
|
|
colors: [ |
|
|
|
MyColors.white, |
|
|
|
Color(0XFF63D4F9), |
|
|
|
], |
|
|
|
).createShader(bounds), |
|
|
|
child: Text( |
|
|
|
context.translate.you_got_diamond, |
|
|
|
style: MYTextStyle.titr1.copyWith( |
|
|
|
shadows: [ |
|
|
|
BoxShadow( |
|
|
|
color: MyColors.black.withValues(alpha: 0.25), |
|
|
|
offset: Offset(0, 1.22), |
|
|
|
blurRadius: 0.82, |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
Positioned( |
|
|
|
top: 100, |
|
|
|
left: MySpaces.s16, |
|
|
|
child: Stack( |
|
|
|
children: [ |
|
|
|
Transform.rotate( |
|
|
|
angle: -0.6, |
|
|
|
child: MyImage( |
|
|
|
image: MyAssets.diamondBig, |
|
|
|
size: 60, |
|
|
|
Positioned( |
|
|
|
top: setSize(context: context, mobile: 120, tablet: 220), |
|
|
|
right: setSize(context: context, mobile: MySpaces.s16, tablet: 60), |
|
|
|
child: Stack( |
|
|
|
children: [ |
|
|
|
Transform.rotate( |
|
|
|
angle: 0.4, |
|
|
|
child: MyImage( |
|
|
|
image: MyAssets.diamondBig, |
|
|
|
size: setSize(context: context, mobile: 80, tablet: 150), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
ClipRRect( |
|
|
|
child: BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), |
|
|
|
child: SizedBox(width: 80, height: 80,), |
|
|
|
ClipRRect( |
|
|
|
child: BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 3, sigmaY: 3), |
|
|
|
child: SizedBox( |
|
|
|
width: setSize(context: context, mobile: 80, tablet: 200), |
|
|
|
height: setSize(context: context, mobile: 80, tablet: 200), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
Positioned( |
|
|
|
top: setSize(context: context, mobile: 100, tablet: 200), |
|
|
|
left: setSize(context: context, mobile: 16, tablet: 60), |
|
|
|
child: Stack( |
|
|
|
children: [ |
|
|
|
Transform.rotate( |
|
|
|
angle: -0.6, |
|
|
|
child: MyImage( |
|
|
|
image: MyAssets.diamondBig, |
|
|
|
size: setSize(context: context, mobile: 60, tablet: 100), |
|
|
|
), |
|
|
|
), |
|
|
|
ClipRRect( |
|
|
|
child: BackdropFilter( |
|
|
|
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5), |
|
|
|
child: SizedBox( |
|
|
|
width: setSize(context: context, mobile: 80, tablet: 200), |
|
|
|
height: setSize(context: context, mobile: 80, tablet: 200), |
|
|
|
), |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
], |
|
|
|
), |
|
|
|
), |
|
|
|
Stack( |
|
|
|
alignment: Alignment.center, |
|
|
|
|