From 8e13e0ca3c40ec1258796339bf137dde775268aa Mon Sep 17 00:00:00 2001 From: Faiz Hashmi Date: Thu, 25 Sep 2025 09:31:45 +0300 Subject: [PATCH] push before reset --- .../subscriptions/all_subscriptions_page.dart | 2 +- .../subscriptions/my_subscritions_page.dart | 58 ++++++++----------- .../sheet/upgrade_package_sheet.dart | 5 +- .../widget/my_subscriptions_card.dart | 26 ++++----- 4 files changed, 42 insertions(+), 49 deletions(-) diff --git a/lib/views/subscriptions/all_subscriptions_page.dart b/lib/views/subscriptions/all_subscriptions_page.dart index c45739d..38cef93 100644 --- a/lib/views/subscriptions/all_subscriptions_page.dart +++ b/lib/views/subscriptions/all_subscriptions_page.dart @@ -81,7 +81,7 @@ class _SubscriptionsPageState extends State { } }, onUpgradeSubscriptionClick: () { - showMyBottomSheet(context, child: UpgradePackageSheet(subcriptionsVM.tempSubscriptions[index], false)); + showMyBottomSheet(context, child: UpgradePackageSheet(subscription: subcriptionsVM.tempSubscriptions[index], isRenew: false)); }, onDowngradeSubscriptionClick: () { showMyBottomSheet(context, child: DowngradeDataSheet(subcriptionsVM.tempSubscriptions[index])); diff --git a/lib/views/subscriptions/my_subscritions_page.dart b/lib/views/subscriptions/my_subscritions_page.dart index 81d2b4a..002f850 100644 --- a/lib/views/subscriptions/my_subscritions_page.dart +++ b/lib/views/subscriptions/my_subscritions_page.dart @@ -33,6 +33,30 @@ class _MySubscriptionsPageState extends State { // }); } + onRenewSubscriptionClicked({required Subscription sub}) { + Subscription subscription = Subscription( + id: sub.id, + isMyCurrentPackage: true, + isExpired: sub.isExpired, + isActive: sub.isActive, + isSubscribed: true, + name: sub.name, + description: sub.description, + totalAds: sub.totalAds ?? 0, + totalBranches: sub.totalBranches ?? 0, + totalSubUsers: sub.totalSubUsers ?? 0, + countryId: 1, + countryName: "KSA", + currency: "SAR", + price: sub.price, + dateEnd: sub.dateEnd, + dateStart: sub.dateStart, + serviceProviderId: sub.serviceProviderId, + subscriptionAppliedId: sub.serviceProviderId, + ); + return showMyBottomSheet(context, child: UpgradePackageSheet(subscription: subscription, isRenew: true)); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -61,39 +85,7 @@ class _MySubscriptionsPageState extends State { backgroundColor: MyColors.darkIconColor, isMainPage: model.mySubscriptionsBySp[index].isExpired ?? false, onRenewSubscriptionClick: () async { - showMyBottomSheet( - context, - child: UpgradePackageSheet( - Subscription( - id: sub.id, - isMyCurrentPackage: true, - isExpired: sub.isExpired, - isActive: sub.isActive, - isSubscribed: true, - name: sub.name, - description: sub.description, - totalAds: sub.totalAds ?? 0, - totalBranches: sub.totalBranches ?? 0, - totalSubUsers: sub.totalSubUsers ?? 0, - countryId: 1, - countryName: "KSA", - currency: "SAR", - price: 0, - dateEnd: sub.dateEnd, - dateStart: sub.dateStart, - serviceProviderId: sub.serviceProviderId, - subscriptionAppliedId: sub.serviceProviderId, - ), - true), - ); - // logger.i(model.mySubscriptionsBySp[index].toRawJson()); - // Utils.showLoading(context); - // GenericRespModel response = await model.createSubscriptionOrder(model.mySubscriptionsBySp[index].subscriptionID ?? 0, true, true); - // Utils.hideLoading(context); - // if (response.data != null) { - // context.read().updateOrderProviderSubscriptionId(id: response.data ?? 0); - // navigateWithName(context, AppRoutes.paymentMethodsView, arguments: PaymentTypes.subscription); - // } + onRenewSubscriptionClicked(sub: model.mySubscriptionsBySp[index]); }, onUpgradeSubscriptionClick: () { // print(sub.toJson()); diff --git a/lib/views/subscriptions/sheet/upgrade_package_sheet.dart b/lib/views/subscriptions/sheet/upgrade_package_sheet.dart index 550a675..bf3d96e 100644 --- a/lib/views/subscriptions/sheet/upgrade_package_sheet.dart +++ b/lib/views/subscriptions/sheet/upgrade_package_sheet.dart @@ -26,7 +26,7 @@ class UpgradePackageSheet extends StatefulWidget { final Subscription subscription; final bool isRenew; - const UpgradePackageSheet(this.subscription, this.isRenew, {super.key}); + const UpgradePackageSheet({required this.subscription, required this.isRenew, super.key}); @override State createState() => _UpgradePackageSheetState(); @@ -90,7 +90,7 @@ class _UpgradePackageSheetState extends State { }); }), 6.height, - if (AppState().getproviderSubscription.isNotEmpty && !AppState().getproviderSubscription.first.isExpired!) + if (AppState().getproviderSubscription.isNotEmpty && !AppState().getproviderSubscription.first.isExpired! && !widget.isRenew) ...[ packageItem( LocaleKeys.upgradeAfterCurrentExpiry.tr(), ("${LocaleKeys.yourSubscriptionUpgradeCurrentSubscriptionAffectingFrom.tr()} ${AppState().getproviderSubscription.first.dateEnd == null ? "" : AppState().getproviderSubscription.first.dateEnd == null ? DateHelper.formatAsDayMonthYear(DateTime.now()) : DateHelper.formatAsDayMonthYear(DateHelper.parseStringToDate(DateHelper.formatDateT(AppState().getproviderSubscription.first.dateEnd!)))}"), @@ -102,6 +102,7 @@ class _UpgradePackageSheetState extends State { isNowSelected = false; }); }), + ], 12.height, ShowFillButton( title: widget.isRenew ? LocaleKeys.renewVar.tr() : LocaleKeys.upgradeVar.tr(), diff --git a/lib/views/subscriptions/widget/my_subscriptions_card.dart b/lib/views/subscriptions/widget/my_subscriptions_card.dart index f605863..f33968f 100644 --- a/lib/views/subscriptions/widget/my_subscriptions_card.dart +++ b/lib/views/subscriptions/widget/my_subscriptions_card.dart @@ -10,7 +10,7 @@ import 'package:easy_localization/easy_localization.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; class MySubscriptionsCard extends StatelessWidget { - Subscription pvm; + Subscription subscriptionVM; bool isSubscribed; Color? backgroundColor; late Color textColor; @@ -18,7 +18,7 @@ class MySubscriptionsCard extends StatelessWidget { Function onUpgradeSubscriptionClick; bool isMainPage; - MySubscriptionsCard(this.pvm, {Key? key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, required this.onUpgradeSubscriptionClick, this.isMainPage = true}) : super(key: key); + MySubscriptionsCard(this.subscriptionVM, {super.key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, required this.onUpgradeSubscriptionClick, this.isMainPage = true}); @override Widget build(BuildContext context) { @@ -30,13 +30,13 @@ class MySubscriptionsCard extends StatelessWidget { Row( children: [ Expanded( - child: pvm.name.toString().toText(fontSize: 18, color: textColor, letterSpacing: -0.43), + child: subscriptionVM.name.toString().toText(fontSize: 18, color: textColor, letterSpacing: -0.43), ), // if (providerSubscriptionModel.isActive!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold), 5.width, Row( children: [ - pvm.isExpired! + subscriptionVM.isExpired! ? const SizedBox() : Container( height: 15, @@ -53,16 +53,16 @@ class MySubscriptionsCard extends StatelessWidget { ), ), 5.width, - (pvm.isExpired! ? "Expired" : "Subscribed").toText(color: pvm.isExpired! ? MyColors.darkTextColor : MyColors.white) + (subscriptionVM.isExpired! ? "Expired" : "Subscribed").toText(color: subscriptionVM.isExpired! ? MyColors.darkTextColor : MyColors.white) ], ) .toContainer( - backgroundColor: pvm.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor, + backgroundColor: subscriptionVM.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor, borderRadius: 30, padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 7), ) .onPress(() { - pvm.isExpired! ? onRenewSubscriptionClick() : onUpgradeSubscriptionClick(); + subscriptionVM.isExpired! ? onRenewSubscriptionClick() : onUpgradeSubscriptionClick(); }) ], ), @@ -71,9 +71,9 @@ class MySubscriptionsCard extends StatelessWidget { // showItem("Users:", "${pvm.subUsersRemaining.toString()} of ${pvm.totalSubUsers.toString()} remaining"), // showItem("Branches:", "${pvm.branchesRemaining.toString()} of ${pvm.totalBranches.toString()} remaining"), - showItem("Ads: ", "${pvm.adsRemaining.toString()} remaining"), - showItem("Users: ", "${pvm.subUsersRemaining.toString()} remaining"), - showItem("Branches: ", "${pvm.branchesRemaining.toString()} remaining"), + showItem("Ads: ", "${subscriptionVM.adsRemaining.toString()} remaining"), + showItem("Users: ", "${subscriptionVM.subUsersRemaining.toString()} remaining"), + showItem("Branches: ", "${subscriptionVM.branchesRemaining.toString()} remaining"), 14.height, Row( @@ -85,7 +85,7 @@ class MySubscriptionsCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.end, children: [ - pvm.price.toString().toText( + subscriptionVM.price.toString().toText( fontSize: 29, isBold: true, letterSpacing: -1.77, @@ -101,8 +101,8 @@ class MySubscriptionsCard extends StatelessWidget { ), Row( children: [ - "${pvm.isExpired! ? "Expired" : "Expires"} on ${DateHelper.formatAsDayMonthYear(DateHelper.parseStringToDate(DateHelper.formatDateT(pvm.dateEnd ?? "")))}".toText(fontSize: 14, letterSpacing: -0.56, color: textColor, fontWeight: MyFonts.Medium), - if (pvm.isRenewable!) + "${subscriptionVM.isExpired! ? "Expired" : "Expires"} on ${DateHelper.formatAsDayMonthYear(DateHelper.parseStringToDate(DateHelper.formatDateT(subscriptionVM.dateEnd ?? "")))}".toText(fontSize: 14, letterSpacing: -0.56, color: textColor, fontWeight: MyFonts.Medium), + if (subscriptionVM.isRenewable!) Row( children: [ 6.width,