push before reset

faiz_dev
Faiz Hashmi 1 month ago
parent 32e168b14a
commit 8e13e0ca3c

@ -81,7 +81,7 @@ class _SubscriptionsPageState extends State<SubscriptionsPage> {
} }
}, },
onUpgradeSubscriptionClick: () { onUpgradeSubscriptionClick: () {
showMyBottomSheet(context, child: UpgradePackageSheet(subcriptionsVM.tempSubscriptions[index], false)); showMyBottomSheet(context, child: UpgradePackageSheet(subscription: subcriptionsVM.tempSubscriptions[index], isRenew: false));
}, },
onDowngradeSubscriptionClick: () { onDowngradeSubscriptionClick: () {
showMyBottomSheet(context, child: DowngradeDataSheet(subcriptionsVM.tempSubscriptions[index])); showMyBottomSheet(context, child: DowngradeDataSheet(subcriptionsVM.tempSubscriptions[index]));

@ -33,6 +33,30 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
// }); // });
} }
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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -61,39 +85,7 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
backgroundColor: MyColors.darkIconColor, backgroundColor: MyColors.darkIconColor,
isMainPage: model.mySubscriptionsBySp[index].isExpired ?? false, isMainPage: model.mySubscriptionsBySp[index].isExpired ?? false,
onRenewSubscriptionClick: () async { onRenewSubscriptionClick: () async {
showMyBottomSheet( onRenewSubscriptionClicked(sub: model.mySubscriptionsBySp[index]);
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<PaymentVM>().updateOrderProviderSubscriptionId(id: response.data ?? 0);
// navigateWithName(context, AppRoutes.paymentMethodsView, arguments: PaymentTypes.subscription);
// }
}, },
onUpgradeSubscriptionClick: () { onUpgradeSubscriptionClick: () {
// print(sub.toJson()); // print(sub.toJson());

@ -26,7 +26,7 @@ class UpgradePackageSheet extends StatefulWidget {
final Subscription subscription; final Subscription subscription;
final bool isRenew; final bool isRenew;
const UpgradePackageSheet(this.subscription, this.isRenew, {super.key}); const UpgradePackageSheet({required this.subscription, required this.isRenew, super.key});
@override @override
State<UpgradePackageSheet> createState() => _UpgradePackageSheetState(); State<UpgradePackageSheet> createState() => _UpgradePackageSheetState();
@ -90,7 +90,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
}); });
}), }),
6.height, 6.height,
if (AppState().getproviderSubscription.isNotEmpty && !AppState().getproviderSubscription.first.isExpired!) if (AppState().getproviderSubscription.isNotEmpty && !AppState().getproviderSubscription.first.isExpired! && !widget.isRenew) ...[
packageItem( packageItem(
LocaleKeys.upgradeAfterCurrentExpiry.tr(), 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!)))}"), ("${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<UpgradePackageSheet> {
isNowSelected = false; isNowSelected = false;
}); });
}), }),
],
12.height, 12.height,
ShowFillButton( ShowFillButton(
title: widget.isRenew ? LocaleKeys.renewVar.tr() : LocaleKeys.upgradeVar.tr(), title: widget.isRenew ? LocaleKeys.renewVar.tr() : LocaleKeys.upgradeVar.tr(),

@ -10,7 +10,7 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
class MySubscriptionsCard extends StatelessWidget { class MySubscriptionsCard extends StatelessWidget {
Subscription pvm; Subscription subscriptionVM;
bool isSubscribed; bool isSubscribed;
Color? backgroundColor; Color? backgroundColor;
late Color textColor; late Color textColor;
@ -18,7 +18,7 @@ class MySubscriptionsCard extends StatelessWidget {
Function onUpgradeSubscriptionClick; Function onUpgradeSubscriptionClick;
bool isMainPage; 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 @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -30,13 +30,13 @@ class MySubscriptionsCard extends StatelessWidget {
Row( Row(
children: [ children: [
Expanded( 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), // if (providerSubscriptionModel.isActive!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold),
5.width, 5.width,
Row( Row(
children: [ children: [
pvm.isExpired! subscriptionVM.isExpired!
? const SizedBox() ? const SizedBox()
: Container( : Container(
height: 15, height: 15,
@ -53,16 +53,16 @@ class MySubscriptionsCard extends StatelessWidget {
), ),
), ),
5.width, 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( .toContainer(
backgroundColor: pvm.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor, backgroundColor: subscriptionVM.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor,
borderRadius: 30, borderRadius: 30,
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 7), padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 7),
) )
.onPress(() { .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("Users:", "${pvm.subUsersRemaining.toString()} of ${pvm.totalSubUsers.toString()} remaining"),
// showItem("Branches:", "${pvm.branchesRemaining.toString()} of ${pvm.totalBranches.toString()} remaining"), // showItem("Branches:", "${pvm.branchesRemaining.toString()} of ${pvm.totalBranches.toString()} remaining"),
showItem("Ads: ", "${pvm.adsRemaining.toString()} remaining"), showItem("Ads: ", "${subscriptionVM.adsRemaining.toString()} remaining"),
showItem("Users: ", "${pvm.subUsersRemaining.toString()} remaining"), showItem("Users: ", "${subscriptionVM.subUsersRemaining.toString()} remaining"),
showItem("Branches: ", "${pvm.branchesRemaining.toString()} remaining"), showItem("Branches: ", "${subscriptionVM.branchesRemaining.toString()} remaining"),
14.height, 14.height,
Row( Row(
@ -85,7 +85,7 @@ class MySubscriptionsCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
pvm.price.toString().toText( subscriptionVM.price.toString().toText(
fontSize: 29, fontSize: 29,
isBold: true, isBold: true,
letterSpacing: -1.77, letterSpacing: -1.77,
@ -101,8 +101,8 @@ class MySubscriptionsCard extends StatelessWidget {
), ),
Row( Row(
children: [ 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), "${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 (pvm.isRenewable!) if (subscriptionVM.isRenewable!)
Row( Row(
children: [ children: [
6.width, 6.width,

Loading…
Cancel
Save