From b6c9fb96d45670475e7da36d855b76f6f750434e Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Sun, 3 May 2026 16:34:55 +0300 Subject: [PATCH] Hotfix app update sent to stores, VersionID 21.1, Lakum points implementation contd. --- assets/images/png/lakum_logo.png | Bin 0 -> 9247 bytes lib/core/app_assets.dart | 1 + .../habib_wallet/habib_wallet_view_model.dart | 2 + .../authentication/saved_login_screen.dart | 2 +- lib/presentation/home/landing_page.dart | 24 ++- .../home/widgets/habib_wallet_card.dart | 32 +-- .../home/widgets/lakum_wallet_card.dart | 189 ++++++++++++++++++ lib/widgets/attachment_options.dart | 2 +- pubspec.yaml | 4 +- 9 files changed, 234 insertions(+), 22 deletions(-) create mode 100644 assets/images/png/lakum_logo.png create mode 100644 lib/presentation/home/widgets/lakum_wallet_card.dart diff --git a/assets/images/png/lakum_logo.png b/assets/images/png/lakum_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b03187129c1075d389539522f944603dceec0102 GIT binary patch literal 9247 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 literal 0 HcmV?d00001 diff --git a/lib/core/app_assets.dart b/lib/core/app_assets.dart index e3f180c1..2612bde9 100644 --- a/lib/core/app_assets.dart +++ b/lib/core/app_assets.dart @@ -417,6 +417,7 @@ class AppAssets { static const String comprehensiveCheckupAr = '$pngBasePath/cc_ar.png'; static const String maleIcon = '$pngBasePath/male_icon.png'; static const String femaleIcon = '$pngBasePath/female_icon.png'; + static const String lakumLogo = '$pngBasePath/lakum_logo.png'; static const String fullBodyFrontMale = '$pngBasePath/full_body_front_male.png'; static const String fullBodyBackMale = '$pngBasePath/full_body_back_male.png'; diff --git a/lib/features/habib_wallet/habib_wallet_view_model.dart b/lib/features/habib_wallet/habib_wallet_view_model.dart index 44fd640a..01dc2357 100644 --- a/lib/features/habib_wallet/habib_wallet_view_model.dart +++ b/lib/features/habib_wallet/habib_wallet_view_model.dart @@ -42,6 +42,8 @@ class HabibWalletViewModel extends ChangeNotifier { String? get amountError => _amountError; String? get hospitalError => _hospitalError; + String yahalaAccountNumber = ''; + // Clear amount error void clearAmountError() { _amountError = null; diff --git a/lib/presentation/authentication/saved_login_screen.dart b/lib/presentation/authentication/saved_login_screen.dart index 7d4d32aa..64afff0b 100644 --- a/lib/presentation/authentication/saved_login_screen.dart +++ b/lib/presentation/authentication/saved_login_screen.dart @@ -150,7 +150,7 @@ class _SavedLogin extends State { fontSize: 12.f, fontWeight: FontWeight.w600, borderRadius: 12.r, - height: 40.h, + height: 44.h, padding: EdgeInsets.symmetric(vertical: 10.h), icon: (isOther == true && loginType == LoginTypeEnum.sms) ? AppAssets.whatsapp : getTypeIcons(loginType.toInt), iconColor: diff --git a/lib/presentation/home/landing_page.dart b/lib/presentation/home/landing_page.dart index b740a04f..5ea5b96b 100644 --- a/lib/presentation/home/landing_page.dart +++ b/lib/presentation/home/landing_page.dart @@ -41,6 +41,7 @@ import 'package:hmg_patient_app_new/presentation/contact_us/contact_us.dart'; import 'package:hmg_patient_app_new/presentation/hmg_services/services_page.dart'; import 'package:hmg_patient_app_new/presentation/home/data/landing_page_data.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/habib_wallet_card.dart'; +import 'package:hmg_patient_app_new/presentation/home/widgets/lakum_wallet_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/large_service_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/small_service_card.dart'; import 'package:hmg_patient_app_new/presentation/home/widgets/welcome_widget.dart'; @@ -456,7 +457,7 @@ class _LandingPageState extends State { padding: EdgeInsets.only(left: 16.h, right: 16.h), itemBuilder: (context, index) { return SizedBox( - height: isTablet ? 290.h : 255.h, + height: isTablet ? 290.h : 255.h, width: 250.w, child: getIndexSwiperCard(index), ); @@ -833,7 +834,26 @@ class _LandingPageState extends State { separatorBuilder: (BuildContext cxt, int index) => SizedBox(width: 16.w), ), ), - appState.isAuthenticated ? HabibWalletCard() : SizedBox(), + appState.isAuthenticated + ? Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true).paddingSymmetrical(24.h, 0.h), + SizedBox( + height: 170.h, + child: ListView.separated( + scrollDirection: Axis.horizontal, + itemCount: 2, + padding: EdgeInsetsDirectional.only(start: 24.h, end: 24.h), + itemBuilder: (BuildContext context, int index) { + return index == 0 ? HabibWalletCard() : LakumWalletCard(); + }, + separatorBuilder: (BuildContext context, int index) => SizedBox(width: 12.h), + ), + ), + ], + ) + : SizedBox(), ], ), ), diff --git a/lib/presentation/home/widgets/habib_wallet_card.dart b/lib/presentation/home/widgets/habib_wallet_card.dart index 5e4b4dfe..15aed11a 100644 --- a/lib/presentation/home/widgets/habib_wallet_card.dart +++ b/lib/presentation/home/widgets/habib_wallet_card.dart @@ -23,23 +23,23 @@ class HabibWalletCard extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true), - // Row( - // children: [ - // LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true), - // SizedBox(width: 2.h), - // Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h), - // ], - // ), - ], - ).paddingSymmetrical(24.h, 0.h), + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true), + // // Row( + // // children: [ + // // LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true), + // // SizedBox(width: 2.h), + // // Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h), + // // ], + // // ), + // ], + // ).paddingSymmetrical(24.h, 0.h), SizedBox(height: 16.h), Container( // height: 150.h, - width: double.infinity, + width: 355.h, decoration: RoundedRectangleBorder().toSmoothCornerDecoration( color: AppColors.whiteColor, borderRadius: 24, @@ -104,7 +104,7 @@ class HabibWalletCard extends StatelessWidget { .toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.h, width: 80.h, height: 40.h), ], ), - Spacer(), + // Spacer(), Utils.getPaymentMethods(), ], ); @@ -171,7 +171,7 @@ class HabibWalletCard extends StatelessWidget { ), ), ]), - ).paddingSymmetrical(24.h, 0.h).onPress(() { + ).paddingSymmetrical(0.h, 0.h).onPress(() { Navigator.of(context).push( CustomPageRoute( page: HabibWalletPage(), diff --git a/lib/presentation/home/widgets/lakum_wallet_card.dart b/lib/presentation/home/widgets/lakum_wallet_card.dart new file mode 100644 index 00000000..e693667c --- /dev/null +++ b/lib/presentation/home/widgets/lakum_wallet_card.dart @@ -0,0 +1,189 @@ +import 'package:easy_localization/easy_localization.dart'; +import 'package:flutter/material.dart'; +import 'package:hmg_patient_app_new/core/app_assets.dart'; +import 'package:hmg_patient_app_new/core/app_state.dart'; +import 'package:hmg_patient_app_new/core/dependencies.dart'; +import 'package:hmg_patient_app_new/core/utils/size_utils.dart'; +import 'package:hmg_patient_app_new/core/utils/utils.dart'; +import 'package:hmg_patient_app_new/extensions/string_extensions.dart'; +import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; +import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart'; +import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; +import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.dart'; +import 'package:hmg_patient_app_new/presentation/habib_wallet/recharge_wallet_page.dart'; +import 'package:hmg_patient_app_new/theme/colors.dart'; +import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; +import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart'; +import 'package:provider/provider.dart'; + +class LakumWalletCard extends StatelessWidget { + const LakumWalletCard({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // LocaleKeys.myBalanceSubtitle.tr(context: context).toText16(isBold: true), + // // Row( + // // children: [ + // // LocaleKeys.viewAllServices.tr(context: context).toText12(color: AppColors.primaryRedColor, isBold: true), + // // SizedBox(width: 2.h), + // // Icon(Icons.arrow_forward_ios, color: AppColors.primaryRedColor, size: 14.h), + // // ], + // // ), + // ], + // ).paddingSymmetrical(24.h, 0.h), + SizedBox(height: 16.h), + Container( + // height: 150.h, + width: 355.h, + decoration: RoundedRectangleBorder().toSmoothCornerDecoration( + color: AppColors.whiteColor, + borderRadius: 24, + ), + child: Stack(children: [ + Positioned( + right: 0, + child: ClipRRect( + borderRadius: BorderRadius.circular(24.0), + child: Utils.buildImgWithAssets( + icon: AppAssets.lakumLogo, + width: 150.h, + height: 150.h, + )), + ), + Padding( + padding: EdgeInsets.all(16.h), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // children: [ + // LocaleKeys.habibWallet.tr(context: context).toText16(isBold: true, letterSpacing: -0.2), + "Lakum Wallet".toText16(isBold: true, letterSpacing: -0.2), + // Container( + // height: 40.h, + // width: 40.h, + // decoration: RoundedRectangleBorder().toSmoothCornerDecoration( + // color: AppColors.textColor, + // borderRadius: 8.h, + // ), + // child: Padding( + // padding: EdgeInsets.all(8.h), + // child: Utils.buildSvgWithAssets( + // icon: AppAssets.show_icon, + // width: 12.h, + // height: 12.h, + // fit: BoxFit.contain, + // ), + // ), + // ), + // ], + // ), + SizedBox(height: 4.h), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Consumer(builder: (context, habibWalletVM, child) { + return Row( + mainAxisSize: MainAxisSize.max, + children: [ + Row( + children: [ + Utils.buildSvgWithAssets( + icon: AppAssets.saudi_riyal_icon, + iconColor: AppColors.inputLabelTextColor, + width: 24.h, + height: 24.h, + fit: BoxFit.contain, + ), + SizedBox(width: 8.h), + NumberFormat.decimalPattern() + .format(habibWalletVM.habibWalletAmount) + .toString() + .toText32(isBold: true, isEnglishOnly: true) + .toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.h, width: 80.h, height: 40.h), + ], + ), + // Spacer(), + Utils.getPaymentMethods(), + ], + ); + }), + ], + ), + SizedBox(height: 16.h), + Row( + children: [ + Expanded( + flex: 6, + child: CustomButton( + height: 40.h, + icon: AppAssets.recharge_icon, + iconColor: AppColors.infoColor, + iconSize: 24.h, + backgroundColor: AppColors.infoColor.withAlpha(15), + textColor: AppColors.infoColor, + text: LocaleKeys.recharge.tr(context: context), + borderWidth: 0.w, + fontWeight: FontWeight.w600, + borderColor: AppColors.infoColor.withAlpha(15), + padding: EdgeInsets.fromLTRB(4, 0, 12, 0), + fontSize: 14.f, + onPressed: () { + Navigator.of(context).push(CustomPageRoute(page: RechargeWalletPage())); + }, + ), + ), + SizedBox(width: 8.h), + Expanded( + flex: 1, + child: Container( + height: (isFoldable || isTablet) ? 50.h : 40.h, + decoration: RoundedRectangleBorder().toSmoothCornerDecoration( + color: AppColors.textColor, + borderRadius: 10.h, + side: BorderSide( + color: AppColors.textColor, + width: 1.2, + ), + ), + child: Transform.flip( + flipX: getIt.get().isArabic(), + child: Utils.buildSvgWithAssets( + icon: AppAssets.forward_arrow_icon, + iconColor: AppColors.whiteColor, + width: 24.w, + height: 24.h, + fit: BoxFit.contain, + ), + ), + ).onPress(() { + Navigator.of(context).push( + CustomPageRoute( + page: HabibWalletPage(), + ), + ); + }), + ), + ], + ), + ], + ), + ), + ]), + ).paddingSymmetrical(0.h, 0.h).onPress(() { + Navigator.of(context).push( + CustomPageRoute( + page: HabibWalletPage(), + ), + ); + }), + ], + ); + } +} diff --git a/lib/widgets/attachment_options.dart b/lib/widgets/attachment_options.dart index eca937e5..bbc0bc6d 100644 --- a/lib/widgets/attachment_options.dart +++ b/lib/widgets/attachment_options.dart @@ -48,7 +48,7 @@ class AttachmentOptions extends StatelessWidget { ).onPress(() async { await onGalleryTap(); }), - if (showFilesOption) SizedBox(height: 16.h), + if (!showFilesOption) SizedBox(height: 16.h), if (showFilesOption) checkInOptionCard( appState, diff --git a/pubspec.yaml b/pubspec.yaml index 5db6c526..99310e51 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,8 +2,8 @@ name: hmg_patient_app_new description: "New HMG Patient App" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.25+24 -#version: 0.0.1+23 +#version: 0.0.30+29 +version: 0.0.4+1 environment: sdk: ">=3.6.0 <4.0.0"