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.
connectivity_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
file_selector_linux=/Users/rajeevsingh/.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_windows=/Users/rajeevsingh/.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_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.0.13/
flutter_inappwebview_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.0.13/
flutter_inappwebview_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.0.11/
flutter_inappwebview_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.0.8/
flutter_plugin_android_lifecycle=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
fluttertoast=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/
geocoding=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
geocoding_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
geocoding_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
geolocator=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
geolocator_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
geolocator_apple=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
geolocator_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
geolocator_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
google_api_headers=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
google_maps_flutter=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
google_maps_flutter_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/
google_maps_flutter_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
google_maps_flutter_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
image_picker=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker-1.1.2/
image_picker_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+12/
image_picker_for_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/
image_picker_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/
image_picker_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
image_picker_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/
image_picker_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
package_info_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
path_provider=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
path_provider_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
path_provider_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
path_provider_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
path_provider_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
shared_preferences=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
shared_preferences_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/
shared_preferences_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
shared_preferences_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
shared_preferences_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
shared_preferences_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
sqflite=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
url_launcher=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
url_launcher_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.9/
url_launcher_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
url_launcher_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/
url_launcher_macos=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/
url_launcher_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/
url_launcher_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/
connectivity_plus=/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/
file_selector_linux=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/
file_selector_macos=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/
file_selector_windows=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/
flutter_inappwebview=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview-6.1.5/
flutter_inappwebview_android=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.1.3/
flutter_inappwebview_ios=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.1.2/
flutter_inappwebview_macos=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.1.2/
flutter_inappwebview_web=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.1.2/
flutter_inappwebview_windows=/Users/apple/.pub-cache/hosted/pub.dev/flutter_inappwebview_windows-0.6.0/
flutter_plugin_android_lifecycle=/Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.24/
fluttertoast=/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/
geocoding=/Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
geocoding_android=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
geocoding_ios=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
geolocator=/Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
geolocator_android=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
geolocator_apple=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
geolocator_web=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
geolocator_windows=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
google_api_headers=/Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
google_maps_flutter=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
google_maps_flutter_android=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.12/
google_maps_flutter_ios=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
google_maps_flutter_web=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
image_picker=/Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2/
image_picker_android=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/
image_picker_for_web=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/
image_picker_ios=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/
image_picker_linux=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
image_picker_macos=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/
image_picker_windows=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
package_info_plus=/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
path_provider=/Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
path_provider_android=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.15/
path_provider_foundation=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
path_provider_linux=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
path_provider_windows=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
shared_preferences=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.5.1/
shared_preferences_android=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.4.4/
shared_preferences_foundation=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
shared_preferences_linux=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
shared_preferences_web=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
shared_preferences_windows=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
sqflite=/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.4.1/
sqflite_android=/Users/apple/.pub-cache/hosted/pub.dev/sqflite_android-2.4.0/
sqflite_darwin=/Users/apple/.pub-cache/hosted/pub.dev/sqflite_darwin-2.4.1+1/
url_launcher=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
url_launcher_android=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/
url_launcher_ios=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
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:geolocator/geolocator.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/all_cart_items.dart';
import 'package:grocery_app/src/logic/repo/product_repo.dart';
@@ -219,65 +220,55 @@ class AddtocartProvider extends ChangeNotifier {
Future<void> paymentCODOrder(
BuildContext context,
double subtotal,
String deliverCharge,
double deliverCharge,
double discountPrice,
String grandTotal,
double grandTotal,
String couponId,
String addressId,
) async {
print("sdkjfhgkjdfhgjkldfkjghkdf");
ispaymentLoader = true;
notifyListeners();
var data;
if (couponId.isNotEmpty)
{
if (couponId != '00') {
data = {
{
"addressId": addressId,
"paymentMethod": "COD",
"paymentStatus": "PENDING",
"orderStatus": "PENDING",
"subtotal": subtotal,
"deliveryCharge": deliverCharge,
"discount": discountPrice,
"grandTotal": grandTotal,
"couponId": couponId
}
"addressId": addressId,
"paymentMethod": "COD",
"paymentStatus": "PENDING",
"orderStatus": "PENDING",
"subtotal": subtotal,
"deliveryCharge": deliverCharge,
"discount": discountPrice,
"grandTotal": grandTotal,
"couponId": couponId
};
}
else {
} else {
print("skfdjdsjfg");
data = {
{
"addressId": addressId,
"paymentMethod": "COD",
"paymentStatus": "PENDING",
"orderStatus": "PENDING",
"subtotal": subtotal,
"deliveryCharge": deliverCharge,
"discount": discountPrice,
"grandTotal": grandTotal,
}
"addressId": addressId,
"paymentMethod": "COD",
"paymentStatus": "PENDING",
"orderStatus": "PENDING",
"subtotal": subtotal,
"deliveryCharge": deliverCharge,
"discount": discountPrice,
"grandTotal": grandTotal,
};
}
print("kjfhxgkljfhg ${data}");
try {
var result = await _homeRepo.paymentCODOrder(data);
return result.fold(
(error) {
ispaymentLoader = false;
notifyListeners();
},
(response) {
if (response.data!.instrumentResponse!.redirectInfo != null &&
response.data!.instrumentResponse!.redirectInfo != '') {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PaymentWebView(
paymentUrl:
response.data!.instrumentResponse!.redirectInfo!.url),
),
);
}
context.clearAndPush(routePath: MyRoutes.SUCCESSPAYMENT);
ispaymentLoader = false;
notifyListeners();
},

View File

@@ -69,6 +69,8 @@ class ProductProvider extends ChangeNotifier {
bool isBestdealingloading = true;
Future<void> getBestDealProduct(BuildContext context) async {
isBestdealingloading = true;
notifyListeners();
var data = {};
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/best_dealProduct.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/order_paymnet.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 {
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);
} on DioException catch (e) {

View File

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

View File

@@ -23,6 +23,28 @@ class BestDealScreen extends StatefulWidget {
}
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
Widget build(BuildContext context) {
return Scaffold(
@@ -221,31 +243,24 @@ class _BestDealScreenState extends State<BestDealScreen> {
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,
// ),
// ),
// ),
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)),
),
),
)
],
),
),

