offer update

This commit is contained in:
2025-02-09 02:13:44 +05:30
parent c6a6ded51d
commit 630a918307
22 changed files with 1027 additions and 986 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
3.22.3 3.24.3

View File

@@ -1,52 +1,55 @@
# This is a generated file; do not edit or check into version control. # This is a generated file; do not edit or check into version control.
connectivity_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/ connectivity_plus=/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/
file_selector_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/ file_selector_linux=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/
file_selector_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/ file_selector_macos=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/
file_selector_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/ file_selector_windows=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/
flutter_inappwebview=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview-6.0.0/ flutter_inappwebview=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview-6.1.5/
flutter_inappwebview_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.0.13/ flutter_inappwebview_android=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.1.3/
flutter_inappwebview_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.0.13/ flutter_inappwebview_ios=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.1.2/
flutter_inappwebview_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.0.11/ flutter_inappwebview_macos=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.1.2/
flutter_inappwebview_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.0.8/ flutter_inappwebview_web=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.1.2/
flutter_plugin_android_lifecycle=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/ flutter_inappwebview_windows=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_windows-0.6.0/
fluttertoast=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/ flutter_plugin_android_lifecycle=/Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.24/
geocoding=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/ fluttertoast=/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/
geocoding_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/ geocoding=/Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
geocoding_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/ geocoding_android=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
geolocator=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/ geocoding_ios=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
geolocator_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/ geolocator=/Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
geolocator_apple=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/ geolocator_android=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
geolocator_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/ geolocator_apple=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
geolocator_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/ geolocator_web=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
google_api_headers=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/ geolocator_windows=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
google_maps_flutter=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/ google_api_headers=/Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
google_maps_flutter_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/ google_maps_flutter=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
google_maps_flutter_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/ google_maps_flutter_android=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.12/
google_maps_flutter_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/ google_maps_flutter_ios=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
image_picker=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker-1.1.2/ google_maps_flutter_web=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
image_picker_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+12/ image_picker=/Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2/
image_picker_for_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/ image_picker_android=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/
image_picker_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/ image_picker_for_web=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/
image_picker_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/ image_picker_ios=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/
image_picker_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/ image_picker_linux=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
image_picker_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/ image_picker_macos=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/
package_info_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/ image_picker_windows=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
path_provider=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5/ package_info_plus=/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
path_provider_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/ path_provider=/Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
path_provider_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/ path_provider_android=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.15/
path_provider_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/ path_provider_foundation=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
path_provider_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/ path_provider_linux=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
shared_preferences=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/ path_provider_windows=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
shared_preferences_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/ shared_preferences=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.5.1/
shared_preferences_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/ shared_preferences_android=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.4/
shared_preferences_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/ shared_preferences_foundation=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
shared_preferences_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/ shared_preferences_linux=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
shared_preferences_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/ shared_preferences_web=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
sqflite=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/ shared_preferences_windows=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
url_launcher=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/ sqflite=/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.4.1/
url_launcher_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.9/ sqflite_android=/Users/apple/.pub-cache/hosted/pub.dev/sqflite_android-2.4.0/
url_launcher_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/ sqflite_darwin=/Users/apple/.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/
url_launcher_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/ url_launcher=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
url_launcher_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/ url_launcher_android=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/
url_launcher_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/ url_launcher_ios=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
url_launcher_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/ url_launcher_linux=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/
url_launcher_macos=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/
url_launcher_web=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/
url_launcher_windows=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,94 @@
// To parse this JSON data, do
//
// final codOrderResponse = codOrderResponseFromJson(jsondynamic);
import 'dart:convert';
CodOrderResponse codOrderResponseFromJson(dynamic str) => CodOrderResponse.fromJson(json.decode(str));
dynamic codOrderResponseToJson(CodOrderResponse data) => json.encode(data.toJson());
class CodOrderResponse {
dynamic id;
dynamic orderNumber;
dynamic userId;
int? totalItems;
dynamic subtotal;
dynamic deliveryCharge;
dynamic discount;
dynamic grandTotal;
dynamic paymentMethod;
dynamic paymentStatus;
dynamic transactionId;
dynamic orderStatus;
dynamic deliveryAddressId;
dynamic couponId;
dynamic cancelReason;
dynamic cancelledBy;
dynamic cancelledAt;
CodOrderResponse({
this.id,
this.orderNumber,
this.userId,
this.totalItems,
this.subtotal,
this.deliveryCharge,
this.discount,
this.grandTotal,
this.paymentMethod,
this.paymentStatus,
this.transactionId,
this.orderStatus,
this.deliveryAddressId,
this.couponId,
this.cancelReason,
this.cancelledBy,
this.cancelledAt,
});
factory CodOrderResponse.fromJson(Map<dynamic, dynamic> json) => CodOrderResponse(
id: json["id"],
orderNumber: json["orderNumber"],
userId: json["userId"],
totalItems: json["totalItems"],
subtotal: json["subtotal"],
deliveryCharge: json["deliveryCharge"],
discount: json["discount"],
grandTotal: json["grandTotal"],
paymentMethod: json["paymentMethod"],
paymentStatus: json["paymentStatus"],
transactionId: json["transactionId"],
orderStatus: json["orderStatus"],
deliveryAddressId: json["deliveryAddressId"],
couponId: json["couponId"],
cancelReason: json["cancelReason"],
cancelledBy: json["cancelledBy"],
cancelledAt: json["cancelledAt"],
);
Map<dynamic, dynamic> toJson() => {
"id": id,
"orderNumber": orderNumber,
"userId": userId,
"totalItems": totalItems,
"subtotal": subtotal,
"deliveryCharge": deliveryCharge,
"discount": discount,
"grandTotal": grandTotal,
"paymentMethod": paymentMethod,
"paymentStatus": paymentStatus,
"transactionId": transactionId,
"orderStatus": orderStatus,
"deliveryAddressId": deliveryAddressId,
"couponId": couponId,
"cancelReason": cancelReason,
"cancelledBy": cancelledBy,
"cancelledAt": cancelledAt,
};
}

