|
|
|
|
@ -247,7 +247,7 @@ class _AdsDetailViewState extends State<AdsDetailView> {
|
|
|
|
|
),
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
(LocaleKeys.iban.tr()+": ").toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
(LocaleKeys.iban.tr() + ": ").toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
(adVM.adsBankDetailsModel!.iban ?? "").toText(
|
|
|
|
|
fontSize: 14,
|
|
|
|
|
isBold: true,
|
|
|
|
|
@ -442,10 +442,10 @@ class BuildAdDetailsActionButtonForExploreAds extends StatelessWidget {
|
|
|
|
|
).paddingOnly(bottom: 2),
|
|
|
|
|
3.width,
|
|
|
|
|
LocaleKeys.servicesReservingAd.tr().toText(
|
|
|
|
|
color: MyColors.adPendingStatusColor,
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
isItalic: true,
|
|
|
|
|
),
|
|
|
|
|
color: MyColors.adPendingStatusColor,
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
isItalic: true,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
15.height,
|
|
|
|
|
@ -714,44 +714,44 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
const Divider(),
|
|
|
|
|
"Special Services".toText(fontSize: 16, isBold: true),
|
|
|
|
|
LocaleKeys.specialService.tr().toText(fontSize: 16, isBold: true),
|
|
|
|
|
5.height,
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
"Car insurance Service".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor, fontWeight: FontWeight.w500),
|
|
|
|
|
"To be Decided".toText(fontSize: 12, isBold: true),
|
|
|
|
|
LocaleKeys.carInsuranceService.tr().toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor, fontWeight: FontWeight.w500),
|
|
|
|
|
LocaleKeys.toBeDecided.tr().toText(fontSize: 12, isBold: true),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
5.height,
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
"Registration & Car Plates".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
"To be Decided".toText(fontSize: 12, isBold: true),
|
|
|
|
|
LocaleKeys.registrationCarPlates.tr().toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
LocaleKeys.toBeDecided.tr().toText(fontSize: 12, isBold: true),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
5.height,
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
"Home Delivery Service".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
"To be Decided".toText(fontSize: 12, isBold: true),
|
|
|
|
|
LocaleKeys.homeDeliveryService.tr().toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor),
|
|
|
|
|
LocaleKeys.toBeDecided.tr().toText(fontSize: 12, isBold: true),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
12.height,
|
|
|
|
|
"Special service charges will be added based on desired insurance and delivery Location".toText(fontSize: 12),
|
|
|
|
|
LocaleKeys.specialServicechargesInsuranceDeliveryLocation.tr().toText(fontSize: 12),
|
|
|
|
|
30.height,
|
|
|
|
|
Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
|
children: [
|
|
|
|
|
"Total Amount ".toText(fontSize: 16, isBold: true),
|
|
|
|
|
LocaleKeys.totalAmount.tr().toText(fontSize: 16, isBold: true),
|
|
|
|
|
Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
children: [
|
|
|
|
|
"34,500".toText(fontSize: 19, isBold: true),
|
|
|
|
|
2.width,
|
|
|
|
|
"SAR".toText(color: MyColors.lightTextColor, fontSize: 10, isBold: true).paddingOnly(bottom: 3),
|
|
|
|
|
LocaleKeys.sar.tr().toText(color: MyColors.lightTextColor, fontSize: 10, isBold: true).paddingOnly(bottom: 3),
|
|
|
|
|
],
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
@ -760,7 +760,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.end,
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
|
|
|
children: [
|
|
|
|
|
"Estimated".toText(fontSize: 10, isBold: true),
|
|
|
|
|
LocaleKeys.estimated.tr().toText(fontSize: 10, isBold: true),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
44.height,
|
|
|
|
|
@ -773,11 +773,11 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
size: 19,
|
|
|
|
|
).paddingOnly(bottom: 2),
|
|
|
|
|
3.width,
|
|
|
|
|
"Some services are mandatory while reserving the Ad.".toText(
|
|
|
|
|
color: MyColors.adPendingStatusColor,
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
isItalic: true,
|
|
|
|
|
),
|
|
|
|
|
LocaleKeys.servicesReservingAd.tr().toText(
|
|
|
|
|
color: MyColors.adPendingStatusColor,
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
isItalic: true,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
15.height,
|
|
|
|
|
@ -786,7 +786,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
Expanded(
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Complete Reservation",
|
|
|
|
|
title: LocaleKeys.completeReservation.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
navigateWithName(context, AppRoutes.paymentMethodsView);
|
|
|
|
|
@ -842,7 +842,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
isFilled: false,
|
|
|
|
|
borderColor: MyColors.darkPrimaryColor,
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Book ${photoSpecialServiceModel.name}",
|
|
|
|
|
title: (LocaleKeys.book.tr() + " ${photoSpecialServiceModel.name}"),
|
|
|
|
|
txtColor: MyColors.darkPrimaryColor,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
onBookPhotographyServiceClicked(context, adDetailsModel: adDetailsModel);
|
|
|
|
|
@ -861,7 +861,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
backgroundColor: payButtonStatus ? MyColors.grey98Color.withOpacity(0.3) : MyColors.darkPrimaryColor,
|
|
|
|
|
txtColor: payButtonStatus ? MyColors.lightTextColor : MyColors.white,
|
|
|
|
|
isBold: false,
|
|
|
|
|
title: "Pay Now",
|
|
|
|
|
title: LocaleKeys.payNow.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
if (photoSpecialServiceModel == null) {
|
|
|
|
|
navigateWithName(context, AppRoutes.paymentMethodsView, arguments: PaymentTypes.ads);
|
|
|
|
|
@ -885,7 +885,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
Expanded(
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Mark As Sold",
|
|
|
|
|
title: LocaleKeys.markAsSold.tr(),
|
|
|
|
|
isBold: false,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
adVM.markAdAsSold(context, adId: adDetailsModel.id!);
|
|
|
|
|
@ -902,17 +902,17 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
isFilled: false,
|
|
|
|
|
borderColor: MyColors.redColor,
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Deactivate Ad",
|
|
|
|
|
title: LocaleKeys.deactivateAd.tr(),
|
|
|
|
|
txtColor: MyColors.redColor,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
return actionConfirmationBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
title: "Do you want to the Deactivate this Ad?".toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: "We will stop showing this ad to the buyers.",
|
|
|
|
|
title: LocaleKeys.doWantDeactivateAd.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: LocaleKeys.stoptheBuyers.tr(),
|
|
|
|
|
actionButtonYes: Expanded(
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Yes",
|
|
|
|
|
title: LocaleKeys.yes.tr(),
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
@ -925,7 +925,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
isFilled: false,
|
|
|
|
|
borderColor: MyColors.darkPrimaryColor,
|
|
|
|
|
title: "No",
|
|
|
|
|
title: LocaleKeys.no.tr(),
|
|
|
|
|
txtColor: MyColors.darkPrimaryColor,
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
@ -950,7 +950,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
enableDrag: true,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return InfoBottomSheet(
|
|
|
|
|
title: "Cancel Reservation".toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
title: LocaleKeys.cancelReservation.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
description: Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
|
|
|
|
child: Consumer<AdVM>(
|
|
|
|
|
@ -967,26 +967,26 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
value: adVM.reservationCancelReason,
|
|
|
|
|
errorValue: adVM.reservationCancelError,
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
hint: "Reason for cancellation",
|
|
|
|
|
hint: LocaleKeys.reasonForCancellation.tr(),
|
|
|
|
|
onChanged: (v) => adVM.updateReservationCancelReason(v),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
25.height,
|
|
|
|
|
ShowFillButton(
|
|
|
|
|
title: "Submit",
|
|
|
|
|
title: LocaleKeys.submit.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
bool status = adVM.validateReservationCancelReason();
|
|
|
|
|
if (status) {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
return actionConfirmationBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
title: "Do you want to cancel the reservation?".toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: "Your ad reservation will be cancelled and this ad will be again visible to everyone to buy.",
|
|
|
|
|
title: LocaleKeys.doWantCancelReservation.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: LocaleKeys.yourAdVisibletoBuy.tr(),
|
|
|
|
|
actionButtonYes: Expanded(
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Yes",
|
|
|
|
|
title: LocaleKeys.yes.tr(),
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
@ -999,7 +999,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
isFilled: false,
|
|
|
|
|
borderColor: MyColors.darkPrimaryColor,
|
|
|
|
|
title: "No",
|
|
|
|
|
title: LocaleKeys.no.tr(),
|
|
|
|
|
txtColor: MyColors.darkPrimaryColor,
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
@ -1032,7 +1032,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
isFilled: false,
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Cancel Reservation",
|
|
|
|
|
title: LocaleKeys.cancelReservation.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
buildCancelReservationBottomSheet(context, adDetails: adDetails);
|
|
|
|
|
}),
|
|
|
|
|
@ -1050,7 +1050,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
backgroundColor: MyColors.darkPrimaryColor,
|
|
|
|
|
txtColor: MyColors.white,
|
|
|
|
|
isBold: false,
|
|
|
|
|
title: "Complete Deal",
|
|
|
|
|
title: LocaleKeys.completeDeal.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
buildCompleteDealBottomSheet(context, adDetails: adDetails);
|
|
|
|
|
}),
|
|
|
|
|
@ -1066,7 +1066,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
enableDrag: true,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return InfoBottomSheet(
|
|
|
|
|
title: "Upload Bank Receipt".toText(fontSize: 26, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
title: LocaleKeys.uploadBankReceipt.tr().toText(fontSize: 26, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
description: Padding(
|
|
|
|
|
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
|
|
|
|
child: Consumer<AdVM>(
|
|
|
|
|
@ -1083,13 +1083,13 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
value: adVM.completeDealNotesForAdmin,
|
|
|
|
|
errorValue: "",
|
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
|
hint: "Notes For Admin",
|
|
|
|
|
hint: LocaleKeys.notesForAdmin.tr(),
|
|
|
|
|
onChanged: (v) => adVM.updateCompleteDealNotesForAdmin(v),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
15.height,
|
|
|
|
|
"Attach File".toText(fontSize: 20, isBold: true, letterSpacing: -0.5),
|
|
|
|
|
LocaleKeys.attachFile.tr().toText(fontSize: 20, isBold: true, letterSpacing: -0.5),
|
|
|
|
|
if (adVM.pickedReceiptPdfFiles.isNotEmpty) ...[
|
|
|
|
|
16.height,
|
|
|
|
|
PickedFilesContainer(
|
|
|
|
|
@ -1123,7 +1123,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
],
|
|
|
|
|
15.height,
|
|
|
|
|
ShowFillButton(
|
|
|
|
|
title: "Submit",
|
|
|
|
|
title: LocaleKeys.submit.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
//Upload Attachment
|
|
|
|
|
},
|
|
|
|
|
@ -1146,17 +1146,17 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Extend Ad",
|
|
|
|
|
title: LocaleKeys.extendAd.tr(),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
final AdVM adVM = context.read<AdVM>();
|
|
|
|
|
return actionConfirmationBottomSheet(
|
|
|
|
|
context: context,
|
|
|
|
|
title: "Do you want to update the Ad Details?".toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: "You can change the ad duration and details before extending the ad.",
|
|
|
|
|
title: LocaleKeys.updateAdDetails.tr().toText(fontSize: 28, isBold: true, letterSpacing: -1.44),
|
|
|
|
|
subtitle: LocaleKeys.durationExtendingAd.tr(),
|
|
|
|
|
actionButtonYes: Expanded(
|
|
|
|
|
child: ShowFillButton(
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
title: "Yes",
|
|
|
|
|
title: LocaleKeys.yes.tr(),
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
@ -1172,7 +1172,7 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
maxHeight: 55,
|
|
|
|
|
isFilled: false,
|
|
|
|
|
borderColor: MyColors.darkPrimaryColor,
|
|
|
|
|
title: "No",
|
|
|
|
|
title: LocaleKeys.no.tr(),
|
|
|
|
|
txtColor: MyColors.darkPrimaryColor,
|
|
|
|
|
fontSize: 15,
|
|
|
|
|
onPressed: () {
|
|
|
|
|
@ -1195,31 +1195,31 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
Widget reservedAdActions(context, {required AdDetailsModel adDetailsModel, required AdVM adVM}) {
|
|
|
|
|
switch (adDetailsModel.adReserveStatus) {
|
|
|
|
|
case AdReserveStatus.defaultStatus:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Waiting for Admins Response");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.waitingAdminsResponse.tr());
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.reserved:
|
|
|
|
|
return cancelReservationAction(context, adDetails: adDetailsModel);
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.cancelledByOwner:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Cancelled by Owner");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.cancelledByOwner.tr());
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.cancelledByAdmin:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Cancelled by Admin");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.cancelledByAdmin.tr());
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.timeOver:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Reservation Time Over");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.reservationTimeOver.tr());
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.dealDone:
|
|
|
|
|
if (adVM.adsBankDetailsModel != null) {
|
|
|
|
|
return completeDealAction(context, adDetails: adDetailsModel);
|
|
|
|
|
}
|
|
|
|
|
return pendingForReviewAction(pendingText: "Waiting for Admins Response");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.waitingAdminsResponse.tr());
|
|
|
|
|
|
|
|
|
|
case AdReserveStatus.fullPaymentVerified:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Payment Verified");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.paymentVerified.tr());
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Waiting for Admins Response");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.waitingAdminsResponse.tr());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1240,16 +1240,16 @@ class BuildAdDetailsActionButtonForMyAds extends StatelessWidget {
|
|
|
|
|
case AdPostStatus.buyingService:
|
|
|
|
|
case AdPostStatus.reserveCancel:
|
|
|
|
|
case AdPostStatus.rejected:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Rejected form admin");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.rejectedFormAdmin.tr());
|
|
|
|
|
case AdPostStatus.cancelled:
|
|
|
|
|
case AdPostStatus.pendingForPost:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Waiting for admin to post");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.waitingAdminPost.tr());
|
|
|
|
|
|
|
|
|
|
case AdPostStatus.pendingForReview:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Waiting for Admins Approval");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.waitingAdminsApproval.tr());
|
|
|
|
|
|
|
|
|
|
case AdPostStatus.sold:
|
|
|
|
|
return pendingForReviewAction(pendingText: "Sold");
|
|
|
|
|
return pendingForReviewAction(pendingText: LocaleKeys.sold.tr());
|
|
|
|
|
|
|
|
|
|
case AdPostStatus.expired:
|
|
|
|
|
return expiredAdAction(context);
|
|
|
|
|
|