"lib/git@183.82.99.133:saisrinivas/gen_rentals.git" did not exist on "8ddd1d9b3eb1877dcb04ca0195fc1b97d9f37274"
Commit 5ac94fe2 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

New Screen and apis

parent df116895
...@@ -4,6 +4,7 @@ import 'package:provider/provider.dart'; ...@@ -4,6 +4,7 @@ import 'package:provider/provider.dart';
import '../Notifier/TransactionsProvider.dart'; import '../Notifier/TransactionsProvider.dart';
import '../Utility/AppColors.dart'; import '../Utility/AppColors.dart';
import 'DashboardScreen.dart';
class TransactionsScreen extends StatefulWidget { class TransactionsScreen extends StatefulWidget {
final String sessionId; final String sessionId;
...@@ -121,74 +122,29 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -121,74 +122,29 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
children: [ children: [
Container( Container(
width: double.infinity, width: double.infinity,
padding: const EdgeInsets.symmetric(vertical: 24, horizontal: 18), padding: const EdgeInsets.symmetric(vertical: 20, horizontal: 20),
decoration: BoxDecoration( decoration: BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
begin: Alignment.topCenter, begin: Alignment.topCenter,
end: Alignment.bottomCenter, end: Alignment.bottomCenter,
colors: [ colors: [
Color(0xFFF3F3F3), Color(0xFAF3F3F3),
Color(0xFFB5FFD1), Color(0xFAB5FFD1),
], ],
), ),
borderRadius: BorderRadius.circular(16), borderRadius: BorderRadius.circular(16),
boxShadow: [ boxShadow: [
BoxShadow( // BoxShadow(
color: Colors.black.withOpacity(0.03), // color: Colors.black.withOpacity(0.03),
blurRadius: 8, // blurRadius: 8,
offset: const Offset(0, 2), // offset: const Offset(0, 2),
) // )
], ],
), ),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
/// Header SizedBox(height: 140,),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const Text(
"Balance Amount",
style: TextStyle(
fontFamily: "Poppins",
fontSize: 13,
fontWeight: FontWeight.w500,
color: Colors.redAccent,
),
),
TextButton(
onPressed: () {},
child: const Text(
"Pay Now",
style: TextStyle(
fontFamily: "Poppins",
fontWeight: FontWeight.w500,
color: Color(0xFF007AFF),
),
),
),
],
),
Text(
"₹$balance",
style: const TextStyle(
fontFamily: "Poppins",
fontWeight: FontWeight.w600,
fontSize: 30,
color: Colors.black,
),
),
const SizedBox(height: 4),
const Text(
"*Make sure to pay before you incur any fines.",
style: TextStyle(
fontFamily: "Poppins",
fontSize: 12,
color: Colors.grey,
),
),
const SizedBox(height: 14),
/// Credit / Debit Row /// Credit / Debit Row
Row( Row(
...@@ -196,6 +152,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -196,6 +152,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
children: [ children: [
// ✅ Bill Paid // ✅ Bill Paid
Row( Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Container( Container(
height: 46, height: 46,
...@@ -206,7 +163,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -206,7 +163,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
), ),
child: Center( child: Center(
child: SvgPicture.asset( child: SvgPicture.asset(
"assets/svg/cross_down_arrow.svg", "assets/svg/cross_up_arrow.svg",
height: 18, height: 18,
width: 18, width: 18,
fit: BoxFit.contain, // Ensures the SVG scales within bounds fit: BoxFit.contain, // Ensures the SVG scales within bounds
...@@ -240,7 +197,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -240,7 +197,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
], ],
), ),
const SizedBox(width: 10), const SizedBox(width: 40),
// ❌ Bill Pending // ❌ Bill Pending
Row( Row(
...@@ -254,7 +211,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -254,7 +211,7 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
), ),
child: Center( child: Center(
child: SvgPicture.asset( child: SvgPicture.asset(
"assets/svg/cross_up_arrow.svg", "assets/svg/cross_down_arrow.svg",
height: 18, height: 18,
width: 18, width: 18,
fit: BoxFit.contain, // Ensures the SVG scales within bounds fit: BoxFit.contain, // Ensures the SVG scales within bounds
...@@ -337,7 +294,8 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -337,7 +294,8 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
), ),
), ),
InkResponse( InkResponse(
child: const Text( onTap: () => showPaymentBottomSheet(context),
child: Text(
"Pay Now", "Pay Now",
style: TextStyle( style: TextStyle(
fontFamily: "Poppins", fontFamily: "Poppins",
...@@ -387,13 +345,13 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -387,13 +345,13 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
child: Row( child: Row(
children: [ children: [
CircleAvatar( CircleAvatar(
radius: 18, radius: 20,
backgroundColor: backgroundColor:
isCredit ? Colors.green.shade50 : Colors.red.shade50, isCredit ? Colors.green.shade50 : Colors.red.shade50,
child: SvgPicture.asset( child: SvgPicture.asset(
isCredit isCredit
? "assets/svg/cross_down_arrow.svg" ? "assets/svg/cross_up_arrow.svg"
: "assets/svg/cross_up_arrow.svg", : "assets/svg/cross_down_arrow.svg",
height: 18, height: 18,
), ),
), ),
...@@ -436,4 +394,25 @@ class _TransactionsScreenState extends State<TransactionsScreen> { ...@@ -436,4 +394,25 @@ class _TransactionsScreenState extends State<TransactionsScreen> {
), ),
); );
} }
void showPaymentBottomSheet(
BuildContext context, {
String? payTotal = "4218",
String? payBill = "2018",
}) {
showModalBottomSheet(
context: context,
isScrollControlled: true, // This is important
backgroundColor: Colors.transparent,
isDismissible: true,
enableDrag: true,
builder: (BuildContext context) {
return PaymentBottomSheetContent(
payTotal: payTotal,
payBill: payBill,
flag: false,
);
},
);
}
} }
...@@ -26,10 +26,10 @@ const subsOrderDetails = "${baseUrl}subs_order_details"; ...@@ -26,10 +26,10 @@ const subsOrderDetails = "${baseUrl}subs_order_details";
const tagOrderUrl = "${baseUrl}tag_order"; const tagOrderUrl = "${baseUrl}tag_order";
/// tickets /// tickets
const raiseTicketUrl = "${baseUrl}raise_ticket"; const addEnquiryUrl = "${baseUrl}add_enquiry";
const ticketChatUrl = "${baseUrl}ticket_chat"; const addTicketUrl = "${baseUrl}add_ticket";
const ticketChatDisplayUrl = "${baseUrl}ticket_chat_display"; const ticketChatDetailsUrl = "${baseUrl}ticket_details";
const ticketCUrl = "${baseUrl}ticket_c"; const addMessageUrl = "${baseUrl}add_feedback";
const ticketListUrl = "${baseUrl}ticket_list"; const ticketListUrl = "${baseUrl}ticket_list";
......
import 'dart:convert'; import 'dart:convert';
import 'dart:io';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:gen_rentals/Models/CommonResponse.dart'; import 'package:gen_rentals/Models/CommonResponse.dart';
import 'package:gen_rentals/Models/TicketChatDisplayResponse.dart'; import 'package:gen_rentals/Models/HelpAndEnquiryModels/TicketChatDisplayResponse.dart';
import 'package:gen_rentals/Models/billListResponse.dart'; import 'package:gen_rentals/Models/billListResponse.dart';
import 'package:gen_rentals/Models/billProductResponse.dart'; import 'package:gen_rentals/Models/billProductResponse.dart';
import 'package:gen_rentals/Models/orderDetailsBillResponse.dart'; import 'package:gen_rentals/Models/orderDetailsBillResponse.dart';
import 'package:gen_rentals/Models/orderDetailsMainResponse.dart'; import 'package:gen_rentals/Models/orderDetailsMainResponse.dart';
import 'package:gen_rentals/Models/orderDetailsProductResponse.dart'; import 'package:gen_rentals/Models/orderDetailsProductResponse.dart';
import 'package:gen_rentals/Models/SubscribeOrderDetailsResponse.dart'; import 'package:gen_rentals/Models/SubscribeOrderDetailsResponse.dart';
import 'package:gen_rentals/Models/ticketListResponse.dart'; import 'package:gen_rentals/Models/HelpAndEnquiryModels/ticketListResponse.dart';
import 'package:gen_rentals/Notifier/billDetailsResponse.dart'; import 'package:gen_rentals/Notifier/billDetailsResponse.dart';
import '../Models/DashboardResponse.dart'; import '../Models/DashboardResponse.dart';
import '../Models/RentalPaymentDetailsResponse.dart'; import '../Models/RentalPaymentDetailsResponse.dart';
...@@ -319,13 +321,11 @@ class ApiCalling { ...@@ -319,13 +321,11 @@ class ApiCalling {
/// Fetch Ticket List /// Fetch Ticket List
static Future<TicketListResponse?> fetchTicketListApi( static Future<TicketListResponse?> fetchTicketListApi(
String sessionId, String sessionId,
String empId,
String accId, String accId,
) async { ) async {
try { try {
Map<String, String> data = { Map<String, String> data = {
"session_id": sessionId, "session_id": sessionId,
"emp_id": empId,
"acc_id": accId, "acc_id": accId,
}; };
...@@ -346,17 +346,19 @@ class ApiCalling { ...@@ -346,17 +346,19 @@ class ApiCalling {
/// Fetch Ticket Chat Display /// Fetch Ticket Chat Display
static Future<TicketChatDisplayResponse?> fetchTicketChatDisplayApi( static Future<TicketChatDisplayResponse?> fetchTicketChatDisplayApi(
String sessionId, String sessionId,
String empId, String accId,
String ticId, String ticketId,
) async { ) async {
try { try {
Map<String, String> data = { Map<String, String> data = {
"session_id": sessionId, "session_id": sessionId,
"emp_id": empId, "acc_id": accId,
"tic_id": ticId, "ticket_id": ticketId,
}; };
final res = await post(data, ticketChatDisplayUrl, {}); final res = await post(data, ticketChatDetailsUrl, {});
// debugPrint("🟢 Raw API Response:\n${res?.body}");
// debugPrint("🟢 Response Type: ${res?.body.runtimeType}");
if (res != null) { if (res != null) {
return TicketChatDisplayResponse.fromJson(jsonDecode(res.body)); return TicketChatDisplayResponse.fromJson(jsonDecode(res.body));
...@@ -370,6 +372,91 @@ class ApiCalling { ...@@ -370,6 +372,91 @@ class ApiCalling {
} }
} }
/// Send Message Chat Api
/// Send Message Chat Api
static Future<CommonResponse?> addMessageApi(
String sessionId,
String accId,
String ticketId,
String msgText,
List<File>? images,
) async {
try {
Map<String, String> body = {
"session_id": sessionId,
"acc_id": accId,
"ticket_id": ticketId,
"text": msgText,
};
Map<String, String> headers = {
'Content-Type': 'multipart/form-data',
// Add any other headers you need (auth tokens, etc.)
};
final res = await postMessageWithImages(
body,
addMessageUrl, // Your API endpoint
headers,
images ?? [], // Pass empty list if no images
);
if (res != null) {
return CommonResponse.fromJson(jsonDecode(res));
} else {
debugPrint("Null Response from addMessageApi");
return null;
}
} catch (e) {
debugPrint("❌ API Error (addMessageApi): $e");
return null;
}
}
static Future<CommonResponse?> addTicketApi(
String sessionId,
String accId,
String type,
String description,
String orderId,
List<File>? images,
) async {
try {
Map<String, String> body = {
"session_id": sessionId,
"acc_id": accId,
"type": type,
"des": description,
"order_id": orderId,
};
Map<String, String> headers = {
'Content-Type': 'multipart/form-data',
// Add any other headers you need (auth tokens, etc.)
};
final res = await postMessageWithImages(
body,
addMessageUrl, // Your API endpoint
headers,
images ?? [], // Pass empty list if no images
);
if (res != null) {
return CommonResponse.fromJson(jsonDecode(res));
} else {
debugPrint("Null Response from addMessageApi");
return null;
}
} catch (e) {
debugPrint("❌ API Error (addMessageApi): $e");
return null;
}
}
/// Fetch Tag Order /// Fetch Tag Order
static Future<CommonResponse?> fetchTagOrderApi( static Future<CommonResponse?> fetchTagOrderApi(
String sessionId, String sessionId,
...@@ -396,19 +483,29 @@ class ApiCalling { ...@@ -396,19 +483,29 @@ class ApiCalling {
} }
} }
/// Fetch Raise Ticket /// Submit Enquiry Api
static Future<CommonResponse?> fetchRaiseTicketApi( static Future<CommonResponse?> submitEnquiryApi(
String sessionId, String sessionId,
String empId, String accId,
String name,
String email,
String mobile,
String requirement,
String note,
) async { ) async {
try { try {
Map<String, String> data = { Map<String, String> data = {
"session_id": sessionId, "session_id": sessionId,
"emp_id": empId, "acc_id": accId,
"name": name,
"email": email,
"mob": mobile,
"req": requirement,
"note": note,
}; };
final res = await post(data, raiseTicketUrl, {}); final res = await post(data, addEnquiryUrl, {});
if (res != null) { if (res != null) {
return CommonResponse.fromJson(jsonDecode(res.body)); return CommonResponse.fromJson(jsonDecode(res.body));
...@@ -417,7 +514,7 @@ class ApiCalling { ...@@ -417,7 +514,7 @@ class ApiCalling {
return null; return null;
} }
} catch (e) { } catch (e) {
debugPrint("❌ API Error (raise Ticket): $e"); debugPrint("❌ API Error (enquiry Submit): $e");
return null; return null;
} }
} }
......
...@@ -270,3 +270,41 @@ Future<String?> PostMultipleImages( ...@@ -270,3 +270,41 @@ Future<String?> PostMultipleImages(
return null; return null;
} }
} }
/// Send message with multiple images
Future<String?> postMessageWithImages(
Map<String, String> body,
String urlLink,
Map<String, String> headers,
List<File> images,
) async {
try {
var req = http.MultipartRequest('POST', Uri.parse(urlLink));
req.headers.addAll(headers);
// Add all images with the key 'images[]'
for (var image in images) {
if (await image.exists()) {
req.files.add(
await http.MultipartFile.fromPath('images[]', image.path),
);
}
}
req.fields.addAll(body);
var res = await req.send();
final resBody = await res.stream.bytesToString();
if (res.statusCode >= 200 && res.statusCode < 300) {
print("**** Message sent successfully: $resBody");
return resBody;
} else {
print("error: ${res.reasonPhrase}");
return null;
}
} catch (e) {
debugPrint("Error sending message with images: $e");
return null;
}
}
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:gen_rentals/Notifier/DashboardProvider.dart'; import 'package:gen_rentals/Notifier/DashboardProvider.dart';
import 'package:gen_rentals/Notifier/HelpAndEnquiryProvider.dart';
import 'package:gen_rentals/Notifier/TransactionsProvider.dart'; import 'package:gen_rentals/Notifier/TransactionsProvider.dart';
import 'package:gen_rentals/Screens/SplashScreen.dart'; import 'package:gen_rentals/Screens/SplashScreen.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
...@@ -32,6 +33,7 @@ class MyApp extends StatelessWidget { ...@@ -32,6 +33,7 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider<ThemeProvider>(create: (_) => ThemeProvider(),), ChangeNotifierProvider<ThemeProvider>(create: (_) => ThemeProvider(),),
ChangeNotifierProvider(create: (_) => SubscribeOrderDetailsProvider()), ChangeNotifierProvider(create: (_) => SubscribeOrderDetailsProvider()),
ChangeNotifierProvider(create: (_) => TransactionsProvider()), ChangeNotifierProvider(create: (_) => TransactionsProvider()),
ChangeNotifierProvider(create: (_) => HelpAndEnquiryProvider()),
], ],
child: Consumer<ThemeProvider>( child: Consumer<ThemeProvider>(
builder: (context, themeProvider, child) { builder: (context, themeProvider, child) {
......
...@@ -97,6 +97,14 @@ packages: ...@@ -97,6 +97,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
cross_file:
dependency: transitive
description:
name: cross_file
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
version: "0.3.4+2"
crypto: crypto:
dependency: transitive dependency: transitive
description: description:
...@@ -149,10 +157,10 @@ packages: ...@@ -149,10 +157,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: fake_async name: fake_async
sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.3" version: "1.3.2"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
...@@ -169,6 +177,38 @@ packages: ...@@ -169,6 +177,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.0.1" version: "7.0.1"
file_selector_linux:
dependency: transitive
description:
name: file_selector_linux
sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
url: "https://pub.dev"
source: hosted
version: "0.9.3+2"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
sha256: "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c"
url: "https://pub.dev"
source: hosted
version: "0.9.4+4"
file_selector_platform_interface:
dependency: transitive
description:
name: file_selector_platform_interface
sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b
url: "https://pub.dev"
source: hosted
version: "2.6.2"
file_selector_windows:
dependency: transitive
description:
name: file_selector_windows
sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b"
url: "https://pub.dev"
source: hosted
version: "0.9.3+4"
firebase_core: firebase_core:
dependency: "direct dev" dependency: "direct dev"
description: description:
...@@ -254,6 +294,14 @@ packages: ...@@ -254,6 +294,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.0.0" version: "5.0.0"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: c2fe1001710127dfa7da89977a08d591398370d099aacdaa6d44da7eb14b8476
url: "https://pub.dev"
source: hosted
version: "2.0.31"
flutter_svg: flutter_svg:
dependency: "direct dev" dependency: "direct dev"
description: description:
...@@ -296,30 +344,94 @@ packages: ...@@ -296,30 +344,94 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.1.2" version: "4.1.2"
image_picker:
dependency: "direct dev"
description:
name: image_picker
sha256: "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: "28f3987ca0ec702d346eae1d90eda59603a2101b52f1e234ded62cff1d5cfa6e"
url: "https://pub.dev"
source: hosted
version: "0.8.13+1"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
sha256: "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6"
url: "https://pub.dev"
source: hosted
version: "3.1.0"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
sha256: eb06fe30bab4c4497bad449b66448f50edcc695f1c59408e78aa3a8059eb8f0e
url: "https://pub.dev"
source: hosted
version: "0.8.13"
image_picker_linux:
dependency: transitive
description:
name: image_picker_linux
sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4"
url: "https://pub.dev"
source: hosted
version: "0.2.2"
image_picker_macos:
dependency: transitive
description:
name: image_picker_macos
sha256: d58cd9d67793d52beefd6585b12050af0a7663c0c2a6ece0fb110a35d6955e04
url: "https://pub.dev"
source: hosted
version: "0.2.2"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
url: "https://pub.dev"
source: hosted
version: "2.11.1"
image_picker_windows:
dependency: transitive
description:
name: image_picker_windows
sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae
url: "https://pub.dev"
source: hosted
version: "0.2.2"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker name: leak_tracker
sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "11.0.2" version: "10.0.8"
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: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.10" version: "3.0.9"
leak_tracker_testing: leak_tracker_testing:
dependency: transitive dependency: transitive
description: description:
name: leak_tracker_testing name: leak_tracker_testing
sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.0.1"
lints: lints:
dependency: transitive dependency: transitive
description: description:
...@@ -360,6 +472,14 @@ packages: ...@@ -360,6 +472,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.16.0" version: "1.16.0"
mime:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.dev"
source: hosted
version: "2.0.0"
nested: nested:
dependency: transitive dependency: transitive
description: description:
...@@ -721,10 +841,10 @@ packages: ...@@ -721,10 +841,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.7.6" version: "0.7.4"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
...@@ -769,10 +889,10 @@ packages: ...@@ -769,10 +889,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.0" version: "2.1.4"
vm_service: vm_service:
dependency: transitive dependency: transitive
description: description:
...@@ -822,5 +942,5 @@ packages: ...@@ -822,5 +942,5 @@ packages:
source: hosted source: hosted
version: "6.5.0" version: "6.5.0"
sdks: sdks:
dart: ">=3.8.0-0 <4.0.0" dart: ">=3.7.2 <4.0.0"
flutter: ">=3.29.0" flutter: ">=3.29.0"
...@@ -59,6 +59,7 @@ dev_dependencies: ...@@ -59,6 +59,7 @@ dev_dependencies:
firebase_messaging: ^16.0.2 firebase_messaging: ^16.0.2
firebase_core: ^4.1.1 firebase_core: ^4.1.1
device_info_plus: ^10.0.0 device_info_plus: ^10.0.0
image_picker: ^1.0.4
#flutter_local_notifications: ^17.2.0 #flutter_local_notifications: ^17.2.0
......
...@@ -7,12 +7,15 @@ ...@@ -7,12 +7,15 @@
#include "generated_plugin_registrant.h" #include "generated_plugin_registrant.h"
#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 <firebase_core/firebase_core_plugin_c_api.h> #include <firebase_core/firebase_core_plugin_c_api.h>
#include <permission_handler_windows/permission_handler_windows_plugin.h> #include <permission_handler_windows/permission_handler_windows_plugin.h>
void RegisterPlugins(flutter::PluginRegistry* registry) { void RegisterPlugins(flutter::PluginRegistry* registry) {
ConnectivityPlusWindowsPluginRegisterWithRegistrar( ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
FileSelectorWindowsRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FileSelectorWindows"));
FirebaseCorePluginCApiRegisterWithRegistrar( FirebaseCorePluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); registry->GetRegistrarForPlugin("FirebaseCorePluginCApi"));
PermissionHandlerWindowsPluginRegisterWithRegistrar( PermissionHandlerWindowsPluginRegisterWithRegistrar(
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_PLUGIN_LIST
connectivity_plus connectivity_plus
file_selector_windows
firebase_core firebase_core
permission_handler_windows permission_handler_windows
) )
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment