Compare commits

...

2 Commits

@ -796,6 +796,6 @@
"ok": "نعم",
"continueAsGuest": "الاستمرار كضيف",
"loginToViewAppointments": "الرجاء تسجيل الدخول لعرض المواعيد",
"itemType": "غرض"
"itemType": "غرض",
"upgradeSubscription": "قم بترقية اشتراكك"
}

@ -690,6 +690,7 @@
"expiresOn": "Expires On",
"expired": "Expired",
"upgradeBranches": "Upgrade your subscription to add more Branches.",
"upgradeSubscription": "Upgrade your subscription",
"upgradeAds": "Upgrade your subscription to add more Ads.",
"upgradeSubUsers": "Upgrade your subscription to add more Sub Users.",
"explore": "Explore",

@ -812,7 +812,8 @@ class CodegenLoader extends AssetLoader{
"ok": "نعم",
"continueAsGuest": "الاستمرار كضيف",
"loginToViewAppointments": "الرجاء تسجيل الدخول لعرض المواعيد",
"itemType": "غرض"
"itemType": "غرض",
"upgradeSubscription": "قم بترقية اشتراكك"
};
static const Map<String,dynamic> en_US = {
"firstTimeLogIn": "First Time Log In",
@ -1506,6 +1507,7 @@ static const Map<String,dynamic> en_US = {
"expiresOn": "Expires On",
"expired": "Expired",
"upgradeBranches": "Upgrade your subscription to add more Branches.",
"upgradeSubscription": "Upgrade your subscription",
"upgradeAds": "Upgrade your subscription to add more Ads.",
"upgradeSubUsers": "Upgrade your subscription to add more Sub Users.",
"explore": "Explore",

@ -776,5 +776,6 @@ abstract class LocaleKeys {
static const continueAsGuest = 'continueAsGuest';
static const loginToViewAppointments = 'loginToViewAppointments';
static const itemType = 'itemType';
static const upgradeSubscription = 'upgradeSubscription';
}

@ -493,14 +493,14 @@ class AdsRepoImp implements AdsRepo {
required int photoOfficeSlotID,
required int adsSpecialServiceID,
}) async {
int customerId = AppState().getUser.data!.userInfo!.customerId ?? 0;
String? userId = AppState().getUser.data!.userInfo!.userId ?? "";
var postParams = {
"adsID": adId,
"photoOfficeID": photoOfficeID,
"photoOfficeSlotID": photoOfficeSlotID,
"adsSpecialServiceID": adsSpecialServiceID,
"customerID": customerId,
"UserID": userId,
};
String token = appState.getUser.data!.accessToken ?? "";

@ -223,8 +223,10 @@ enum SubscriptionActionTypeEnum {
ads,
users,
branches,
subscription
}
enum ShippingRequestStatusEnum {
allRequests,
pending,

@ -109,6 +109,9 @@ class DashboardVMProvider extends BaseVM {
case SubscriptionActionTypeEnum.branches:
performCheckOnBranches(context);
break;
case SubscriptionActionTypeEnum.subscription:
performCheckSubscription(context, callback);
break;
}
}
@ -120,6 +123,14 @@ class DashboardVMProvider extends BaseVM {
}
}
void performCheckSubscription(BuildContext context, Function() callBack) async {
if (AppState().getproviderSubscription.isNotEmpty && !AppState().getproviderSubscription.first.isExpired!) {
callBack();
} else {
Utils.showToast(LocaleKeys.upgradeSubscription.tr());
}
}
void performCheckOnAds(BuildContext context) async {
if (AppState().getproviderSubscription.isNotEmpty && AppState().getproviderSubscription.first.adsRemaining! > 0) {
await navigateWithName(context, AppRoutes.defineBranch);

@ -10,6 +10,7 @@ import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/utils/utils.dart';
import 'package:mc_common_app/view_models/appointments_view_model.dart';
import 'package:mc_common_app/view_models/chat_view_model.dart';
import 'package:mc_common_app/view_models/dashboard_view_model_provider.dart';
import 'package:mc_common_app/view_models/requests_view_model.dart';
import 'package:mc_common_app/views/advertisement/components/ads_images_corousel_widget.dart';
import 'package:mc_common_app/views/chat/widgets/chat_bottom_sheets.dart';
@ -48,7 +49,6 @@ class RequestDetailPage extends StatelessWidget {
if (requestTypeEnum == RequestsTypeEnum.serviceRequest) {
return Utils.buildStatusContainer(LocaleKeys.awaitingPaymentFromCustomer.tr());
} else {
return Utils.buildStatusContainer(LocaleKeys.awaitingResponseFromCustomer.tr());
}
@ -187,12 +187,11 @@ class RequestDetailPage extends StatelessWidget {
title: LocaleKeys.provideOffer.tr(),
isBold: false,
fontSize: 18,
onPressed: () => buildSendOfferBottomSheet(
context: context,
requestDetailPageArguments: requestDetailPageArguments,
isFromChatScreen: false,
offerId: null, // null means creating new offer
),
onPressed: () {
context.read<DashboardVMProvider>().checkUserSubscription(SubscriptionActionTypeEnum.subscription, context, callback: () {
buildSendOfferBottomSheet(context: context, requestDetailPageArguments: requestDetailPageArguments, isFromChatScreen: false, offerId: null);
});
},
),
] else ...[
buildRequestDetailActionFooter(

Loading…
Cancel
Save