View File

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

View File

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

View File

@@ -153,6 +153,25 @@ class _MycartState extends State<Mycart> {
"",
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(
// right: 5,
// top: 5,
@@ -713,7 +732,8 @@ class _MycartState extends State<Mycart> {
);
} else if (provider.allitem == null) {
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(
child: ElevatedButton(
style: ElevatedButton.styleFrom(backgroundColor: Colors.green),
@@ -729,7 +749,7 @@ class _MycartState extends State<Mycart> {
),
));
} else {
print("kldjhgjkhfgjkh ${provider.allitem.items}");
print("kldjhgjkhfgjkh ");
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -977,21 +997,24 @@ class _AddressBottomSheetState extends State<AddressBottomSheet> {
onPressed: () {
Navigator.pop(context);
Navigator.of(context).push(MaterialPageRoute(
builder: (context)
{
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);
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: '',
);
},
));
},

View File

@@ -80,8 +80,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
Widget productWidget() {
return Consumer<ProductProvider>(builder: (context, provider, child) {
if (provider.isLoadingg)
{
if (provider.isLoadingg) {
return Padding(
padding: const EdgeInsets.only(left: 120),
child: Center(
@@ -126,8 +125,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
var product = provider.products[index];
return InkWell(
onTap: ()
{
onTap: () {
context.push(MyRoutes.PRODUCTDETAILS,
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",
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(
// right: 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() {
final activeIndexProvider = Provider.of<ProductProvider>(context);
return Consumer<ProductProvider>(builder: (context, provider, child) {

View File

@@ -326,6 +326,26 @@ class _HomeScreenState extends State<HomeScreen> {
"",
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() {
// return Consumer<ProductProvider>(builder: (context, provider, child) {
// if (provider.isBestdealingloading) {
// 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
int calculateDiscountPercentage(double basePrice, double discountPrice) {
print(
"Base Price (Before Discount): $basePrice, Discount Price (After Discount): $discountPrice");
// return InkWell(
// onTap: () {
// context.push(MyRoutes.PRODUCTDETAILS,
// 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 (basePrice <= 0 || discountPrice <= 0 || discountPrice > basePrice) {
print("Error: Invalid price values.");
return 0;
}
// if (await SharedPrefUtils.getToken() !=
// null) {
// // if (!(provider
// // .isLoading[bestdealproduct.id] ??
// // false))
// // {
double discountAmount = basePrice - discountPrice;
double discountPercentage = (discountAmount / basePrice) * 100;
// await provider.addToCart(
// 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),
// ),
// ),
// ),
// ),
// ),
// ],
// ),
// ],
// ),
// ),
// ),
// ),
// );
// },
// ),
// );
// }
// });
// }
return discountPercentage.round();
}
Widget bannerview() {
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/utils/constants/assets_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:url_launcher/url_launcher.dart';
@@ -32,8 +33,10 @@ class _MyOrderScreenState extends State<MyOrderScreen> {
height: 20,
width: 20,
child: InkWell(
onTap: () {
Navigator.of(context).pop();
onTap: ()
{
context.clearAndPush(routePath: MyRoutes.BOTTOMNAV);
},
child: SvgPicture.asset(
APPASSETS.back,

View File

@@ -61,11 +61,12 @@ class PaymentSuccessScreen extends StatelessWidget {
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
context.clearAndPush(routePath: MyRoutes.BOTTOMNAV);
context.push(MyRoutes.MYORDER);
// context.read<BottomNavProvider>().setIndex(0);
// 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 path_provider_foundation
import shared_preferences_foundation
import sqflite
import sqflite_darwin
import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {

View File

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

View File

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

View File

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