diff --git a/lib/core/utils/check_platform.dart b/lib/core/utils/check_platform.dart index 9da2f2d..4b2fe90 100644 --- a/lib/core/utils/check_platform.dart +++ b/lib/core/utils/check_platform.dart @@ -1,3 +1,4 @@ +import 'package:flutter/cupertino.dart'; import 'package:hadi_hoda_flutter/core/utils/my_device.dart'; dynamic checkPlatform({ @@ -13,3 +14,20 @@ dynamic checkPlatform({ return web; } } + +double? checkSize({ + required BuildContext context, + double? mobile, + double? tablet, + double? desktop, +}) { + if (MyDevice.isMobile(context)) { + return mobile; + } else if (MyDevice.isTablet(context)) { + return tablet; + } else if (MyDevice.isDesktop(context)) { + return desktop; + } else { + return null; + } +} diff --git a/lib/core/widgets/about_us_dialog/about_us_dialog.dart b/lib/core/widgets/about_us_dialog/about_us_dialog.dart index 66966b0..55f5c6e 100644 --- a/lib/core/widgets/about_us_dialog/about_us_dialog.dart +++ b/lib/core/widgets/about_us_dialog/about_us_dialog.dart @@ -5,6 +5,7 @@ import 'package:go_router/go_router.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; import 'package:hadi_hoda_flutter/common_ui/theme/my_theme.dart'; +import 'package:hadi_hoda_flutter/core/utils/check_platform.dart'; import 'package:hadi_hoda_flutter/core/utils/my_image.dart'; import 'package:hadi_hoda_flutter/core/utils/my_localization.dart'; import 'package:hadi_hoda_flutter/core/widgets/about_us_dialog/styles/background.dart'; @@ -29,7 +30,13 @@ class AboutUsDialog extends StatelessWidget { filter: ImageFilter.blur(sigmaX: 6, sigmaY: 6), child: Center( child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 18), + padding: EdgeInsets.symmetric( + horizontal: checkSize( + context: context, + mobile: 18, + tablet: 120, + ) ?? 0, + ), child: Stack( clipBehavior: Clip.none, children: [ @@ -41,7 +48,11 @@ class AboutUsDialog extends StatelessWidget { context.translate.about_us, style: GoogleFonts.marhey( color: Color(0XFF322386), - fontSize: 22, + fontSize: checkSize( + context: context, + mobile: 22, + tablet: 30, + ), fontWeight: FontWeight.w600, ), ), @@ -49,12 +60,17 @@ class AboutUsDialog extends StatelessWidget { context.translate.about_us_desc, style: GoogleFonts.marhey( color: Color(0XFF494178), - fontSize: 16, + fontSize: checkSize( + context: context, + mobile: 16, + tablet: 21, + ), fontWeight: FontWeight.w500, ), ), MyImage( image: MyAssets.newHorizon, + size: 70, ), MyImage( image: MyAssets.khadijeLogo, @@ -63,22 +79,37 @@ class AboutUsDialog extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, spacing: 20, children: [ - MyImage(image: MyAssets.facebook, size: 33), - MyImage(image: MyAssets.instagram, size: 33), - MyImage(image: MyAssets.whatsapp, size: 33), - MyImage(image: MyAssets.youtube, size: 33), + MyImage( + image: MyAssets.facebook, + size: checkSize(context: context, mobile: 33, tablet: 46), + ), + MyImage( + image: MyAssets.instagram, + size: checkSize(context: context, mobile: 33, tablet: 46), + ), + MyImage( + image: MyAssets.whatsapp, + size: checkSize(context: context, mobile: 33, tablet: 46), + ), + MyImage( + image: MyAssets.youtube, + size: checkSize(context: context, mobile: 33, tablet: 46), + ), ], ), ], ), ), Positioned( - right: 30, + right: checkSize(context: context, mobile: 30, tablet: 40), top: -12, child: GestureDetector( onTap: context.pop, behavior: HitTestBehavior.opaque, - child: MyImage(image: MyAssets.closeBtn, size: 40), + child: MyImage( + image: MyAssets.closeBtn, + size: checkSize(context: context, mobile: 40, tablet: 60), + ), ), ), ], diff --git a/lib/core/widgets/about_us_dialog/styles/background.dart b/lib/core/widgets/about_us_dialog/styles/background.dart index cb434cf..4a8b91d 100644 --- a/lib/core/widgets/about_us_dialog/styles/background.dart +++ b/lib/core/widgets/about_us_dialog/styles/background.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:hadi_hoda_flutter/core/utils/check_platform.dart'; import 'package:hadi_hoda_flutter/core/utils/screen_size.dart'; class AboutUSDialogBackground extends StatelessWidget { @@ -12,8 +13,14 @@ class AboutUSDialogBackground extends StatelessWidget { clipper: _BottomShapeClipper(), child: Container( width: context.widthScreen, - height: 525, - padding: EdgeInsets.all(30), + height: checkSize(context: context, mobile: 525, tablet: 740), + padding: EdgeInsets.all( + checkSize( + context: context, + mobile: 30, + tablet: 60, + ) ?? 0, + ), decoration: const BoxDecoration( gradient: LinearGradient( begin: Alignment.bottomCenter, diff --git a/lib/features/intro/presentation/ui/intro_page.dart b/lib/features/intro/presentation/ui/intro_page.dart index bd96a4d..4ef6fd6 100644 --- a/lib/features/intro/presentation/ui/intro_page.dart +++ b/lib/features/intro/presentation/ui/intro_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:hadi_hoda_flutter/common_ui/resources/my_assets.dart'; import 'package:hadi_hoda_flutter/common_ui/theme/my_theme.dart'; +import 'package:hadi_hoda_flutter/core/utils/check_platform.dart'; import 'package:hadi_hoda_flutter/core/utils/my_image.dart'; import 'package:hadi_hoda_flutter/core/utils/screen_size.dart'; import 'package:hadi_hoda_flutter/core/widgets/about_us_dialog/about_us_dialog.dart'; @@ -26,8 +27,8 @@ class IntroPage extends StatelessWidget { child: Stack( alignment: Alignment.center, children: [ - _music(), - _name(), + _music(context), + _name(context), _bottomBtns(context), ], ), @@ -36,23 +37,24 @@ class IntroPage extends StatelessWidget { ); } - Positioned _music() { + Positioned _music(BuildContext context) { return Positioned( - top: 36, - right: 16, + top: checkSize(context: context, mobile: 36, tablet: 60), + right: checkSize(context: context, mobile: 16, tablet: 30), child: MyImage( image: MyAssets.musicOn, + size: checkSize(context: context, tablet: 120), ), ); } - Positioned _name() { + Positioned _name(BuildContext context) { return Positioned( top: 146, child: MyImage( image: MyAssets.hadiHoda, - size: 232, + size: checkSize(context: context, mobile: 232, tablet: 400), fit: BoxFit.cover, ), ); @@ -60,20 +62,30 @@ class IntroPage extends StatelessWidget { Positioned _bottomBtns(BuildContext context) { return Positioned( - bottom: 40, - left: 16, - right: 16, + bottom: checkSize(context: context, mobile: 40, tablet: 60), + left: checkSize(context: context, mobile: 16, tablet: 30), + right: checkSize(context: context, mobile: 16, tablet: 30), child: Row( crossAxisAlignment: CrossAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - MyImage(image: MyAssets.language), - InkWell(child: MyImage(image: MyAssets.start, size: 90), + MyImage( + image: MyAssets.language, + size: checkSize(context: context, tablet: 120), + ), + InkWell( + child: MyImage( + image: MyAssets.start, + size: checkSize(context: context, mobile: 90, tablet: 160), + ), onTap: () { showAboutUsDialog(context: context); }, ), - MyImage(image: MyAssets.theme), + MyImage( + image: MyAssets.theme, + size: checkSize(context: context, tablet: 120), + ), ], ), );