View File

@@ -4,6 +4,7 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:geocoding/geocoding.dart'; import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:grocery_app/src/core/network_services/service_locator.dart'; import 'package:grocery_app/src/core/network_services/service_locator.dart';
import 'package:grocery_app/src/core/routes/routes.dart';
import 'package:grocery_app/src/data/address.dart'; import 'package:grocery_app/src/data/address.dart';
import 'package:grocery_app/src/data/all_cart_items.dart'; import 'package:grocery_app/src/data/all_cart_items.dart';
import 'package:grocery_app/src/logic/repo/product_repo.dart'; import 'package:grocery_app/src/logic/repo/product_repo.dart';
@@ -219,65 +220,55 @@ class AddtocartProvider extends ChangeNotifier {
Future<void> paymentCODOrder( Future<void> paymentCODOrder(
BuildContext context, BuildContext context,
double subtotal, double subtotal,
String deliverCharge, double deliverCharge,
double discountPrice, double discountPrice,
String grandTotal, double grandTotal,
String couponId, String couponId,
String addressId, String addressId,
) async { ) async {
print("sdkjfhgkjdfhgjkldfkjghkdf");
ispaymentLoader = true; ispaymentLoader = true;
notifyListeners(); notifyListeners();
var data; var data;
if (couponId.isNotEmpty) if (couponId != '00') {
{
data = { data = {
{ "addressId": addressId,
"addressId": addressId, "paymentMethod": "COD",
"paymentMethod": "COD", "paymentStatus": "PENDING",
"paymentStatus": "PENDING", "orderStatus": "PENDING",
"orderStatus": "PENDING", "subtotal": subtotal,
"subtotal": subtotal, "deliveryCharge": deliverCharge,
"deliveryCharge": deliverCharge, "discount": discountPrice,
"discount": discountPrice, "grandTotal": grandTotal,
"grandTotal": grandTotal, "couponId": couponId
"couponId": couponId
}
}; };
} } else {
else { print("skfdjdsjfg");
data = { data = {
{ "addressId": addressId,
"addressId": addressId, "paymentMethod": "COD",
"paymentMethod": "COD", "paymentStatus": "PENDING",
"paymentStatus": "PENDING", "orderStatus": "PENDING",
"orderStatus": "PENDING", "subtotal": subtotal,
"subtotal": subtotal, "deliveryCharge": deliverCharge,
"deliveryCharge": deliverCharge, "discount": discountPrice,
"discount": discountPrice, "grandTotal": grandTotal,
"grandTotal": grandTotal,
}
}; };
} }
print("kjfhxgkljfhg ${data}");
try { try {
var result = await _homeRepo.paymentCODOrder(data); var result = await _homeRepo.paymentCODOrder(data);
return result.fold( return result.fold(
(error) { (error) {
ispaymentLoader = false; ispaymentLoader = false;
notifyListeners(); notifyListeners();
}, },
(response) { (response) {
if (response.data!.instrumentResponse!.redirectInfo != null && context.clearAndPush(routePath: MyRoutes.SUCCESSPAYMENT);
response.data!.instrumentResponse!.redirectInfo != '') {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PaymentWebView(
paymentUrl:
response.data!.instrumentResponse!.redirectInfo!.url),
),
);
}
ispaymentLoader = false; ispaymentLoader = false;
notifyListeners(); notifyListeners();
}, },

View File

@@ -69,6 +69,8 @@ class ProductProvider extends ChangeNotifier {
bool isBestdealingloading = true; bool isBestdealingloading = true;
Future<void> getBestDealProduct(BuildContext context) async { Future<void> getBestDealProduct(BuildContext context) async {
isBestdealingloading = true;
notifyListeners();
var data = {}; var data = {};
var result = await _homeRepo.getBestDealProduct(data, context); var result = await _homeRepo.getBestDealProduct(data, context);

View File

@@ -12,6 +12,7 @@ import 'package:grocery_app/src/data/all_cart_items.dart';
import 'package:grocery_app/src/data/banners.dart'; import 'package:grocery_app/src/data/banners.dart';
import 'package:grocery_app/src/data/best_dealProduct.dart'; import 'package:grocery_app/src/data/best_dealProduct.dart';
import 'package:grocery_app/src/data/check_pin_response.dart'; import 'package:grocery_app/src/data/check_pin_response.dart';
import 'package:grocery_app/src/data/cod_order_response.dart';
import 'package:grocery_app/src/data/login_response.dart'; import 'package:grocery_app/src/data/login_response.dart';
import 'package:grocery_app/src/data/order_paymnet.dart'; import 'package:grocery_app/src/data/order_paymnet.dart';
import 'package:grocery_app/src/data/product_category.dart'; import 'package:grocery_app/src/data/product_category.dart';
@@ -114,15 +115,13 @@ class ProductRepo {
} }
} }
FutureResult<OrderPaymnet> paymentCODOrder(data) async { FutureResult<CodOrderResponse> paymentCODOrder(data) async {
try { try {
var response = await _productService.paymentCODOrder(data); var response = await _productService.paymentCODOrder(data);
print("kjdfglkjfdgjklfgkldj${data} ${response} "); CodOrderResponse productCategory = codOrderResponseFromJson(response.toString());
OrderPaymnet productCategory = orderPaymnetFromJson(response.toString());
print("lkjdflkjfhgdkhfgkd ");
// final String model = response.toString();
return right(productCategory); return right(productCategory);
} on DioException catch (e) { } on DioException catch (e) {

View File

@@ -55,7 +55,6 @@ class ProductService extends ApiService {
} }
Future paymentOrder(data) async { Future paymentOrder(data) async {
print("kdjfgkjjkdfgkjdkfgjkdfgj ${data}");
var response = await api.post(APIURL.paymentOrder, data: jsonEncode(data)); var response = await api.post(APIURL.paymentOrder, data: jsonEncode(data));
return response; return response;
@@ -69,7 +68,6 @@ class ProductService extends ApiService {
return response; return response;
} }
Future similarProduct(data, id) async { Future similarProduct(data, id) async {
var response = await api.get(APIURL.similarProduct + id + "/similar", var response = await api.get(APIURL.similarProduct + id + "/similar",
data: jsonEncode(data)); data: jsonEncode(data));

View File

@@ -23,6 +23,28 @@ class BestDealScreen extends StatefulWidget {
} }
class _BestDealScreenState extends State<BestDealScreen> { class _BestDealScreenState extends State<BestDealScreen> {
@override
void initState() {
Provider.of<ProductProvider>(context, listen: false)
.getBestDealProduct(context);
super.initState();
}
int calculateDiscountPercentage(double basePrice, double discountPrice) {
print(
"Base Price (Before Discount): $basePrice, Discount Price (After Discount): $discountPrice");
if (basePrice <= 0 || discountPrice <= 0 || discountPrice > basePrice) {
print("Error: Invalid price values.");
return 0;
}
double discountAmount = basePrice - discountPrice;
double discountPercentage = (discountAmount / basePrice) * 100;
return discountPercentage.round();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@@ -221,31 +243,24 @@ class _BestDealScreenState extends State<BestDealScreen> {
backGroundColor: Colors.transparent, backGroundColor: Colors.transparent,
), ),
), ),
// Positioned( Positioned(
// right: 5, right: 1,
// top: 5, bottom: 0,
// child: InkWell( child: Container(
// onTap: () async { padding: EdgeInsets.symmetric(
// if (await SharedPrefUtils.getToken() != horizontal: 6, vertical: 2),
// null) { decoration: BoxDecoration(
// provider.toggleWishlist( color: Colors.red,
// context, bestdealproduct.id!); borderRadius: BorderRadius.circular(5),
// } else { ),
// context.push(MyRoutes.LOGIN); child: Center(
// } child: Text(
// }, "${calculateDiscountPercentage(double.parse(bestdealproduct.basePrice), double.parse(bestdealproduct.discountPrice))}% OFF",
// child: Icon( style: TextStyle(
// provider.wishlist color: Colors.white, fontSize: 12)),
// .contains(bestdealproduct.id) ),
// ? Icons.favorite ),
// : Icons.favorite_border, )
// color: provider.wishlist
// .contains(bestdealproduct.id)
// ? Colors.red
// : Colors.grey,
// ),
// ),
// ),
], ],
), ),
), ),

View File

@@ -153,6 +153,8 @@ class _BottomBarState extends State<BottomBarWidget> {
], ],
), ),
), ),
); );
} }
} }

