couponApply

This commit is contained in:
2025-02-10 02:37:06 +05:30
parent 630a918307
commit b6ef70cfb6
21 changed files with 3308 additions and 1181 deletions

View File

@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/svg.dart';
@@ -37,13 +37,15 @@ class Mycart extends StatefulWidget {
class _MycartState extends State<Mycart> {
@override
void initState() {
Provider.of<AddtocartProvider>(context, listen: false)
.getItemCards(context);
Provider.of<AddtocartProvider>(context, listen: false)
.getCurrentLocation(context);
Provider.of<AddtocartProvider>(context, listen: false).getAddress(context);
Future.microtask(() {
final addToCartProvider =
Provider.of<AddtocartProvider>(context, listen: false);
addToCartProvider.getItemCards(context);
addToCartProvider.offerCoupon(context);
addToCartProvider.getCurrentLocation(context);
addToCartProvider.getAddress(context);
});
super.initState();
}
@@ -165,38 +167,13 @@ class _MycartState extends State<Mycart> {
),
child: Center(
child: Text(
"${calculateDiscountPercentage(double.parse(provider.productDetails.data!.basePrice), double.parse(provider.productDetails.data!.discountPrice))}% OFF",
"${calculateDiscountPercentage(double.parse(bestdealproduct!.basePrice), double.parse(bestdealproduct!.discountPrice))}% OFF",
style: TextStyle(
color: Colors.white,
fontSize: 12)),
),
),
)
// Positioned(
// right: 5,
// top: 5,
// child: InkWell(
// onTap: () async {
// if (await SharedPrefUtils.getToken() !=
// null) {
// provider.toggleWishlist(
// context, bestdealproduct.id!);
// } else {
// context.push(MyRoutes.LOGIN);
// }
// },
// child: Icon(
// provider.wishlist
// .contains(bestdealproduct.id)
// ? Icons.favorite
// : Icons.favorite_border,
// color: provider.wishlist
// .contains(bestdealproduct.id)
// ? Colors.red
// : Colors.grey,
// ),
// ),
// ),
],
),
),
@@ -749,7 +726,6 @@ class _MycartState extends State<Mycart> {
),
));
} else {
print("kldjhgjkhfgjkh ");
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -759,18 +735,29 @@ class _MycartState extends State<Mycart> {
style: TextStyle(fontWeight: FontWeight.bold)),
trailing: Icon(Icons.arrow_forward_ios),
onTap: () {
context.push(MyRoutes.COUPONSSCREEN);
if (provider.couponDataModel.data!.isNotEmpty) {
context.push(MyRoutes.COUPONSSCREEN,
extra: provider.allitem.id);
} else {
Fluttertoast.showToast(
msg: "Coupon's not available !",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
backgroundColor: Colors.red,
textColor: Colors.white,
fontSize: 14.0,
);
}
},
),
SummaryRow(
label: 'Item Total Price',
value: '\$${provider.allitem.subtotal}'),
SummaryRow(label: 'Discount', value: '0.0'),
label: 'Item Total Price', value: '\$${provider.totalPrice}'),
SummaryRow(label: 'Discount', value: "${provider.discount}"),
SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true),
Divider(),
SummaryRow(
label: 'Grand Total',
value: '\$${provider.allitem.subtotal}',
value: '\$${provider.grandPrice}',
isBold: true),
ListTile(
leading: Icon(Icons.home, color: Colors.green),
@@ -991,32 +978,40 @@ class _AddressBottomSheetState extends State<AddressBottomSheet> {
SizedBox(height: 16),
Consumer<AddtocartProvider>(
builder: (context, paymentProvider, child) {
print(
"prxvsvxvice ${double.parse(paymentProvider.allitem.subtotal.toString())} ${paymentProvider.selecteUserName} ${paymentProvider.selectedAddress} ${paymentProvider.selecteEmail} ${paymentProvider.selecteUserPhone}");
return ElevatedButton.icon(
onPressed: () {
Navigator.pop(context);
Navigator.of(context).push(MaterialPageRoute(
builder: (context) {
return CardCheckoutScreen(
amount: double.parse(
paymentProvider.allitem.subtotal.toString()),
currency: "INR",
originalAmount: double.parse(
paymentProvider.allitem.subtotal.toString()),
name: paymentProvider.selecteUserName,
phone: paymentProvider.selecteUserPhone,
email: paymentProvider.selecteEmail,
userId: paymentProvider.allitem.userId!,
cartId: paymentProvider.allitem.id!,
addressId: paymentProvider.selectedAddress,
remarks: paymentProvider.selecteUserName,
deliverCharge: 0,
discountPrice: 0,
couponId: '',
);
},
));
if (paymentProvider.selectedAddress.isNotEmpty) {
Navigator.pop(context);
Navigator.of(context).push(MaterialPageRoute(
builder: (context) {
return CardCheckoutScreen(
// amount: double.parse(
// paymentProvider.allitem.subtotal.toString()),
// currency: "INR",
originalAmount: paymentProvider.grandPrice,
// name: paymentProvider.selecteUserName,
// phone: paymentProvider.selecteUserPhone,
// email: paymentProvider.selecteEmail,
// userId: paymentProvider.allitem.userId!,
cartId: paymentProvider.allitem.id!,
addressId: paymentProvider.selectedAddress,
// remarks: paymentProvider.selecteUserName,
deliverCharge: 0,
couponId: paymentProvider.couponId,
);
},
));
} else {
Fluttertoast.showToast(
msg: "Please add a delivery address",
toastLength: Toast.LENGTH_SHORT,
gravity: ToastGravity.BOTTOM,
backgroundColor: Colors.green,
textColor: Colors.white,
fontSize: 14.0,
);
}
},
label: Text(
"Continue",
@@ -1049,13 +1044,6 @@ class _AddressBottomSheetState extends State<AddressBottomSheet> {
itemBuilder: (context, index) {
var address = addressProvider.addresslist[index];
// // if (addressProvider.addresslist.length == 1) {
// // addressProvider.bydefaultSetAddress(
// // address.phoneNumber, address.name, address.user!.email);
// // }
// print("sdhfjdjkfhg ${address.id} ${index}");
return Card(
elevation: 0,
shape: RoundedRectangleBorder(