Merge branch 'aamir_dev' into faiz_development

aamir_dev
Faiz Hashmi 1 year ago
commit 4fb6ee7fb5

@ -2,7 +2,7 @@ import 'dart:io';
import 'package:car_provider_app/config/provider_routes.dart';
import 'package:car_provider_app/views/settings/branch/dealer/widget/add_phone_num_wiget.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:http/http.dart' as http;
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/classes/app_state.dart';
@ -101,8 +101,9 @@ class DashboardVM extends BaseVM {
await adVm.getVehicleTypes();
await adVm.getVehicleAdsDuration();
await requestsVM.getRequests(appType: AppType.provider);
await subscriptionsVM.getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
// await subscriptionsVM.getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
await subscriptionsVM.getSubscriptionBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "", true);
// await subscriptionsVM.getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
}
void checkUserSubscription(SubscriptionActionTypeEnum actionType, BuildContext context, {required Function() callback}) async {
@ -128,6 +129,7 @@ class DashboardVM extends BaseVM {
}
void performCheckOnAds(BuildContext context) async {
//adsRemaining
if (AppState().getproviderSubscription.isNotEmpty && AppState().getproviderSubscription.first.adsRemaining! > 0) {
await navigateWithName(context, ProviderAppRoutes.defineBranch);
} else {

@ -11,6 +11,8 @@ import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/main.dart';
import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
import 'package:mc_common_app/models/subscriptions_models/subscription_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
@ -36,7 +38,7 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
void initState() {
super.initState();
scheduleMicrotask(() {
context.read<SubscriptionsVM>().getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
// context.read<SubscriptionsVM>().getMySubscriptionsBySP(AppState().getUser.data?.userInfo?.providerId.toString() ?? "");
});
}
@ -63,7 +65,7 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
itemBuilder: (BuildContext context, int index) {
var sub = model.mySubscriptionsBySp[index];
return MySubscriptionsCard(
model.mySubscriptionsBySp[index],
sub,
isSubscribed: false,
backgroundColor: MyColors.darkIconColor,
isMainPage: model.mySubscriptionsBySp[index].isExpired ?? false,
@ -73,16 +75,16 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
context,
child: UpgradePackageSheet(
Subscription(
id: sub.subscriptionID,
id: sub.id,
isMyCurrentPackage: true,
isExpired: sub.isExpired,
isActive: sub.isActive,
isSubscribed: true,
name: sub.subscriptionName,
description: sub.subscriptionDescription,
numberOfAds: sub.totalAds ?? 0,
numberOfBranches: sub.totalBranches ?? 0,
numberOfSubUsers: sub.totalSubUsers ?? 0,
name: sub.name,
description: sub.description,
totalAds: sub.totalAds ?? 0,
totalBranches: sub.totalBranches ?? 0,
totalSubUsers: sub.totalSubUsers ?? 0,
countryId: 1,
countryName: "KSA",
currency: "SAR",
@ -94,9 +96,9 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
),
true),
);
// logger.i(model.mySubscriptionsBySp[index].toRawJson());
// Utils.showLoading(context);
// MResponse response = await model.createSubscriptionOrder(model.mySubscriptionsBySp[index].subscriptionID ?? 0, true, true);
// 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);
@ -130,11 +132,6 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
// );
},
);
// .onPress(
// () {
// // showMyBottomSheet(context, child: const SelectPackageSheet());
// },
// );
},
separatorBuilder: (BuildContext context, int index) {
return 21.height;
@ -149,7 +146,6 @@ class _MySubscriptionsPageState extends State<MySubscriptionsPage> {
);
}),
),
21.height,
ShowFillButton(
title: LocaleKeys.modifyPackage.tr(),
maxWidth: double.infinity,

@ -58,6 +58,7 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
padding: const EdgeInsets.only(left: 21, right: 21, bottom: 21, top: 4),
child: Consumer<SubscriptionsVM>(builder: (context, model, _) {
if (model.state == ViewState.busy) {
print(model.newPrice);
return SizedBox(
width: double.infinity,
height: MediaQuery.of(context).size.height / 2,
@ -88,17 +89,18 @@ class _UpgradePackageSheetState extends State<UpgradePackageSheet> {
});
}),
6.height,
packageItem(
LocaleKeys.upgradeAfterCurrentExpiry.tr(),
(LocaleKeys.yourSubscriptionUpgradeCurrentSubscriptionAffectingFrom.tr() + " ${DateHelper.formatAsLongDate(widget.subscription.dateEnd ?? DateTime.now())}"),
widget.subscription.price.toString(),
isNowSelected ? false : true,
).onPress(() {
price = widget.subscription.price.toString();
setState(() {
isNowSelected = false;
});
}),
if (!AppState().getproviderSubscription.first.isExpired!)
packageItem(
LocaleKeys.upgradeAfterCurrentExpiry.tr(),
(LocaleKeys.yourSubscriptionUpgradeCurrentSubscriptionAffectingFrom.tr() + " ${DateHelper.formatAsLongDate(widget.subscription.dateEnd ?? DateTime.now())}"),
widget.subscription.price.toString(),
isNowSelected ? false : true,
).onPress(() {
price = widget.subscription.price.toString();
setState(() {
isNowSelected = false;
});
}),
12.height,
ShowFillButton(
title: widget.isRenew ? LocaleKeys.renewVar.tr() : LocaleKeys.upgradeVar.tr(),

@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/subscriptions_models/subscription_model.dart';
@ -29,13 +30,6 @@ class AllSubscriptionsCard extends StatelessWidget {
@override
Widget build(BuildContext context) {
textColor = backgroundColor == null ? Colors.black : Colors.white;
// return InkWell(
// onTap: isSubscribed
// ? null
// : () {
// onRenewSubscriptionClick();
// },
// child:
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@ -44,39 +38,15 @@ class AllSubscriptionsCard extends StatelessWidget {
Expanded(
child: subscription.name.toString().toText(
fontSize: 18,
letterSpacing: -0.43,
color: textColor,
),
),
// if (isSubscribed)
// Row(
// children: [
// Container(
// color: MyColors.white,
// padding: const EdgeInsets.all(2),
// child: const Icon(
// Icons.done,
// size: 8,
// color: MyColors.primaryColor,
// ),
// ).toCircle(
// borderRadius: 122,
// ),
// 6.width,
// "Subscribed".toText(color: Colors.white, isBold: true)
// ],
// ).toContainer(
// backgroundColor: MyColors.primaryColor,
// borderRadius: 20,
// padding: const EdgeInsets.symmetric(
// horizontal: 6,
// vertical: 3,
// ),
// )
if (subscription.isMyCurrentPackage!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: FontWeight.bold),
if (subscription.isMyCurrentPackage!) "Current Package".toText(color: MyColors.primaryColor, fontWeight: MyFonts.SemiBold),
if (!subscription.isMyCurrentPackage!)
(subscription.subscriptionTypeEnum)!
.getStringSubscriptionTypeEnum()
.toText(color: Colors.white)
.toText(color: Colors.white, fontSize: 12)
.toContainer(
backgroundColor: MyColors.primaryColor,
borderRadius: 30,
@ -95,9 +65,9 @@ class AllSubscriptionsCard extends StatelessWidget {
],
),
6.height,
showItem("Ads:", subscription.numberOfAds.toString()),
showItem("Users:", subscription.numberOfSubUsers.toString()),
showItem("Branches:", subscription.numberOfBranches.toString()),
showItem("Ads:", subscription.subscriptionAds.toString()),
showItem("Users:", subscription.subscriptionSubUsers.toString()),
showItem("Branches:", subscription.subscriptionBranches.toString()),
14.height,
Row(
crossAxisAlignment: CrossAxisAlignment.center,
@ -108,25 +78,20 @@ class AllSubscriptionsCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
subscription.price.toString().toText(
fontSize: 26,
isBold: true,
color: textColor,
),
subscription.price.toString().toText(fontSize: 29, isBold: true, color: textColor, letterSpacing: -1.77),
2.width,
"${subscription.currency}/Month".toText(
color: MyColors.lightTextColor,
fontSize: 16,
),
"${subscription.currency}/Month".toText(color: MyColors.lightTextColor, fontSize: 16, letterSpacing: -0.64),
],
),
),
if (subscription.isMyCurrentPackage!)
if (subscription.subscriptionTypeEnum == SubscriptionTypeEnum.current && subscription.isRenewable!)
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
(subscription.subscriptionTypeEnum == SubscriptionTypeEnum.current) ? "Renew".toText() : (subscription.subscriptionTypeEnum)!.getStringSubscriptionTypeEnum().toText(),
(subscription.subscriptionTypeEnum == SubscriptionTypeEnum.current && subscription.isRenewable!)
? "Renew".toText()
: (subscription.subscriptionTypeEnum)!.getStringSubscriptionTypeEnum().toText(),
6.width,
const Icon(
Icons.arrow_forward,
@ -153,15 +118,9 @@ class AllSubscriptionsCard extends StatelessWidget {
Widget showItem(String title, String value) {
return Row(
children: [
title.toText(
fontSize: 14,
color: textColor,
),
title.toText(fontSize: 14, color: textColor, letterSpacing: -0.56, fontWeight: MyFonts.Medium),
2.width,
value.toText(
fontSize: 14,
color: textColor,
),
value.toText(fontSize: 14, color: textColor, letterSpacing: -0.56, fontWeight: MyFonts.Medium),
],
);
}

@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/main.dart';
import 'package:mc_common_app/models/subscriptions_models/provider_subscription_model.dart';
import 'package:mc_common_app/models/subscriptions_models/subscription_model.dart';
import 'package:mc_common_app/theme/colors.dart';
@ -9,7 +11,7 @@ import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
class MySubscriptionsCard extends StatelessWidget {
ProviderSubscriptionModel providerSubscriptionModel;
Subscription pvm;
bool isSubscribed;
Color? backgroundColor;
late Color textColor;
@ -17,20 +19,12 @@ class MySubscriptionsCard extends StatelessWidget {
Function onUpgradeSubscriptionClick;
bool isMainPage;
MySubscriptionsCard(this.providerSubscriptionModel,
{Key? key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, required this.onUpgradeSubscriptionClick, this.isMainPage = true})
MySubscriptionsCard(this.pvm, {Key? key, this.isSubscribed = false, this.backgroundColor, required this.onRenewSubscriptionClick, required this.onUpgradeSubscriptionClick, this.isMainPage = true})
: super(key: key);
@override
Widget build(BuildContext context) {
textColor = backgroundColor == null ? Colors.black : Colors.white;
// return InkWell(
// onTap: isSubscribed
// ? null
// : () {
// onRenewSubscriptionClick();
// },
// child:
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -38,17 +32,13 @@ class MySubscriptionsCard extends StatelessWidget {
Row(
children: [
Expanded(
child: providerSubscriptionModel.subscriptionName.toString().toText(
fontSize: 18,
color: textColor,
),
child: pvm.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: [
providerSubscriptionModel.isExpired!
pvm.isExpired!
? const SizedBox()
: Container(
height: 15,
@ -65,65 +55,55 @@ class MySubscriptionsCard extends StatelessWidget {
),
),
5.width,
(providerSubscriptionModel.isExpired! ? "Expired" : "Subscribed").toText(color: providerSubscriptionModel.isExpired! ? MyColors.darkTextColor : MyColors.white)
(pvm.isExpired! ? "Expired" : "Subscribed").toText(color: pvm.isExpired! ? MyColors.darkTextColor : MyColors.white)
],
)
.toContainer(
backgroundColor: providerSubscriptionModel.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor,
backgroundColor: pvm.isExpired! ? MyColors.greyButtonColor : MyColors.primaryColor,
borderRadius: 30,
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 7),
)
.onPress(() {
providerSubscriptionModel.isExpired! ? onRenewSubscriptionClick() : onUpgradeSubscriptionClick();
pvm.isExpired! ? onRenewSubscriptionClick() : onUpgradeSubscriptionClick();
})
],
),
6.height,
showItem("Ads:", providerSubscriptionModel.adsRemaining.toString()),
showItem("Users:", providerSubscriptionModel.subUsersRemaining.toString()),
showItem("Branches:", providerSubscriptionModel.branchesRemaining.toString()),
showItem("Ads:", "${pvm.adsRemaining.toString()} of ${pvm.totalAds.toString()} remaining"),
showItem("Users:", "${pvm.subUsersRemaining.toString()} of ${pvm.totalSubUsers.toString()} remaining"),
showItem("Branches:", "${pvm.branchesRemaining.toString()} of ${pvm.totalBranches.toString()} remaining"),
14.height,
// Row(
// crossAxisAlignment: CrossAxisAlignment.center,
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// Expanded(
// child: Row(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.end,
// children: [
// "10000".toString().toText(
// fontSize: 26,
// isBold: true,
// color: textColor,
// ),
// 2.width,
// " SAR/Month".toText(
// color: MyColors.lightTextColor,
// fontSize: 16,
// ),
// ],
// ),
// ),
// ],
// ),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
children: [
"${providerSubscriptionModel.isExpired! ? "Expired" : "Expires"} on ${DateHelper.formatAsDayMonthYear(providerSubscriptionModel.dateEnd)}".toText(
fontSize: 14,
color: textColor,
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
pvm.price.toString().toText(
fontSize: 29,
isBold: true,
letterSpacing: -1.77,
color: textColor,
),
2.width,
" SAR/Month".toText(color: MyColors.lightTextColor, fontSize: 16, letterSpacing: -0.64),
],
),
),
if (!providerSubscriptionModel.isTrialSubscription!)
],
),
Row(
children: [
"${pvm.isExpired! ? "Expired" : "Expires"} on ${DateHelper.formatAsDayMonthYear(pvm.dateEnd)}".toText(fontSize: 14, letterSpacing: -0.56, color: textColor, fontWeight: MyFonts.Medium),
if (pvm.isRenewable!)
Row(
children: [
6.width,
"Renew".toText(
color: MyColors.primaryColor,
fontSize: 14,
textDecoration: TextDecoration.underline,
decorationColor: MyColors.primaryColor,
isBold: true,
),
color: MyColors.primaryColor, fontSize: 14, letterSpacing: -0.56, textDecoration: TextDecoration.underline, decorationColor: MyColors.primaryColor, fontWeight: MyFonts.Medium),
],
).onPress(() {
onRenewSubscriptionClick();
@ -145,10 +125,7 @@ class MySubscriptionsCard extends StatelessWidget {
Widget showItem(String title, String value) {
return Row(
children: [
title.toText(
fontSize: 14,
color: textColor,
),
title.toText(fontSize: 14, color: textColor, letterSpacing: -0.56),
2.width,
value.toText(
fontSize: 14,

Loading…
Cancel
Save