View File

@@ -19,6 +19,10 @@ class CardCheckoutScreen extends StatefulWidget {
String cartId; String cartId;
String addressId; String addressId;
String remarks; String remarks;
double deliverCharge;
double discountPrice;
String? couponId;
CardCheckoutScreen( CardCheckoutScreen(
{super.key, {super.key,
required this.amount, required this.amount,
@@ -30,7 +34,10 @@ class CardCheckoutScreen extends StatefulWidget {
required this.userId, required this.userId,
required this.cartId, required this.cartId,
required this.addressId, required this.addressId,
required this.remarks}); required this.remarks,
required this.deliverCharge,
required this.discountPrice,
this.couponId});
@override @override
State<CardCheckoutScreen> createState() => _CardCheckoutScreenState(); State<CardCheckoutScreen> createState() => _CardCheckoutScreenState();
@@ -94,19 +101,18 @@ class _CardCheckoutScreenState extends State<CardCheckoutScreen> {
widget.addressId, widget.addressId,
widget.remarks); widget.remarks);
} else { } else {
// paymentProvider.paymentCODOrder( print("ldksjfgkljdfghljkfdg");
// context, paymentProvider.paymentCODOrder(
// subtotal, context,
// deliverCharge, widget.amount,
// discountPrice, widget.deliverCharge,
// grandTotal, widget.discountPrice,
// couponId, widget.originalAmount,
// widget.couponId!,
// widget.addressId, '00',
// ); widget.addressId,
);
} }
}, },
child: Container( child: Container(
height: 50, height: 50,

View File

@@ -153,6 +153,25 @@ class _MycartState extends State<Mycart> {
"", "",
backGroundColor: Colors.transparent, backGroundColor: Colors.transparent,
), ),
Positioned(
right: 1,
bottom: 0,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 6, vertical: 2),
decoration: BoxDecoration(
color: Colors.red,
borderRadius: BorderRadius.circular(5),
),
child: Center(
child: Text(
"${calculateDiscountPercentage(double.parse(provider.productDetails.data!.basePrice), double.parse(provider.productDetails.data!.discountPrice))}% OFF",
style: TextStyle(
color: Colors.white,
fontSize: 12)),
),
),
)
// Positioned( // Positioned(
// right: 5, // right: 5,
// top: 5, // top: 5,
@@ -713,7 +732,8 @@ class _MycartState extends State<Mycart> {
); );
} else if (provider.allitem == null) { } else if (provider.allitem == null) {
return Center(child: Text('🛒 Your Front Shop Cart is empty')); return Center(child: Text('🛒 Your Front Shop Cart is empty'));
} else if (provider.allitem.items!.isEmpty) { } else if (provider.allitem.items == null ||
provider.allitem.items!.isEmpty) {
return Center( return Center(
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom(backgroundColor: Colors.green), style: ElevatedButton.styleFrom(backgroundColor: Colors.green),
@@ -729,7 +749,7 @@ class _MycartState extends State<Mycart> {
), ),
)); ));
} else { } else {
print("kldjhgjkhfgjkh ${provider.allitem.items}"); print("kldjhgjkhfgjkh ");
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@@ -977,21 +997,24 @@ class _AddressBottomSheetState extends State<AddressBottomSheet> {
onPressed: () { onPressed: () {
Navigator.pop(context); Navigator.pop(context);
Navigator.of(context).push(MaterialPageRoute( Navigator.of(context).push(MaterialPageRoute(
builder: (context) builder: (context) {
{
return CardCheckoutScreen( return CardCheckoutScreen(
amount: double.parse( amount: double.parse(
paymentProvider.allitem.subtotal.toString()), paymentProvider.allitem.subtotal.toString()),
currency: "INR", currency: "INR",
originalAmount: double.parse( originalAmount: double.parse(
paymentProvider.allitem.subtotal.toString()), paymentProvider.allitem.subtotal.toString()),
name: paymentProvider.selecteUserName, name: paymentProvider.selecteUserName,
phone: paymentProvider.selecteUserPhone, phone: paymentProvider.selecteUserPhone,
email: paymentProvider.selecteEmail, email: paymentProvider.selecteEmail,
userId: paymentProvider.allitem.userId!, userId: paymentProvider.allitem.userId!,
cartId: paymentProvider.allitem.id!, cartId: paymentProvider.allitem.id!,
addressId: paymentProvider.selectedAddress, addressId: paymentProvider.selectedAddress,
remarks: paymentProvider.selecteUserName); remarks: paymentProvider.selecteUserName,
deliverCharge: 0,
discountPrice: 0,
couponId: '',
);
}, },
)); ));
}, },

View File

@@ -80,8 +80,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
Widget productWidget() { Widget productWidget() {
return Consumer<ProductProvider>(builder: (context, provider, child) { return Consumer<ProductProvider>(builder: (context, provider, child) {
if (provider.isLoadingg) if (provider.isLoadingg) {
{
return Padding( return Padding(
padding: const EdgeInsets.only(left: 120), padding: const EdgeInsets.only(left: 120),
child: Center( child: Center(
@@ -126,8 +125,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
var product = provider.products[index]; var product = provider.products[index];
return InkWell( return InkWell(
onTap: () onTap: () {
{
context.push(MyRoutes.PRODUCTDETAILS, context.push(MyRoutes.PRODUCTDETAILS,
extra: product.id); extra: product.id);
}, },
@@ -168,6 +166,26 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
"https://5.imimg.com/data5/SELLER/Default/2024/2/385126988/OL/DA/VW/8627346/1l-fortune-sunflower-oil.jpg", "https://5.imimg.com/data5/SELLER/Default/2024/2/385126988/OL/DA/VW/8627346/1l-fortune-sunflower-oil.jpg",
backGroundColor: Colors.transparent, backGroundColor: Colors.transparent,
), ),
Positioned(
right: 1,
bottom: 0,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 6, vertical: 2),
decoration: BoxDecoration(
color: Colors.red,
borderRadius:
BorderRadius.circular(5),
),
child: Center(
child: Text(
"${calculateDiscountPercentage(double.parse(product.basePrice), double.parse(product!.discountPrice))}% OFF",
style: TextStyle(
color: Colors.white,
fontSize: 12)),
),
),
)
// Positioned( // Positioned(
// right: 5, // right: 5,
// top: 5, // top: 5,
@@ -343,8 +361,6 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
), ),
), ),
), ),
], ],
), ),
], ],
@@ -362,6 +378,21 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
}); });
} }
int calculateDiscountPercentage(double basePrice, double discountPrice) {
print(
"Base Price (Before Discount): $basePrice, Discount Price (After Discount): $discountPrice");
if (basePrice <= 0 || discountPrice <= 0 || discountPrice > basePrice) {
print("Error: Invalid price values.");
return 0;
}
double discountAmount = basePrice - discountPrice;
double discountPercentage = (discountAmount / basePrice) * 100;
return discountPercentage.round();
}
Widget filterCategory() { Widget filterCategory() {
final activeIndexProvider = Provider.of<ProductProvider>(context); final activeIndexProvider = Provider.of<ProductProvider>(context);
return Consumer<ProductProvider>(builder: (context, provider, child) { return Consumer<ProductProvider>(builder: (context, provider, child) {

View File

@@ -326,6 +326,26 @@ class _HomeScreenState extends State<HomeScreen> {
"", "",
backGroundColor: Colors.transparent, backGroundColor: Colors.transparent,
), ),
Positioned(
right: 1,
bottom: 0,
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 6, vertical: 2),
decoration: BoxDecoration(
color: Colors.red,
borderRadius:
BorderRadius.circular(5),
),
child: Center(
child: Text(
"${calculateDiscountPercentage(double.parse(bestdealproduct.basePrice), double.parse(bestdealproduct.discountPrice))}% OFF",
style: TextStyle(
color: Colors.white,
fontSize: 12)),
),
),
)
], ],
), ),
), ),
@@ -457,225 +477,20 @@ class _HomeScreenState extends State<HomeScreen> {
}); });
} }
// Widget bestDeal() { int calculateDiscountPercentage(double basePrice, double discountPrice) {
// return Consumer<ProductProvider>(builder: (context, provider, child) { print(
// if (provider.isBestdealingloading) { "Base Price (Before Discount): $basePrice, Discount Price (After Discount): $discountPrice");
// return Center(child: CircularProgressIndicator());
// } else if (provider.bestdeal.isEmpty) {
// return Center(child: Text('No products available'));
// } else {
// return SizedBox(
// height: MediaQuery.of(context).size.height * 0.28,
// child: ListView.builder(
// itemCount: provider.bestdeal.length,
// scrollDirection: Axis.horizontal,
// itemBuilder: (context, index) {
// var bestdealproduct = provider.bestdeal[index];
// double cardWidth =
// MediaQuery.of(context).size.width * 0.4; // Dynamic width
// return InkWell( if (basePrice <= 0 || discountPrice <= 0 || discountPrice > basePrice) {
// onTap: () { print("Error: Invalid price values.");
// context.push(MyRoutes.PRODUCTDETAILS, return 0;
// extra: bestdealproduct.id); }
// },
// child: Padding(
// padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
// child: Container(
// width: cardWidth,
// decoration: BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.circular(15),
// boxShadow: [
// BoxShadow(
// color: Colors.grey.withOpacity(0.1),
// blurRadius: 1,
// offset: const Offset(5, 5),
// ),
// ],
// ),
// child: Padding(
// padding: const EdgeInsets.all(5),
// child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Center(
// child: Container(
// height: MediaQuery.of(context).size.height * 0.12,
// width: cardWidth * 0.9,
// decoration: BoxDecoration(
// color: APPCOLOR.bgGrey,
// borderRadius: BorderRadius.circular(15),
// ),
// child: Stack(
// alignment: Alignment.center,
// children: [
// AppNetworkImage(
// height: MediaQuery.of(context).size.height *
// 0.08,
// width: cardWidth * 0.7,
// imageUrl: bestdealproduct
// .productImages?.first?.url ??
// "",
// backGroundColor: Colors.transparent,
// ),
// // 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,
// // ),
// // ),
// // ),
// ],
// ),
// ),
// ),
// SizedBox(
// height: MediaQuery.of(context).size.height * 0.01,
// ),
// Text(
// bestdealproduct.name ?? "",
// textAlign: TextAlign.left,
// maxLines: 2,
// overflow: TextOverflow.ellipsis,
// style:
// context.customMedium(APPCOLOR.balck1A1A1A, 14),
// ),
// SizedBox(
// height: MediaQuery.of(context).size.height * 0.005,
// ),
// Text(
// bestdealproduct.unit ?? "",
// textAlign: TextAlign.left,
// maxLines: 1,
// overflow: TextOverflow.ellipsis,
// style: context.customMedium(
// Colors.grey.withOpacity(0.8),
// 12,
// ),
// ),
// SizedBox(
// height: MediaQuery.of(context).size.height * 0.005,
// ),
// const Spacer(),
// Row(
// children: [
// Row(
// children: [
// Text(
// "\$${bestdealproduct.discountPrice ?? ""} ",
// textAlign: TextAlign.left,
// maxLines: 1,
// overflow: TextOverflow.ellipsis,
// style: context.customSemiBold(
// Colors.black, 12),
// ),
// Text(
// "\$${bestdealproduct.basePrice ?? ""}",
// textAlign: TextAlign.left,
// maxLines: 1,
// overflow: TextOverflow.ellipsis,
// style: context
// .customMedium(
// Colors.grey.withOpacity(0.8),
// 12,
// )
// .copyWith(
// decoration:
// TextDecoration.lineThrough,
// ),
// ),
// ],
// ),
// const Spacer(),
// Align(
// alignment: Alignment.centerRight,
// child: GestureDetector(
// onTap: () async {
// print(
// "Add to Cart Pressed for ${bestdealproduct.id}");
// if (await SharedPrefUtils.getToken() != double discountAmount = basePrice - discountPrice;
// null) { double discountPercentage = (discountAmount / basePrice) * 100;
// // if (!(provider
// // .isLoading[bestdealproduct.id] ??
// // false))
// // {
// await provider.addToCart( return discountPercentage.round();
// context, bestdealproduct.id!,1); }
// // }
// } else {
// context.push(MyRoutes.SIGNUP);
// }
// },
// child: Container(
// height: MediaQuery.of(context).size.height *
// 0.035,
// width:
// MediaQuery.of(context).size.width * 0.1,
// decoration: BoxDecoration(
// color: APPCOLOR.lightGreen,
// borderRadius: BorderRadius.circular(5),
// ),
// child: Center(
// child: provider.isLoading[
// bestdealproduct.id] ??
// false
// ? Padding(
// padding:
// const EdgeInsets.all(8.0),
// child: Container(
// height: 10,
// width: 10,
// child:
// CircularProgressIndicator(
// color: Colors.white,
// strokeWidth: 2),
// ),
// )
// : Text(
// 'Add',
// style: context.customRegular(
// Colors.white, 12),
// ),
// ),
// ),
// ),
// ),
// ],
// ),
// ],
// ),
// ),
// ),
// ),
// );
// },
// ),
// );
// }
// });
// }
Widget bannerview() { Widget bannerview() {
return Consumer<ProductProvider>(builder: (context, provider, child) { return Consumer<ProductProvider>(builder: (context, provider, child) {

View File

@@ -6,6 +6,7 @@ import 'package:grocery_app/src/core/routes/routes.dart';
import 'package:grocery_app/src/logic/provider/order_provider.dart'; import 'package:grocery_app/src/logic/provider/order_provider.dart';
import 'package:grocery_app/utils/constants/assets_constant.dart'; import 'package:grocery_app/utils/constants/assets_constant.dart';
import 'package:grocery_app/utils/constants/color_constant.dart'; import 'package:grocery_app/utils/constants/color_constant.dart';
import 'package:grocery_app/utils/extensions/extensions.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
@@ -32,8 +33,10 @@ class _MyOrderScreenState extends State<MyOrderScreen> {
height: 20, height: 20,
width: 20, width: 20,
child: InkWell( child: InkWell(
onTap: () { onTap: ()
Navigator.of(context).pop(); {
context.clearAndPush(routePath: MyRoutes.BOTTOMNAV);
}, },
child: SvgPicture.asset( child: SvgPicture.asset(
APPASSETS.back, APPASSETS.back,

View File

@@ -61,11 +61,12 @@ class PaymentSuccessScreen extends StatelessWidget {
SizedBox(height: 20), SizedBox(height: 20),
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
context.clearAndPush(routePath: MyRoutes.BOTTOMNAV); context.push(MyRoutes.MYORDER);
// context.read<BottomNavProvider>().setIndex(0); // context.read<BottomNavProvider>().setIndex(0);
// Navigator.pop(context); // Navigator.pop(context);
}, },
child: Text("Go to Home"), child: Text("View Your Order"),
), ),
], ],
), ),

View File

@@ -12,7 +12,7 @@ import geolocator_apple
import package_info_plus import package_info_plus
import path_provider_foundation import path_provider_foundation
import shared_preferences_foundation import shared_preferences_foundation
import sqflite import sqflite_darwin
import url_launcher_macos import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {

View File

@@ -109,10 +109,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: connectivity_plus name: connectivity_plus
sha256: "8a68739d3ee113e51ad35583fdf9ab82c55d09d693d3c39da1aebab87c938412" sha256: "04bf81bb0b77de31557b58d052b24b3eee33f09a6e7a8c68a3e247c7df19ec27"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.2" version: "6.1.3"
connectivity_plus_platform_interface: connectivity_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@@ -290,18 +290,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_inappwebview name: flutter_inappwebview
sha256: "3e9a443a18ecef966fb930c3a76ca5ab6a7aafc0c7b5e14a4a850cf107b09959" sha256: "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.0" version: "6.1.5"
flutter_inappwebview_android: flutter_inappwebview_android:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_android name: flutter_inappwebview_android
sha256: d247f6ed417f1f8c364612fa05a2ecba7f775c8d0c044c1d3b9ee33a6515c421 sha256: "62557c15a5c2db5d195cb3892aab74fcaec266d7b86d59a6f0027abd672cddba"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.13" version: "1.1.3"
flutter_inappwebview_internal_annotations: flutter_inappwebview_internal_annotations:
dependency: transitive dependency: transitive
description: description:
@@ -314,34 +314,42 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_ios name: flutter_inappwebview_ios
sha256: f363577208b97b10b319cd0c428555cd8493e88b468019a8c5635a0e4312bd0f sha256: "5818cf9b26cf0cbb0f62ff50772217d41ea8d3d9cc00279c45f8aabaa1b4025d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.13" version: "1.1.2"
flutter_inappwebview_macos: flutter_inappwebview_macos:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_macos name: flutter_inappwebview_macos
sha256: b55b9e506c549ce88e26580351d2c71d54f4825901666bd6cfa4be9415bb2636 sha256: c1fbb86af1a3738e3541364d7d1866315ffb0468a1a77e34198c9be571287da1
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.11" version: "1.1.2"
flutter_inappwebview_platform_interface: flutter_inappwebview_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_platform_interface name: flutter_inappwebview_platform_interface
sha256: "545fd4c25a07d2775f7d5af05a979b2cac4fbf79393b0a7f5d33ba39ba4f6187" sha256: cf5323e194096b6ede7a1ca808c3e0a078e4b33cc3f6338977d75b4024ba2500
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.10" version: "1.3.0+1"
flutter_inappwebview_web: flutter_inappwebview_web:
dependency: transitive dependency: transitive
description: description:
name: flutter_inappwebview_web name: flutter_inappwebview_web
sha256: d8c680abfb6fec71609a700199635d38a744df0febd5544c5a020bd73de8ee07 sha256: "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.0.8" version: "1.1.2"
flutter_inappwebview_windows:
dependency: transitive
description:
name: flutter_inappwebview_windows
sha256: "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055"
url: "https://pub.dev"
source: hosted
version: "0.6.0"
flutter_lints: flutter_lints:
dependency: "direct dev" dependency: "direct dev"
description: description:
@@ -354,10 +362,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: flutter_plugin_android_lifecycle name: flutter_plugin_android_lifecycle
sha256: "9ee02950848f61c4129af3d6ec84a1cfc0e47931abc746b03e7a3bc3e8ff6eda" sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.22" version: "2.0.24"
flutter_rating_stars: flutter_rating_stars:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -524,10 +532,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: go_router name: go_router
sha256: "9b736a9fa879d8ad6df7932cbdcc58237c173ab004ef90d8377923d7ad731eaa" sha256: "04539267a740931c6d4479a10d466717ca5901c6fdfd3fcda09391bbb8ebd651"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.7.2" version: "14.8.0"
google_api_headers: google_api_headers:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -564,10 +572,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: google_maps_flutter_android name: google_maps_flutter_android
sha256: "10cf27bee8c560f8e69992b3a0f27ddf1d7acbea622ddb13ef3f587848a73f26" sha256: "1b69fbb3ab76e7a7dfcf25e60f32f81ae5d9b88285343eecb5479116d54be869"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.14.7" version: "2.14.12"
google_maps_flutter_ios: google_maps_flutter_ios:
dependency: transitive dependency: transitive
description: description:
@@ -636,10 +644,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image_picker_android name: image_picker_android
sha256: "8c5abf0dcc24fe6e8e0b4a5c0b51a5cf30cefdf6407a3213dae61edc75a70f56" sha256: b62d34a506e12bb965e824b6db4fbf709ee4589cf5d3e99b45ab2287b008ee0c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.12+12" version: "0.8.12+20"
image_picker_for_web: image_picker_for_web:
dependency: transitive dependency: transitive
description: description:
@@ -696,14 +704,6 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.20.2" version: "0.20.2"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
json_annotation: json_annotation:
dependency: transitive dependency: transitive
description: description:
@@ -716,18 +716,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "10.0.4" version: "10.0.5"
leak_tracker_flutter_testing: leak_tracker_flutter_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_flutter_testing name: leak_tracker_flutter_testing
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.3" version: "3.0.5"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
@@ -772,10 +772,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.8.0" version: "0.11.1"
material_design_icons_flutter: material_design_icons_flutter:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -788,10 +788,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.12.0" version: "1.15.0"
mime: mime:
dependency: transitive dependency: transitive
description: description:
@@ -884,10 +884,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_android name: path_provider_android
sha256: "6f01f8e37ec30b07bc424b4deabac37cacb1bc7e2e515ad74486039918a37eb7" sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.10" version: "2.2.15"
path_provider_foundation: path_provider_foundation:
dependency: transitive dependency: transitive
description: description:
@@ -988,18 +988,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: shared_preferences name: shared_preferences
sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" sha256: "688ee90fbfb6989c980254a56cb26ebe9bb30a3a2dff439a78894211f73de67a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.3" version: "2.5.1"
shared_preferences_android: shared_preferences_android:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: "480ba4345773f56acda9abf5f50bd966f581dac5d514e5fc4a18c62976bbba7e" sha256: "650584dcc0a39856f369782874e562efd002a9c94aec032412c9eb81419cce1f"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.2" version: "2.4.4"
shared_preferences_foundation: shared_preferences_foundation:
dependency: transitive dependency: transitive
description: description:
@@ -1081,18 +1081,42 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: sqflite name: sqflite
sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.3.3+1" version: "2.4.1"
sqflite_android:
dependency: transitive
description:
name: sqflite_android
sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
sqflite_common: sqflite_common:
dependency: transitive dependency: transitive
description: description:
name: sqflite_common name: sqflite_common
sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.4" version: "2.5.4+6"
sqflite_darwin:
dependency: transitive
description:
name: sqflite_darwin
sha256: "22adfd9a2c7d634041e96d6241e6e1c8138ca6817018afc5d443fef91dcefa9c"
url: "https://pub.dev"
source: hosted
version: "2.4.1+1"
sqflite_platform_interface:
dependency: transitive
description:
name: sqflite_platform_interface
sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920"
url: "https://pub.dev"
source: hosted
version: "2.4.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
@@ -1129,10 +1153,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: synchronized name: synchronized
sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.0+1" version: "3.3.0+3"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@@ -1145,18 +1169,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.0" version: "0.7.2"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.2" version: "1.4.0"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -1169,10 +1193,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: url_launcher_android name: url_launcher_android
sha256: f0c73347dfcfa5b3db8bc06e1502668265d39c08f310c29bff4e28eea9699f79 sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.9" version: "6.3.14"
url_launcher_ios: url_launcher_ios:
dependency: transitive dependency: transitive
description: description:
@@ -1265,10 +1289,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vm_service name: vm_service
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "14.2.1" version: "14.2.5"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -1281,10 +1305,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "68d1e89a91ed61ad9c370f9f8b6effed9ae5e0ede22a270bdfa6daf79fc2290a" sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.5.4" version: "5.10.1"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
@@ -1302,5 +1326,5 @@ packages:
source: hosted source: hosted
version: "6.5.0" version: "6.5.0"
sdks: sdks:
dart: ">=3.4.4 <4.0.0" dart: ">=3.5.0 <4.0.0"
flutter: ">=3.22.0" flutter: ">=3.24.0"

View File

@@ -8,6 +8,7 @@
#include <connectivity_plus/connectivity_plus_windows_plugin.h> #include <connectivity_plus/connectivity_plus_windows_plugin.h>
#include <file_selector_windows/file_selector_windows.h> #include <file_selector_windows/file_selector_windows.h>
#include <flutter_inappwebview_windows/flutter_inappwebview_windows_plugin_c_api.h>
#include <geolocator_windows/geolocator_windows.h> #include <geolocator_windows/geolocator_windows.h>
#include <url_launcher_windows/url_launcher_windows.h> #include <url_launcher_windows/url_launcher_windows.h>
@@ -16,6 +17,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
FileSelectorWindowsRegisterWithRegistrar( FileSelectorWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FileSelectorWindows")); registry->GetRegistrarForPlugin("FileSelectorWindows"));
FlutterInappwebviewWindowsPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FlutterInappwebviewWindowsPluginCApi"));
GeolocatorWindowsRegisterWithRegistrar( GeolocatorWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("GeolocatorWindows")); registry->GetRegistrarForPlugin("GeolocatorWindows"));
UrlLauncherWindowsRegisterWithRegistrar( UrlLauncherWindowsRegisterWithRegistrar(

View File

@@ -5,6 +5,7 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
connectivity_plus connectivity_plus
file_selector_windows file_selector_windows
flutter_inappwebview_windows
geolocator_windows geolocator_windows
url_launcher_windows url_launcher_windows
) )