From 485928d8c12d7d1454ed76b577673d8e188c33a5 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Sun, 21 Jul 2024 09:48:56 +0300 Subject: [PATCH] 7/21/2 --- android/app/build.gradle | 4 +- lib/constant/api_key.dart | 79 ++- lib/constant/links.dart | 2 + lib/controller/functions/crud.dart | 2 +- lib/controller/functions/upload_image.dart | 7 - .../home/map_passenger_controller.dart | 68 ++ lib/controller/local/translations.dart | 27 +- lib/main.dart | 2 +- lib/print.dart | 13 + .../car_details_widget_to_go.dart | 15 +- .../select_driver_mishwari.dart | 285 ++++++++ pubspec.lock | 653 ++++++++++-------- pubspec.yaml | 30 +- .../lib/secure_string_operations.dart | 47 ++ secure_string_operations/pubspec.lock | 5 + secure_string_operations/pubspec.yaml | 6 + 16 files changed, 860 insertions(+), 385 deletions(-) create mode 100644 lib/print.dart create mode 100644 lib/views/home/map_widget.dart/select_driver_mishwari.dart create mode 100644 secure_string_operations/lib/secure_string_operations.dart create mode 100644 secure_string_operations/pubspec.lock create mode 100644 secure_string_operations/pubspec.yaml diff --git a/android/app/build.gradle b/android/app/build.gradle index 44263f8..fd3f507 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,8 +55,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 23 targetSdkVersion 34 - versionCode 50 - versionName '1.5.50' + versionCode 51 + versionName '1.5.51' // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] } diff --git a/lib/constant/api_key.dart b/lib/constant/api_key.dart index 3cea15d..6433459 100644 --- a/lib/constant/api_key.dart +++ b/lib/constant/api_key.dart @@ -1,74 +1,73 @@ +import 'package:secure_string_operations/secure_string_operations.dart'; + import '../env/env.dart'; import 'char_map.dart'; -import 'credential.dart'; class AK { - static final AC a = AC(); - static final String publishableKey = - AC().r(AC().r(AC().r(Env.stripePublishableKe, cn), cC), cs); - static final String secretKey = a.r(a.r(a.r(Env.secretKey, cn), cC), cs); + X.r(X.r(X.r(Env.stripePublishableKe, cn), cC), cs); + static final String secretKey = X.r(X.r(X.r(Env.secretKey, cn), cC), cs); static final String basicAuthCredentials = - a.r(a.r(a.r(Env.basicAuthCredentials, cn), cC), cs); + X.r(X.r(X.r(Env.basicAuthCredentials, cn), cC), cs); static final String accountSIDTwillo = - a.r(a.r(a.r(Env.accountSIDTwillo, cn), cC), cs); - static final String serverAPI = a.r(a.r(a.r(Env.serverAPI, cn), cC), cs); - static final String mapAPIKEY = a.r(a.r(a.r(Env.mapAPIKEY, cn), cC), cs); + X.r(X.r(X.r(Env.accountSIDTwillo, cn), cC), cs); + static final String serverAPI = X.r(X.r(X.r(Env.serverAPI, cn), cC), cs); + static final String mapAPIKEY = X.r(X.r(X.r(Env.mapAPIKEY, cn), cC), cs); static final String twilloRecoveryCode = - a.r(a.r(a.r(Env.twilloRecoveryCode, cn), cC), cs); + X.r(X.r(X.r(Env.twilloRecoveryCode, cn), cC), cs); static final String authTokenTwillo = - a.r(a.r(a.r(Env.authTokenTwillo, cn), cC), cs); - static final String chatGPTkey = a.r(a.r(a.r(Env.chatGPTkey, cn), cC), cs); + X.r(X.r(X.r(Env.authTokenTwillo, cn), cC), cs); + static final String chatGPTkey = X.r(X.r(X.r(Env.chatGPTkey, cn), cC), cs); static final String transactionCloude = - a.r(a.r(a.r(Env.transactionCloude, cn), cC), cs); - static final String visionApi = a.r(a.r(a.r(Env.visionApi, cn), cC), cs); + X.r(X.r(X.r(Env.transactionCloude, cn), cC), cs); + static final String visionApi = X.r(X.r(X.r(Env.visionApi, cn), cC), cs); static final String chatGPTkeySefer = - a.r(a.r(a.r(Env.chatGPTkeySefer, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySefer, cn), cC), cs); static final String chatGPTkeySeferNew = - a.r(a.r(a.r(Env.chatGPTkeySeferNew, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySeferNew, cn), cC), cs); static final String serverPHP = Env.serverPHP; - static final String llamaKey = a.r(a.r(a.r(Env.llamaKey, cn), cC), cs); - static final String cohere = a.r(a.r(a.r(Env.cohere, cn), cC), cs); - static final String claudeAiAPI = a.r(a.r(a.r(Env.claudeAiAPI, cn), cC), cs); + static final String llamaKey = X.r(X.r(X.r(Env.llamaKey, cn), cC), cs); + static final String cohere = X.r(X.r(X.r(Env.cohere, cn), cC), cs); + static final String claudeAiAPI = X.r(X.r(X.r(Env.claudeAiAPI, cn), cC), cs); static final String payPalClientId = - a.r(a.r(a.r(Env.payPalClientId, cn), cC), cs); + X.r(X.r(X.r(Env.payPalClientId, cn), cC), cs); static final String payPalSecret = - a.r(a.r(a.r(Env.payPalSecret, cn), cC), cs); - static final String geminiApi = a.r(a.r(a.r(Env.geminiApi, cn), cC), cs); - static final String agoraAppId = a.r(a.r(a.r(Env.agoraAppId, cn), cC), cs); + X.r(X.r(X.r(Env.payPalSecret, cn), cC), cs); + static final String geminiApi = X.r(X.r(X.r(Env.geminiApi, cn), cC), cs); + static final String agoraAppId = X.r(X.r(X.r(Env.agoraAppId, cn), cC), cs); static final String agoraAppCertificate = - a.r(a.r(a.r(Env.agoraAppCertificate, cn), cC), cs); + X.r(X.r(X.r(Env.agoraAppCertificate, cn), cC), cs); static final String payPalClientIdLive = - a.r(a.r(a.r(Env.payPalClientIdLive, cn), cC), cs); + X.r(X.r(X.r(Env.payPalClientIdLive, cn), cC), cs); static final String payPalSecretLive = - a.r(a.r(a.r(Env.payPalSecretLive, cn), cC), cs); + X.r(X.r(X.r(Env.payPalSecretLive, cn), cC), cs); static final String integrationIdPayMob = - a.r(a.r(a.r(Env.integrationIdPayMob, cn), cC), cs); + X.r(X.r(X.r(Env.integrationIdPayMob, cn), cC), cs); static final String passwordPayMob = - a.r(a.r(a.r(Env.passwordPayMob, cn), cC), cs); + X.r(X.r(X.r(Env.passwordPayMob, cn), cC), cs); static final String usernamePayMob = - a.r(a.r(a.r(Env.usernamePayMob, cn), cC), cs); + X.r(X.r(X.r(Env.usernamePayMob, cn), cC), cs); static final String payMobApikey = - a.r(a.r(a.r(Env.payMobApikey, cn), cC), cs); + X.r(X.r(X.r(Env.payMobApikey, cn), cC), cs); static final String integrationIdPayMobWallet = - a.r(a.r(a.r(Env.integrationIdPayMobWallet, cn), cC), cs); + X.r(X.r(X.r(Env.integrationIdPayMobWallet, cn), cC), cs); static final String smsPasswordEgypt = - a.r(a.r(a.r(Env.smsPasswordEgypt, cn), cC), cs); + X.r(X.r(X.r(Env.smsPasswordEgypt, cn), cC), cs); static final String ocpApimSubscriptionKey = Env.ocpApimSubscriptionKey; static final String chatGPTkeySeferNew4 = - a.r(a.r(a.r(Env.chatGPTkeySeferNew4, cn), cC), cs); + X.r(X.r(X.r(Env.chatGPTkeySeferNew4, cn), cC), cs); static final String anthropicAIkeySeferNew = - a.r(a.r(a.r(Env.anthropicAIkeySeferNew, cn), cC), cs); - static final String llama3Key = a.r(a.r(a.r(Env.llama3Key, cn), cC), cs); + X.r(X.r(X.r(Env.anthropicAIkeySeferNew, cn), cC), cs); + static final String llama3Key = X.r(X.r(X.r(Env.llama3Key, cn), cC), cs); static final String payMobOutClientSecrret = - a.r(a.r(a.r(Env.payMobOutClientSecrret, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutClientSecrret, cn), cC), cs); static final String payMobOutClient_id = - a.r(a.r(a.r(Env.payMobOutClient_id, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutClient_id, cn), cC), cs); static final String payMobOutPassword = - a.r(a.r(a.r(Env.payMobOutPassword, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutPassword, cn), cC), cs); static final String payMobOutUserName = - a.r(a.r(a.r(Env.payMobOutUserName, cn), cC), cs); + X.r(X.r(X.r(Env.payMobOutUserName, cn), cC), cs); /////////// - static final String keyOfApp = a.r(a.r(a.r(Env.keyOfApp, cn), cC), cs); + static final String keyOfApp = X.r(X.r(X.r(Env.keyOfApp, cn), cC), cs); } diff --git a/lib/constant/links.dart b/lib/constant/links.dart index a47267a..b546025 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -129,6 +129,8 @@ class AppLink { //-----------------RegisrationCar------------------ static String addRegisrationCar = "$ride/RegisrationCar/add.php"; static String getRegisrationCar = "$ride/RegisrationCar/get.php"; + static String selectDriverAndCarForMishwariTrip = + "$ride/RegisrationCar/selectDriverAndCarForMishwariTrip.php"; static String updateRegisrationCar = "$ride/RegisrationCar/update.php"; //-----------------DriverOrder------------------ diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index 727c938..06f2b64 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -29,7 +29,7 @@ class CRUD { ); print(response.request); print(response.body); - print(payload); + // print(payload); // if (response.statusCode == 200) { var jsonData = jsonDecode(response.body); if (jsonData['status'] == 'success') { diff --git a/lib/controller/functions/upload_image.dart b/lib/controller/functions/upload_image.dart index f6c35de..e01cb1c 100644 --- a/lib/controller/functions/upload_image.dart +++ b/lib/controller/functions/upload_image.dart @@ -23,13 +23,6 @@ class ImageController extends GetxController { image = File(pickedImage!.path); croppedFile = await ImageCropper().cropImage( sourcePath: image!.path, - aspectRatioPresets: [ - CropAspectRatioPreset.square, - CropAspectRatioPreset.ratio3x2, - CropAspectRatioPreset.original, - CropAspectRatioPreset.ratio4x3, - CropAspectRatioPreset.ratio16x9 - ], uiSettings: [ AndroidUiSettings( toolbarTitle: 'Cropper'.tr, diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 415b8c1..c11cc62 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -24,7 +24,9 @@ import '../../constant/links.dart'; import '../../constant/table_names.dart'; import '../../main.dart'; import '../../models/model/locations.dart'; +import '../../print.dart'; import '../../views/home/map_widget.dart/car_details_widget_to_go.dart'; +import '../../views/home/map_widget.dart/select_driver_mishwari.dart'; import '../../views/widgets/elevated_btn.dart'; import '../firebase/firbase_messge.dart'; import '../functions/audio_record1.dart'; @@ -2815,6 +2817,72 @@ class MapPassengerController extends GetxController { update(); } + Future selectDriverAndCarForMishwariTrip() async { + var res = await CRUD() + .get(link: AppLink.selectDriverAndCarForMishwariTrip, payload: {}); + if (res != 'failure') { + var d = jsonDecode(res); + return d['message']; + } else { + return 'No driver available now try later time\nthanks for using our app' + .tr; + } + } + + final Rx selectedDateTime = DateTime.now().obs; + + void updateDateTime(DateTime newDateTime) { + selectedDateTime.value = newDateTime; + } + + Future mishwariOption() async { + // isBottomSheetShown = false; + update(); + // add dialoug for select driver and car + List driversForMishwari = await selectDriverAndCarForMishwariTrip(); + Future.delayed(Duration.zero); + Log.print('driversForMishwari: ${driversForMishwari}'); + Get.to(() => CupertinoDriverListWidget( + drivers: driversForMishwari, + )); + + // add dialoug to select date and time + + // changeCashConfirmPageShown(); + } + + Future saveTripData( + Map driver, DateTime tripDateTime) async { + try { + // Prepare trip data + Map tripData = { + 'driver_id': driver['id'], + 'passenger_id': box.read(BoxName.passengerID), + 'trip_datetime': tripDateTime.toIso8601String(), + // Add other necessary trip details + }; + + // Send data to server + var response = + await CRUD().post(link: AppLink.addAdminUser, payload: tripData); + + if (response != 'failure') { + // Trip saved successfully + Get.snackbar('Success'.tr, 'Trip booked successfully'.tr); + + // Set up local notification + // await setLocalNotification(tripDateTime); + + // Send notification to driver + // await FirebaseMessagesController().sendNotificationToDriverMAP(); + } else { + throw Exception('Failed to save trip'); + } + } catch (e) { + Get.snackbar('Error'.tr, 'Failed to book trip: $e'.tr); + } + } + initilizeGetStorage() async { if (box.read(BoxName.addWork) == null) { box.write(BoxName.addWork, 'addWork'); diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index 7064754..3cfb8f9 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -606,17 +606,28 @@ iOS [https://getapp.cc/app/6458734951] "اِذْهَب إِلَى الْخُطْوَة الْتَّالِيَة\naاسْتِخْرَاج رُخْصَة السَّيَّارَة.", "Name in arabic": "الاِسْم بِاللُّغَة الْعَرَبِيَّة", "Drivers License Class": "فَئَة رُخْصَة الْقِيَادَة", - "National Number": "الرَّقْم الْقَوْمِي", - "Address": "الْعُنْوَان", + "Date of Birth": "تَارِيخ الْمِيلَاد", - "Age": "الْعُمْر", - "Expiry Date": "تَارِيخ الإِنْتِهَاء", + 'Select date and time of trip': 'اختر تاريخ ووقت الرحلة', + 'Selected Date': 'التاريخ المحدد', + 'Select Time': 'اختر الوقت', + 'Selected Time': 'الوقت المحدد', + 'OK': 'موافق', + 'Cancel': 'إلغاء', + 'Selected Date and Time': "التاريخ والوقت المحددان", "Lets check Car license ": "دَعْنَا نَتَحَقَّق مِن رُخْصَة السَّيَّارَة ", - "Color": "اللَّوْن", - "Car Kind": "نَوْع السَّيَّارَة", - "Year": "السَّنَة", - "Car Plate": "لَوْحَة السَّيَّارَة", + 'Driver List': 'قائمة السائقين', + 'Car': 'السيارة', + 'Plate': 'لوحة السيارة', + 'N/A': 'غير متوفر', + 'Rides': 'الرحلات', + 'Age': 'العمر', + 'Education': 'التعليم', + 'Color': 'اللون', + 'Displacement': 'السعة', + 'Fuel': 'الوقود', + 'Selected driver': 'السائق المختار', "Lets check License Back Face": "دَعْنَا نَتَحَقَّق مِن الْوَجْه الْخَلْفِي لِلرُّخْصَة", "Car License Card": "بَطَاقَة رُخْصَة السَّيَّارَة", diff --git a/lib/main.dart b/lib/main.dart index 1b474b7..6308e02 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -47,7 +47,7 @@ void main() async { await GetStorage.init(); // Get.put(DriverCallController()); - await AC().gAK(); + // await AC().gAK(); 'local is ${WidgetsBinding.instance.platformDispatcher.locale.countryCode}'; Stripe.publishableKey = AK.publishableKey; diff --git a/lib/print.dart b/lib/print.dart new file mode 100644 index 0000000..ccc2fb5 --- /dev/null +++ b/lib/print.dart @@ -0,0 +1,13 @@ +import 'dart:developer' as developer; + +class Log { + Log._(); + + static void print(String value, {StackTrace? stackTrace}) { + developer.log(value, name: 'LOG', stackTrace: stackTrace); + } + + static Object? inspect(Object? object) { + return developer.inspect(object); + } +} diff --git a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart index c5ccdab..dc394d0 100644 --- a/lib/views/home/map_widget.dart/car_details_widget_to_go.dart +++ b/lib/views/home/map_widget.dart/car_details_widget_to_go.dart @@ -296,7 +296,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { mapPassengerController .totalPassengerComfort; Get.defaultDialog( - title: 'Comfort', + title: 'Comfort'.tr, titleStyle: AppStyle.title, content: CarDialogue( textToSpeechController: @@ -330,7 +330,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { mapPassengerController .totalPassengerSpeed; Get.defaultDialog( - title: 'Speed', + title: 'Speed'.tr, titleStyle: AppStyle.title, content: CarDialogue( textToSpeechController: @@ -364,7 +364,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { mapPassengerController .totalPassengerMotoDelivery; Get.defaultDialog( - title: 'Delivery', + title: 'Delivery'.tr, titleStyle: AppStyle.title, content: CarDialogue( textToSpeechController: @@ -396,7 +396,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { box.write(BoxName.carType, 'Mashwari'); mapPassengerController.totalPassenger = 50; Get.defaultDialog( - title: 'Mashwari', + title: 'Mashwari'.tr, titleStyle: AppStyle.title, content: CarDialogue( textToSpeechController: @@ -411,10 +411,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { onPressed: () { Get.back(); mapPassengerController - .isBottomSheetShown = false; - mapPassengerController.update(); - mapPassengerController - .changeCashConfirmPageShown(); + .mishwariOption(); }), cancel: MyElevatedButton( title: 'Cancel'.tr, @@ -429,7 +426,7 @@ class CarDetailsTypeToChoose extends StatelessWidget { mapPassengerController.totalPassenger = mapPassengerController.totalPassengerLady; Get.defaultDialog( - title: 'Lady', + title: 'Lady'.tr, titleStyle: AppStyle.title, content: CarDialogue( textToSpeechController: diff --git a/lib/views/home/map_widget.dart/select_driver_mishwari.dart b/lib/views/home/map_widget.dart/select_driver_mishwari.dart new file mode 100644 index 0000000..1430745 --- /dev/null +++ b/lib/views/home/map_widget.dart/select_driver_mishwari.dart @@ -0,0 +1,285 @@ +import 'package:SEFER/constant/style.dart'; +import 'package:SEFER/controller/home/map_passenger_controller.dart'; +import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:get/get.dart'; + +import '../../../constant/api_key.dart'; + +class CupertinoDriverListWidget extends StatelessWidget { + final List drivers; + + const CupertinoDriverListWidget({super.key, required this.drivers}); + + @override + Widget build(BuildContext context) { + return CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar( + middle: Text('Driver List'.tr), + ), + child: SafeArea( + child: ListView.separated( + itemCount: drivers.length, + separatorBuilder: (context, index) => const Divider(height: 1), + itemBuilder: (context, index) { + var driver = drivers[index]; + return Container( + decoration: AppStyle.boxDecoration1, + child: CupertinoListTile( + padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8), + leading: CircleAvatar( + radius: 25, + backgroundImage: NetworkImage( + '${AK.serverPHP}/portrate_captain_image/${driver['id']}.jpg', + ), + backgroundColor: CupertinoColors.systemGrey5, + ), + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${driver['NAME'].toString().split(' ')[0]} ${driver['NAME'].toString().split(' ')[1]}', + style: const TextStyle(fontWeight: FontWeight.bold), + ), + Text('${'Age'.tr}: ${driver['age'].toString()}'), + Row( + children: [ + const Icon(CupertinoIcons.star_fill, + size: 16, color: CupertinoColors.systemYellow), + const SizedBox(width: 4), + Text(driver['rating']?.toStringAsFixed(1) ?? 'N/A'.tr), + const SizedBox(width: 8), + Text('${'Rides'.tr}: ${driver['countRide']}'), + ], + ), + ], + ), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Car'.tr}: ${driver['make']} ${driver['model']} (${driver['year']})'), + Text('${'Plate'.tr}: ${driver['car_plate']}'), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('${'Education'.tr}: ${driver['education']}'), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + // width: Get.width * .3, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('${'Color'.tr}: ${driver['color']}'), + const SizedBox(width: 8), + Container( + width: 20, + height: 20, + decoration: BoxDecoration( + color: + hexToColor(driver['color_hex'].toString()), + borderRadius: BorderRadius.circular(4), + border: Border.all(), + ), + ), + ], + ), + ), + ], + ), + ], + ), + onTap: () { + // Handle driver selection + Get.defaultDialog( + title: '${'Selected driver'.tr}: ${driver['NAME']}', + content: Column( + children: [ + Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Car'.tr}: ${driver['make']} ${driver['model']} (${driver['year']})'), + Text('${'Plate'.tr}: ${driver['car_plate']}'), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text('${'Color'.tr}: ${driver['color']}'), + const SizedBox(width: 8), + Container( + width: 20, + height: 20, + decoration: BoxDecoration( + color: hexToColor( + driver['color_hex'].toString()), + borderRadius: BorderRadius.circular(4), + border: Border.all(), + ), + ), + ], + ), + ], + ), + ], + ), + confirm: MyElevatedButton( + title: 'OK'.tr, + onPressed: () { + Get.back(); + showDateTimePickerDialog(); + })); + print('${'Selected driver'.tr}: ${driver['NAME']}'); + // Get.back(); // Close the dialog + }, + ), + ); + }, + )), + ); + } + + Color hexToColor(String hexColor) { + hexColor = hexColor.replaceAll("#", ""); + String colorString = "ff$hexColor"; + return Color(int.parse(colorString, radix: 16)); + } + + void showDriverSelectionDialog(Map driver) { + Get.defaultDialog( + title: '${'Selected driver'.tr}: ${driver['name']}', + content: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Car'.tr}: ${driver['make']} ${driver['model']} (${driver['year']})'), + Text('${'Plate'.tr}: ${driver['car_plate']}'), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text('${'Color'.tr}: ${driver['color']}'), + const SizedBox(width: 8), + Container( + width: 20, + height: 20, + decoration: BoxDecoration( + color: hexToColor(driver['color_hex'].toString()), + borderRadius: BorderRadius.circular(4), + border: Border.all(), + ), + ), + ], + ), + ], + ), + confirm: MyElevatedButton( + title: 'OK'.tr, + onPressed: () { + Get.back(); + showDateTimePickerDialog(); + }, + ), + ); + } + + void showDateTimePickerDialog() { + DateTime selectedDateTime = DateTime.now(); + + Get.defaultDialog( + barrierDismissible: false, + title: 'select date and time of trip'.tr, + content: SizedBox( + // height: 400, // Adjust height as needed + width: double.maxFinite, + child: Column( + children: [ + DateTimePickerWidget(), + ], + ), + ), + confirm: MyElevatedButton( + title: 'Confirm Trip'.tr, + onPressed: () async { + DateTime selectedDateTime = + Get.find().selectedDateTime.value; + // Save trip data and set up notifications + // await Get.find().saveTripData(driver, selectedDateTime); + Get.back(); + }, + ), + ); + } +} + +class DateTimePickerWidget extends StatelessWidget { + final MapPassengerController controller = Get.put(MapPassengerController()); + + @override + Widget build(BuildContext context) { + return CupertinoPageScaffold( + navigationBar: const CupertinoNavigationBar( + transitionBetweenRoutes: false, + automaticallyImplyLeading: false, + middle: Text('Date and Time Picker'), + ), + child: SafeArea( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Obx(() => Text( + '${'Selected Date and Time'.tr}: ${controller.selectedDateTime.value}', + style: const TextStyle(fontSize: 18), + textAlign: TextAlign.center, + )), + const SizedBox(height: 20), + SizedBox( + height: 200, + child: CupertinoDatePicker( + mode: CupertinoDatePickerMode.dateAndTime, + initialDateTime: controller.selectedDateTime.value, + onDateTimeChanged: (newDateTime) { + controller.updateDateTime(newDateTime); + }, + ), + ), + ], + ), + ), + ); + } +} + +// Future setLocalNotification(DateTime tripDateTime) async { +// FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = +// FlutterLocalNotificationsPlugin(); + +// var androidPlatformChannelSpecifics = const AndroidNotificationDetails( +// 'trip_reminder_channel', +// 'Trip Reminders', +// importance: Importance.max, +// priority: Priority.high, +// ); +// var iOSPlatformChannelSpecifics = IOSNotificationDetails(); +// var platformChannelSpecifics = NotificationDetails( +// android: androidPlatformChannelSpecifics, +// iOS: iOSPlatformChannelSpecifics, +// ); + +// await flutterLocalNotificationsPlugin.schedule( +// 0, +// 'Trip Reminder'.tr, +// 'Your trip is scheduled in 30 minutes'.tr, +// tripDateTime.subtract(const Duration(minutes: 30)), +// platformChannelSpecifics, +// ); +// } diff --git a/pubspec.lock b/pubspec.lock index 9452209..bebc317 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,26 +5,26 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "67.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 + sha256: b46f62516902afb04befa4b30eb6a12ac1f58ca8cb25fb9d632407259555dd3d url: "https://pub.dev" source: hosted - version: "1.3.34" + version: "1.3.39" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.4.1" animated_text_kit: dependency: "direct main" description: @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: audio_session - sha256: "6fdf255ed3af86535c96452c33ecff1245990bb25a605bfb1958661ccc3d467f" + sha256: "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261" url: "https://pub.dev" source: hosted - version: "0.1.18" + version: "0.1.21" boolean_selector: dependency: transitive description: @@ -93,10 +93,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -109,18 +109,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" + sha256: "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7" url: "https://pub.dev" source: hosted - version: "2.4.7" + version: "2.4.11" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + sha256: e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.1" built_collection: dependency: transitive description: @@ -133,34 +133,34 @@ packages: dependency: transitive description: name: built_value - sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.8.1" + version: "8.9.2" cached_network_image: dependency: transitive description: name: cached_network_image - sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "56aa42a7a01e3c9db8456d9f3f999931f1e05535b5a424271e9a38cabf066613" + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "759b9a9f8f6ccbb66c185df805fac107f05730b1dab9c64626d1008cca532257" + sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" calendar_builder: dependency: "direct main" description: @@ -189,10 +189,10 @@ packages: dependency: transitive description: name: chewie - sha256: "3427e469d7cc99536ac4fbaa069b3352c21760263e65ffb4f0e1c054af43a73e" + sha256: e53da939709efb9aad0f3d72a69a8d05f889168b7a138af60ce78bab5c94b135 url: "https://pub.dev" source: hosted - version: "1.7.4" + version: "1.8.1" cli_util: dependency: transitive description: @@ -213,10 +213,10 @@ packages: dependency: transitive description: name: code_builder - sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 url: "https://pub.dev" source: hosted - version: "4.9.0" + version: "4.10.0" collection: dependency: transitive description: @@ -237,10 +237,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+7" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -261,18 +261,18 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" dart_style: dependency: transitive description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.6" dbus: dependency: transitive description: @@ -285,10 +285,10 @@ packages: dependency: transitive description: name: device_info_plus - sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6" + sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91 url: "https://pub.dev" source: hosted - version: "9.1.1" + version: "10.1.0" device_info_plus_platform_interface: dependency: transitive description: @@ -301,26 +301,42 @@ packages: dependency: "direct main" description: name: dio - sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" + sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714 url: "https://pub.dev" source: hosted - version: "5.4.3+1" + version: "5.5.0+1" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" + url: "https://pub.dev" + source: hosted + version: "1.0.1" envied: dependency: "direct main" description: name: envied - sha256: c4af8bb99203d7f216cea41f2ec70874f9dd826b2a5782cdc5bd25389c5adcc1 + sha256: bbff9c76120e4dc5e2e36a46690cf0a26feb65e7765633f4e8d916bcd173a450 url: "https://pub.dev" source: hosted - version: "0.5.2" + version: "0.5.4+1" envied_generator: dependency: "direct dev" description: name: envied_generator - sha256: "637901d274db3974afb3919ca9ba2e1a97f110fd57350ac13a3adcd20ad7d530" + sha256: "517b70de08d13dcd40e97b4e5347e216a0b1c75c99e704f3c85c0474a392d14a" url: "https://pub.dev" source: hosted - version: "0.5.2" + version: "0.5.4+1" + equatable: + dependency: transitive + description: + name: equatable + sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + url: "https://pub.dev" + source: hosted + version: "2.0.5" fake_async: dependency: transitive description: @@ -341,10 +357,10 @@ packages: dependency: transitive description: name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" url: "https://pub.dev" source: hosted - version: "6.1.4" + version: "7.0.0" file_selector_linux: dependency: transitive description: @@ -357,18 +373,18 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.4" file_selector_platform_interface: dependency: transitive description: name: file_selector_platform_interface - sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.2" file_selector_windows: dependency: transitive description: @@ -381,74 +397,74 @@ packages: dependency: "direct main" description: name: firebase_auth - sha256: ea95cd29e27e8ec1971af263d74b208ce85dbc7df9197d8b5eab2aa7de7cfea8 + sha256: a41b56878fa6aef3ea52962329b47eee333672d4b0ecc406e071b9fc729f242c url: "https://pub.dev" source: hosted - version: "4.19.6" + version: "5.1.2" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: c252d2c97a02cf03fbf3595c5f7edf2a731062356b09d2c338f0b3d63567239f + sha256: d1c68097588f3b75ef79a22102ff96c311735c254353bccf6824d19f1a7e86b9 url: "https://pub.dev" source: hosted - version: "7.2.7" + version: "7.4.2" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: "5db2319d59b4bb08cf0cc26e0f110f9ae1cf9cf775ce516e5cc38cd6704253de" + sha256: e66ec0ae5697ee39ccd4865d6887cb0df220dd4ea0b21404910c68ca4c1a731a url: "https://pub.dev" source: hosted - version: "5.11.6" + version: "5.12.4" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" + sha256: "5159984ce9b70727473eb388394650677c02c925aaa6c9439905e1f30966a4d5" url: "https://pub.dev" source: hosted - version: "2.31.1" + version: "3.2.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: "1003a5a03a61fc9a22ef49f37cbcb9e46c86313a7b2e7029b9390cf8c6fc32cb" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.1.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" + sha256: "23509cb3cddfb3c910c143279ac3f07f06d3120f7d835e4a5d4b42558e978712" url: "https://pub.dev" source: hosted - version: "2.17.0" + version: "2.17.3" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: "199fe8186a5370d1cf5ce0819191079afc305914e8f38715f5e23943940dfe2d" + sha256: "156c4292aa63a6a7d508c68ded984cb38730d2823c3265e573cb1e94983e2025" url: "https://pub.dev" source: hosted - version: "14.7.9" + version: "15.0.3" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: "54e283a0e41d81d854636ad0dad73066adc53407a60a7c3189c9656e2f1b6107" + sha256: "10408c5ca242b7fc632dd5eab4caf8fdf18ebe88db6052980fa71a18d88bd200" url: "https://pub.dev" source: hosted - version: "4.5.18" + version: "4.5.41" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: "90dc7ed885e90a24bb0e56d661d4d2b5f84429697fd2cbb9e5890a0ca370e6f4" + sha256: c7a756e3750679407948de665735e69a368cb902940466e5d68a00ea7aba1aaa url: "https://pub.dev" source: hosted - version: "3.5.18" + version: "3.8.11" fixnum: dependency: transitive description: @@ -466,10 +482,10 @@ packages: dependency: transitive description: name: flutter_cache_manager - sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + sha256: "395d6b7831f21f3b989ebedbb785545932adb9afe2622c1ffacf7f4b53a7e544" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.3.2" flutter_font_icons: dependency: "direct main" description: @@ -490,50 +506,50 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "4.0.0" flutter_local_notifications: dependency: "direct main" description: name: flutter_local_notifications - sha256: "892ada16046d641263f30c72e7432397088810a84f34479f6677494802a2b535" + sha256: dd6676d8c2926537eccdf9f72128bbb2a9d0814689527b17f92c248ff192eaf3 url: "https://pub.dev" source: hosted - version: "16.3.0" + version: "17.2.1+2" flutter_local_notifications_linux: dependency: transitive description: name: flutter_local_notifications_linux - sha256: "33f741ef47b5f63cc7f78fe75eeeac7e19f171ff3c3df054d84c1e38bedb6a03" + sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af url: "https://pub.dev" source: hosted - version: "4.0.0+1" + version: "4.0.1" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface - sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" + sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" url: "https://pub.dev" source: hosted - version: "7.0.0+1" + version: "7.2.0" flutter_paypal: dependency: "direct main" description: name: flutter_paypal - sha256: "783d52ca84528b4b7a1213db5195e6946a2d27b2192f4fcd6d0b04b8c37e359e" + sha256: "53e82d0931171c0885f5b8989addc4c35fe4e95acfa9eaea3b4ae784bfd41cff" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.20" flutter_rating_bar: dependency: "direct main" description: @@ -546,74 +562,74 @@ packages: dependency: "direct main" description: name: flutter_secure_storage - sha256: ffdbb60130e4665d2af814a0267c481bcf522c41ae2e43caf69fa0146876d685 + sha256: "165164745e6afb5c0e3e3fcc72a012fb9e58496fb26ffb92cf22e16a821e85d0" url: "https://pub.dev" source: hosted - version: "9.0.0" + version: "9.2.2" flutter_secure_storage_linux: dependency: transitive description: name: flutter_secure_storage_linux - sha256: "3d5032e314774ee0e1a7d0a9f5e2793486f0dff2dd9ef5a23f4e3fb2a0ae6a9e" + sha256: "4d91bfc23047422cbcd73ac684bc169859ee766482517c22172c86596bf1464b" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" flutter_secure_storage_macos: dependency: transitive description: name: flutter_secure_storage_macos - sha256: bd33935b4b628abd0b86c8ca20655c5b36275c3a3f5194769a7b3f37c905369c + sha256: "1693ab11121a5f925bbea0be725abfcfbbcf36c1e29e571f84a0c0f436147a81" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.1.2" flutter_secure_storage_platform_interface: dependency: transitive description: name: flutter_secure_storage_platform_interface - sha256: "0d4d3a5dd4db28c96ae414d7ba3b8422fd735a8255642774803b2532c9a61d7e" + sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.2" flutter_secure_storage_web: dependency: transitive description: name: flutter_secure_storage_web - sha256: "30f84f102df9dcdaa2241866a958c2ec976902ebdaa8883fbfe525f1f2f3cf20" + sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.1" flutter_secure_storage_windows: dependency: transitive description: name: flutter_secure_storage_windows - sha256: "5809c66f9dd3b4b93b0a6e2e8561539405322ee767ac2f64d084e2ab5429d108" + sha256: b20b07cb5ed4ed74fc567b78a72936203f587eba460af1df11281c9326cd3709 url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.1.2" flutter_spinkit: dependency: transitive description: name: flutter_spinkit - sha256: b39c753e909d4796906c5696a14daf33639a76e017136c8d82bf3e620ce5bb8e + sha256: d2696eed13732831414595b98863260e33e8882fc069ee80ec35d4ac9ddb0472 url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.2.1" flutter_stripe: dependency: "direct main" description: name: flutter_stripe - sha256: "7ad314650f6b794e7006a6f906ddbde548fff4e4cff7ad618452728c6b895d1e" + sha256: "6c10f839e2623a336de79023a95a49c8d177032d5fd54b1f7ee9755fc577e227" url: "https://pub.dev" source: hosted - version: "9.5.0+1" + version: "10.2.0" flutter_svg: dependency: transitive description: name: flutter_svg - sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c + sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.0.10+1" flutter_test: dependency: "direct dev" description: flutter @@ -623,10 +639,10 @@ packages: dependency: "direct main" description: name: flutter_tts - sha256: cbb3fd43b946e62398560235469e6113e4fe26c40eab1b7cb5e7c417503fb3a8 + sha256: aed2a00c48c43af043ed81145fd8503ddd793dafa7088ab137dbef81a703e53d url: "https://pub.dev" source: hosted - version: "3.8.5" + version: "4.0.2" flutter_web_plugins: dependency: transitive description: flutter @@ -636,130 +652,130 @@ packages: dependency: "direct main" description: name: flutter_widget_from_html - sha256: "5857f120b08b791a67b065384eaad477badafa3ffb57d6095f28a4f6fd37ead4" + sha256: e79144d8a37b7d1075fc1fdebc32708bd142ad9fdf1c7d9444f5e964cc03158b url: "https://pub.dev" source: hosted - version: "0.14.9" + version: "0.15.1" flutter_widget_from_html_core: dependency: transitive description: name: flutter_widget_from_html_core - sha256: "86d40a9f26d10011664df057c950e9c348ee1a7dbf141f295a07b0075ffd780b" + sha256: df7c7c9e5ea144f7ab0adfbad733b4d4f7d408ab733c94e6e9fdcb327af92aa1 url: "https://pub.dev" source: hosted - version: "0.14.9" + version: "0.15.1" freezed_annotation: dependency: transitive description: name: freezed_annotation - sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d + sha256: c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.4" frontend_server_client: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" fwfh_cached_network_image: dependency: transitive description: name: fwfh_cached_network_image - sha256: "952aea958a5fda7d616cc297ba4bc08427e381459e75526fa375d6d8345630d3" + sha256: "8e44226801bfba27930673953afce8af44da7e92573be93f60385d9865a089dd" url: "https://pub.dev" source: hosted - version: "0.14.2" + version: "0.14.3" fwfh_chewie: dependency: transitive description: name: fwfh_chewie - sha256: bbb036cd322ab77dc0edd34cbbf76181681f5e414987ece38745dc4f3d7408ed + sha256: "37bde9cedfb6dc5546176f7f0c56af1e814966cb33ec58f16c9565ed93ccb704" url: "https://pub.dev" source: hosted - version: "0.14.7" + version: "0.14.8" fwfh_just_audio: dependency: transitive description: name: fwfh_just_audio - sha256: "4962bc59cf8bbb0a77a55ff56a7b925612b0d8263bc2ede3636b9c86113cb493" + sha256: "4ff7927619ff4855567a61e126269e1fef985a9fe7e78682592da17bf658aabb" url: "https://pub.dev" source: hosted - version: "0.14.2" + version: "0.15.1" fwfh_svg: dependency: transitive description: name: fwfh_svg - sha256: "26df142c1784c29c3675ad0d37f589fc5c2173a14fc002d2c38cde3d0f117302" + sha256: c6bb6b513f7ce2766aba76d7276caf9a96b6fee729ac3a492c366a42f82ef02e url: "https://pub.dev" source: hosted - version: "0.8.0+4" + version: "0.8.2" fwfh_url_launcher: dependency: transitive description: name: fwfh_url_launcher - sha256: "2a526c9819f74b4106ba2fba4dac79f0082deecd8d2c7011cd0471cb710e3eff" + sha256: b9f5d55a5ae2c2c07243ba33f7ba49ac9544bdb2f4c16d8139df9ccbebe3449c url: "https://pub.dev" source: hosted - version: "0.9.0+4" + version: "0.9.1" fwfh_webview: dependency: transitive description: name: fwfh_webview - sha256: b828bb5ddd4361a866cdb8f1b0de4f3348f332915ecf2f4215ba17e46c656adc + sha256: "2cd2b1e463ddaf26b7d4f74e1a855126c4a836fdaff9551636693e07a07422b6" url: "https://pub.dev" source: hosted - version: "0.14.8" + version: "0.15.1" geolocator: dependency: "direct main" description: name: geolocator - sha256: e946395fc608842bb2f6c914807e9183f86f3cb787f6b8f832753e5251036f02 + sha256: "149876cc5207a0f5daf4fdd3bfcf0a0f27258b3fe95108fa084f527ad0568f1b" url: "https://pub.dev" source: hosted - version: "10.1.0" + version: "12.0.0" geolocator_android: dependency: transitive description: name: geolocator_android - sha256: "93906636752ea4d4e778afa981fdfe7409f545b3147046300df194330044d349" + sha256: "00c7177a95823dd3ee35ef42fd8666cd27d219ae14cea472ac76a21dff43000b" url: "https://pub.dev" source: hosted - version: "4.3.1" + version: "4.6.0" geolocator_apple: dependency: transitive description: name: geolocator_apple - sha256: "1d938e2462cc5145c1402f89d49e70b60a2a51b89fb57414ced71417f1f479b1" + sha256: bc2aca02423ad429cb0556121f56e60360a2b7d694c8570301d06ea0c00732fd url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.7" geolocator_platform_interface: dependency: transitive description: name: geolocator_platform_interface - sha256: "6c8d494d6948757c56720b778af742f6973f31fca1f702a7539b8917e4a2468a" + sha256: "386ce3d9cce47838355000070b1d0b13efb5bc430f8ecda7e9238c8409ace012" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.4" geolocator_web: dependency: transitive description: name: geolocator_web - sha256: "59083f7e0871b78299918d92bf930a14377f711d2d1156c558cd5ebae6c20d58" + sha256: "7a22f400d831f924a89d931ba126a10e6b8b437f31e6b9311320435f3e1571bd" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "4.0.0" geolocator_windows: dependency: transitive description: name: geolocator_windows - sha256: a92fae29779d5c6dc60e8411302f5221ade464968fe80a36d330e80a71f087af + sha256: "53da08937d07c24b0d9952eb57a3b474e29aae2abf9dd717f7e1230995f13f0e" url: "https://pub.dev" source: hosted - version: "0.2.2" + version: "0.2.3" get: dependency: "direct main" description: @@ -788,10 +804,10 @@ packages: dependency: "direct main" description: name: google_fonts - sha256: "6b6f10f0ce3c42f6552d1c70d2c28d764cf22bb487f50f66cca31dcd5194f4d6" + sha256: b1ac0fe2832c9cc95e5e88b57d627c5e68c223b9657f4b96e1487aa9098c7b82 url: "https://pub.dev" source: hosted - version: "4.0.4" + version: "6.2.1" google_identity_services_web: dependency: transitive description: @@ -804,50 +820,50 @@ packages: dependency: transitive description: name: google_maps - sha256: "555d5d736339b0478e821167ac521c810d7b51c3b2734e6802a9f046b64ea37a" + sha256: "47eef3836b49bb030d5cb3afc60b8451408bf34cf753e571b645d6529eb4251a" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "7.1.0" google_maps_flutter: dependency: "direct main" description: name: google_maps_flutter - sha256: d4914cb38b3dcb62c39c085d968d434de0f8050f00f4d9f5ba4a7c7e004934cb + sha256: acf0ec482d86b2ac55ade80597ce7f797a47971f5210ebfd030f0d58130e0a94 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.7.0" google_maps_flutter_android: dependency: transitive description: name: google_maps_flutter_android - sha256: "4279a338b79288fad5c8b03e5ae6ec30888bff210e0bab10b1f31f31e5a90558" + sha256: f6306d83edddba7aa017ca6f547d6f36a1443f90ed49d91d48ef70d7aa86e2e1 url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.12.0" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: "6ad65362aeeeda44b7c2c807e36bf578ef4b1c163882e085bdb040bf2934b246" + sha256: a6e3c6ecdda6c985053f944be13a0645ebb919da2ef0f5bc579c5e1670a5b2a8 url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.10.0" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface - sha256: a3e9e6896501e566d902c6c69f010834d410ef4b7b5c18b90c77e871c86b7907 + sha256: bd60ca330e3c7763b95b477054adec338a522d982af73ecc520b232474063ac5 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.8.0" google_maps_flutter_web: dependency: transitive description: name: google_maps_flutter_web - sha256: f893d1542c6562bc8299ef768fbbe92ade83c220ab3209b9477ec9f81ad585e4 + sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199 url: "https://pub.dev" source: hosted - version: "0.5.4+2" + version: "0.5.8" google_polyline_algorithm: dependency: "direct main" description: @@ -868,10 +884,10 @@ packages: dependency: transitive description: name: google_sign_in_android - sha256: "7647893c65e6720973f0e579051c8f84b877b486614d9f70a404259c41a4632e" + sha256: d30fb34b659679ea74397e9748b4ab5d720720d57dcc79538f1b3c4a68654cb3 url: "https://pub.dev" source: hosted - version: "6.1.23" + version: "6.1.27" google_sign_in_ios: dependency: transitive description: @@ -892,18 +908,18 @@ packages: dependency: transitive description: name: google_sign_in_web - sha256: fc0f14ed45ea616a6cfb4d1c7534c2221b7092cc4f29a709f0c3053cc3e821bd + sha256: d606264c7a1a526a3aa79d938b85a601d8589731a478bd4a3dcbdeb14a572228 url: "https://pub.dev" source: hosted - version: "0.12.4" + version: "0.12.4+1" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" html: dependency: transitive description: @@ -916,10 +932,10 @@ packages: dependency: "direct main" description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.2.2" http_auth: dependency: transitive description: @@ -956,58 +972,58 @@ packages: dependency: "direct main" description: name: image_cropper - sha256: "542c3453109d16bcc388e43ae2276044d2cd6a6d20c68bdcff2c94ab9363ea15" + sha256: d31be025c744ac1bf52d1f49cfdd92fd421e7e45ddadaaac0b39901f67c2a7e3 url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "7.1.0" image_cropper_for_web: dependency: transitive description: name: image_cropper_for_web - sha256: "89c936aa772a35b69ca67b78049ae9fa163a4fb8da2f6dee3893db8883fb49d2" + sha256: "6386e64908ce5d5df404e01c750a99b633dfcea88da69b3efcd3b3811d639760" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "5.1.0" image_cropper_platform_interface: dependency: transitive description: name: image_cropper_platform_interface - sha256: b232175c132b2f7ede3e1f101652bcd635cb4079a77c6dded8e6d32e6578d685 + sha256: "39c6539571bda7ce666e0a2f450246a5d42187406eef8f486a3d64f1d9381637" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "6.1.0" image_picker: dependency: "direct main" description: name: image_picker - sha256: fc712337719239b0b6e41316aa133350b078fa39b6cbd706b61f3fd421b03c77 + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.1.2" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: ecdc963d2aa67af5195e723a40580f802d4392e31457a12a562b3e2bd6a396fe + sha256: cea2bd5b9fcff039a4901d3b13c67fe747f940be9ba76bde1bcd218d168eeb7f url: "https://pub.dev" source: hosted - version: "0.8.9+1" + version: "0.8.12+6" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7" + sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.4" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: eac0a62104fa12feed213596df0321f57ce5a572562f72a68c4ff81e9e4caacf + sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" url: "https://pub.dev" source: hosted - version: "0.8.9" + version: "0.8.12" image_picker_linux: dependency: transitive description: @@ -1028,10 +1044,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" url: "https://pub.dev" source: hosted - version: "2.9.1" + version: "2.10.0" image_picker_windows: dependency: transitive description: @@ -1044,10 +1060,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -1076,34 +1092,34 @@ packages: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" just_audio: dependency: "direct main" description: name: just_audio - sha256: b7cb6bbf3750caa924d03f432ba401ec300fd90936b3f73a9b33d58b1e96286b + sha256: ee50602364ba83fa6308f5512dd560c713ec3e1f2bc75f0db43618f0d82ef71a url: "https://pub.dev" source: hosted - version: "0.9.37" + version: "0.9.39" just_audio_platform_interface: dependency: transitive description: name: just_audio_platform_interface - sha256: c3dee0014248c97c91fe6299edb73dc4d6c6930a2f4f713579cd692d9e47f4a1 + sha256: "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790" url: "https://pub.dev" source: hosted - version: "4.2.2" + version: "4.3.0" just_audio_web: dependency: transitive description: name: just_audio_web - sha256: "134356b0fe3d898293102b33b5fd618831ffdc72bb7a1b726140abdf22772b70" + sha256: "0edb481ad4aa1ff38f8c40f1a3576013c3420bf6669b686fe661627d49bc606c" url: "https://pub.dev" source: hosted - version: "0.4.9" + version: "0.4.11" leak_tracker: dependency: transitive description: @@ -1132,42 +1148,42 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" local_auth: dependency: "direct main" description: name: local_auth - sha256: "7e6c63082e399b61e4af71266b012e767a5d4525dd6e9ba41e174fd42d76e115" + sha256: "280421b416b32de31405b0a25c3bd42dfcef2538dfbb20c03019e02a5ed55ed0" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.2.0" local_auth_android: dependency: transitive description: name: local_auth_android - sha256: "54e9c35ce52c06333355ab0d0f41e4c06dbca354b23426765ba41dfb1de27598" + sha256: "33fcebe9c3cf1bb0033bc85caed354c1e75ff7f7670918a571bd3152a2b65bf4" url: "https://pub.dev" source: hosted - version: "1.0.36" - local_auth_ios: + version: "1.0.42" + local_auth_darwin: dependency: transitive description: - name: local_auth_ios - sha256: "8293faf72ef0ac4710f209edd03916c2d4c1eeab0483bdcf9b2e659c2f7d737b" + name: local_auth_darwin + sha256: e424ebf90d5233452be146d4a7da4bcd7a70278b67791592f3fde1bda8eef9e2 url: "https://pub.dev" source: hosted - version: "1.1.5" + version: "1.3.1" local_auth_platform_interface: dependency: transitive description: name: local_auth_platform_interface - sha256: fc5bd537970a324260fda506cfb61b33ad7426f37a8ea5c461cf612161ebba54 + sha256: "1b842ff177a7068442eae093b64abe3592f816afd2a533c0ebcdbe40f9d2075a" url: "https://pub.dev" source: hosted - version: "1.0.8" + version: "1.0.10" local_auth_windows: dependency: transitive description: @@ -1180,26 +1196,26 @@ packages: dependency: "direct main" description: name: location - sha256: "06be54f682c9073cbfec3899eb9bc8ed90faa0e17735c9d9fa7fe426f5be1dd1" + sha256: "6463a242973bf247e3fb1c7722919521b98026978ee3b5177202e103a39c145e" url: "https://pub.dev" source: hosted - version: "5.0.3" + version: "7.0.0" location_platform_interface: dependency: transitive description: name: location_platform_interface - sha256: "8aa1d34eeecc979d7c9fe372931d84f6d2ebbd52226a54fe1620de6fdc0753b1" + sha256: "1e535ccc8b4a9612de4e4319871136b45d2b5d1fb0c2a8bf99687242bf7ca5f7" url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "5.0.0" location_web: dependency: transitive description: name: location_web - sha256: ec484c66e8a4ff1ee5d044c203f4b6b71e3a0556a97b739a5bc9616de672412b + sha256: "613597b489beb396f658c6f4358dd383c5ed0a1402d95e287642a5f2d8171cb0" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "5.0.3" logging: dependency: transitive description: @@ -1236,10 +1252,10 @@ packages: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" nested: dependency: transitive description: @@ -1300,26 +1316,26 @@ packages: dependency: transitive description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.3" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + sha256: "30c5aa827a6ae95ce2853cdc5fe3971daaac00f6f081c419c013f7f57bff2f5e" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.7" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -1332,42 +1348,42 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" permission_handler: dependency: "direct main" description: name: permission_handler - sha256: "74e962b7fad7ff75959161bb2c0ad8fe7f2568ee82621c9c2660b751146bfe44" + sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" url: "https://pub.dev" source: hosted - version: "11.3.0" + version: "11.3.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: b29a799ca03be9f999aa6c39f7de5209482d638e6f857f6b93b0875c618b7e54 url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.7" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: bdafc6db74253abb63907f4e357302e6bb786ab41465e8635f362ee71fd8707b + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "9.4.5" permission_handler_html: dependency: transitive description: @@ -1380,10 +1396,10 @@ packages: dependency: transitive description: name: permission_handler_platform_interface - sha256: "23dfba8447c076ab5be3dee9ceb66aad345c4a648f0cac292c77b1eb0e800b78" + sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.1" permission_handler_windows: dependency: transitive description: @@ -1396,18 +1412,18 @@ packages: dependency: transitive description: name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -1428,10 +1444,10 @@ packages: dependency: transitive description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" pub_semver: dependency: transitive description: @@ -1444,10 +1460,10 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.3.0" recase: dependency: transitive description: @@ -1460,58 +1476,58 @@ packages: dependency: "direct main" description: name: record - sha256: "113b368168c49c78902ab37c2b354dea30a0aec5bdeca434073826b6ea73eca1" + sha256: "4a5cf4d083d1ee49e0878823c4397d073f8eb0a775f31215d388e2bc47a9e867" url: "https://pub.dev" source: hosted - version: "5.0.5" + version: "5.1.2" record_android: dependency: transitive description: name: record_android - sha256: "0df98e05873b22b443309e289bf1eb3b5b9a60e7779134334e2073eb0763a992" + sha256: "9ccf6a206dc72b486cf37893690e70c17610e8f05dba8da1a808e73dc2f49a04" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.4" record_darwin: dependency: transitive description: name: record_darwin - sha256: ee8cb1bb1712d7ce38140ecabe70e5c286c02f05296d66043bee865ace7eb1b9 + sha256: b038c26d1066eb81f4e7433bfb85f0d450ca3fac0002a7216b83a21b775ecf21 url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.1" record_linux: dependency: transitive description: name: record_linux - sha256: "7d0e70cd51635128fe9d37d89bafd6011d7cbba9af8dc323079ae60f23546aef" + sha256: "74d41a9ebb1eb498a38e9a813dd524e8f0b4fdd627270bda9756f437b110a3e3" url: "https://pub.dev" source: hosted - version: "0.7.1" + version: "0.7.2" record_platform_interface: dependency: transitive description: name: record_platform_interface - sha256: "3a4b56e94ecd2a0b2b43eb1fa6f94c5b8484334f5d38ef43959c4bf97fb374cf" + sha256: "11f8b03ea8a0e279b0e306571dbe0db0202c0b8e866495c9fa1ad2281d5e4c15" url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.1.0" record_web: dependency: transitive description: name: record_web - sha256: "24847cdbcf999f7a5762170792f622ac844858766becd0f2370ec8ae22f7526e" + sha256: "703adb626d31e2dd86a8f6b34e306e03cd323e0c5e16e11bbc0385b07a8df97e" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.1.1" record_windows: dependency: transitive description: name: record_windows - sha256: "39998b3ea7d8d28b04159d82220e6e5e32a7c357c6fb2794f5736beea272f6c3" + sha256: e653555aa3fda168aded7c34e11bd82baf0c6ac84e7624553def3c77ffefd36f url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.3" rxdart: dependency: transitive description: @@ -1528,6 +1544,13 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.0" + secure_string_operations: + dependency: "direct main" + description: + path: secure_string_operations + relative: true + source: path + version: "1.0.0" share: dependency: "direct main" description: @@ -1548,18 +1571,18 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.0" sign_in_with_apple: dependency: "direct main" description: name: sign_in_with_apple - sha256: b0abd9c0d0407140829b12cd99a250f10b20352573ff08c7e0c5174c64b4973e + sha256: "5c34c601d6910d7db0077063001ccd9d9329ee58b9038ee07153ffcdd76e91bd" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "6.1.1" sign_in_with_apple_platform_interface: dependency: transitive description: @@ -1597,22 +1620,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.0" + sprintf: + dependency: transitive + description: + name: sprintf + sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + url: "https://pub.dev" + source: hosted + version: "7.0.0" sqflite: dependency: "direct main" description: name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.3+1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6 + sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" url: "https://pub.dev" source: hosted - version: "2.5.0+2" + version: "2.5.4" stack_trace: dependency: transitive description: @@ -1649,26 +1680,26 @@ packages: dependency: transitive description: name: stripe_android - sha256: "1de36b35c50f33e538c8e4bd6173f0ab8d7d8e6b9e05388488775e439c29b7d2" + sha256: "74c977ae0a918949e84796a8a3524a68610f4719c66170f01592b4bc5196f049" url: "https://pub.dev" source: hosted - version: "9.6.0+2" + version: "10.2.1" stripe_ios: dependency: transitive description: name: stripe_ios - sha256: "4b176f4ee7eaf229815b90c3ff78935da9e01765f4d3153b76fd0d3d64680294" + sha256: eb91cb9b971e22f865937309b0e5e4e0f5bcbfc39e671bd41c0fdaddbb5ad948 url: "https://pub.dev" source: hosted - version: "9.6.0" + version: "10.2.0" stripe_platform_interface: dependency: transitive description: name: stripe_platform_interface - sha256: "078142b37e3b7a40f7f9f30428bc3fd3234c493b9b4269ae6f298b7fcfa40f33" + sha256: "1a2e3fe106bc723c0c0cda2f97f15bfef16944507621639c636041845a96ff57" url: "https://pub.dev" source: hosted - version: "9.5.0+1" + version: "10.2.0" synchronized: dependency: transitive description: @@ -1697,10 +1728,10 @@ packages: dependency: transitive description: name: timezone - sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d" url: "https://pub.dev" source: hosted - version: "0.9.2" + version: "0.9.4" timing: dependency: transitive description: @@ -1745,26 +1776,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: e9aa5ea75c84cf46b3db4eea212523591211c3cf2e13099ee4ec147f54201c86 + sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.3.0" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: "95d8027db36a0e52caf55680f91e33ea6aa12a3ce608c90b06f4e429a21067ac" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.3.5" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 + sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.3.1" url_launcher_linux: dependency: transitive description: @@ -1777,26 +1808,26 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2" + sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" url_launcher_windows: dependency: transitive description: @@ -1809,34 +1840,34 @@ packages: dependency: transitive description: name: uuid - sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" + sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" url: "https://pub.dev" source: hosted - version: "3.0.7" + version: "4.4.2" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43" + sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7" + sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26 + sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" url: "https://pub.dev" source: hosted - version: "1.1.9+1" + version: "1.1.11+1" vector_math: dependency: transitive description: @@ -1849,50 +1880,58 @@ packages: dependency: "direct main" description: name: vibration - sha256: "778ace40e84852e6cf6017cdbaf6790a837d73ff3dd50b27da9ac232a19de8fc" + sha256: "06588a845a4ebc73ab7ff7da555c2b3dbcd9676164b5856a38bf0b2287f1045d" url: "https://pub.dev" source: hosted - version: "1.8.4" + version: "1.9.0" + vibration_platform_interface: + dependency: transitive + description: + name: vibration_platform_interface + sha256: "735a5fef0f284de0ad9449a5ed7d36ba017c6f59b5b20ac64418af4a6bd35ee7" + url: "https://pub.dev" + source: hosted + version: "0.0.1" video_player: dependency: transitive description: name: video_player - sha256: e16f0a83601a78d165dabc17e4dac50997604eb9e4cc76e10fa219046b70cef3 + sha256: e30df0d226c4ef82e2c150ebf6834b3522cf3f654d8e2f9419d376cdc071425d url: "https://pub.dev" source: hosted - version: "2.8.1" + version: "2.9.1" video_player_android: dependency: transitive description: name: video_player_android - sha256: "3fe89ab07fdbce786e7eb25b58532d6eaf189ceddc091cb66cba712f8d9e8e55" + sha256: fdc0331ce9f808cc2714014cb8126bd6369943affefd54f8fdab0ea0bb617b7f url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.5.2" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - sha256: bc923884640d6dc403050586eb40713cdb8d1d84e6886d8aca50ab04c59124c2 + sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "2.6.1" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: be72301bf2c0150ab35a8c34d66e5a99de525f6de1e8d27c0672b836fe48f73a + sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.2" video_player_web: dependency: transitive description: name: video_player_web - sha256: ab7a462b07d9ca80bed579e30fb3bce372468f1b78642e0911b10600f2c5cb5b + sha256: ff4d69a6614b03f055397c27a71c9d3ddea2b2a23d71b2ba0164f59ca32b8fe2 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.3.1" vm_service: dependency: transitive description: @@ -1933,30 +1972,38 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" + url: "https://pub.dev" + source: hosted + version: "0.1.6" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "3.0.1" webview_flutter: dependency: "direct main" description: name: webview_flutter - sha256: "25e1b6e839e8cbfbd708abc6f85ed09d1727e24e08e08c6b8590d7c65c9a8932" + sha256: "6869c8786d179f929144b4a1f86e09ac0eddfe475984951ea6c634774c16b522" url: "https://pub.dev" source: hosted - version: "4.7.0" + version: "4.8.0" webview_flutter_android: dependency: transitive description: name: webview_flutter_android - sha256: f038ee2fae73b509dde1bc9d2c5a50ca92054282de17631a9a3d515883740934 + sha256: f42447ca49523f11d8f70abea55ea211b3cafe172dd7a0e7ac007bb35dd356dc url: "https://pub.dev" source: hosted - version: "3.16.0" + version: "3.16.4" webview_flutter_platform_interface: dependency: transitive description: @@ -1969,10 +2016,10 @@ packages: dependency: transitive description: name: webview_flutter_wkwebview - sha256: f12f8d8a99784b863e8b85e4a9a5e3cf1839d6803d2c0c3e0533a8f3c5a992a7 + sha256: "9c62cc46fa4f2d41e10ab81014c1de470a6c6f26051a2de32111b2ee55287feb" url: "https://pub.dev" source: hosted - version: "3.13.0" + version: "3.14.0" win32: dependency: transitive description: @@ -1985,26 +2032,26 @@ packages: dependency: transitive description: name: win32_registry - sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" + sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84" + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.5.0" yaml: dependency: transitive description: @@ -2015,4 +2062,4 @@ packages: version: "3.1.2" sdks: dart: ">=3.4.0 <4.0.0" - flutter: ">=3.19.0" + flutter: ">=3.22.0" diff --git a/pubspec.yaml b/pubspec.yaml index 49e78dc..3ccfc8c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,39 +11,41 @@ dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 - firebase_messaging: ^14.6.7 - firebase_core: ^2.15.0 - flutter_local_notifications: ^16.2.0 + secure_string_operations: + path: ./secure_string_operations + firebase_messaging: ^15.0.3 + firebase_core: ^3.2.0 + flutter_local_notifications: ^17.2.1+2 google_maps_flutter: ^2.5.0 sqflite: ^2.3.0 path: ^1.8.3 - intl: ^0.18.1 - http: ^0.13.6 + intl: ^0.19.0 + http: ^1.2.2 get: ^4.6.5 get_storage: ^2.1.1 url_launcher: ^6.1.20 - location: ^5.0.2+1 + location: ^7.0.0 google_polyline_algorithm: ^3.1.0 animated_text_kit: ^4.2.2 flutter_secure_storage: ^9.0.0 - geolocator: ^10.0.0 + geolocator: ^12.0.0 flutter_paypal: ^0.2.0 - google_fonts: ^4.0.4 + google_fonts: ^6.2.1 flutter_launcher_icons: ^0.13.1 flutter_rating_bar: ^4.0.1 flutter_font_icons: ^2.2.5 image_picker: ^1.0.4 - flutter_stripe: ^9.5.0+1 + flutter_stripe: ^10.2.0 # camera: ^0.10.5+5 #to be remove - flutter_widget_from_html: ^0.14.6 + flutter_widget_from_html: ^0.15.1 local_auth: ^2.1.7 # image: ^4.1.3 #to be remove - image_cropper: ^4.0.1 + image_cropper: ^7.1.0 envied: ^0.5.2 # cached_network_image: ^3.3.0 calendar_builder: ^0.0.6 # agora_rtc_engine: ^6.2.6 - flutter_tts: ^3.8.5 + flutter_tts: ^4.0.2 permission_handler: ^11.3.0 # google_generative_ai: ^0.0.1-dev vibration: ^1.8.4 @@ -55,14 +57,14 @@ dependencies: share: ^2.0.4 google_sign_in: ^6.2.1 sign_in_with_apple: ^6.1.0 - firebase_auth: ^4.19.6 + firebase_auth: ^5.1.2 package_info_plus: ^8.0.0 uni_links: ^0.5.1 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^ 3.0.1 + flutter_lints: ^4.0.0 envied_generator: ^0.5.2 build_runner: ^2.4.6 diff --git a/secure_string_operations/lib/secure_string_operations.dart b/secure_string_operations/lib/secure_string_operations.dart new file mode 100644 index 0000000..d428ac3 --- /dev/null +++ b/secure_string_operations/lib/secure_string_operations.dart @@ -0,0 +1,47 @@ +// File: lib/secure_string_operations.dart + +library secure_string_operations; + +class X { + static String c(String a, Map b) { + StringBuffer c = StringBuffer(); + c.write(a); + + String d = "Bl"; + c.write(b[d] ?? d); + + StringBuffer e = StringBuffer(); + String f = c.toString(); + + for (int g = 0; g < f.length; g++) { + String h = f[g]; + e.write(b[h] ?? h); + } + + return e.toString(); + } + + static String r(String a, Map b) { + StringBuffer c = StringBuffer(); + String d = "Bl"; + int e = d.length; + + for (int f = 0; f < a.length; f++) { + String g = a[f]; + String h = b.keys.firstWhere( + (i) => b[i] == g, + orElse: () => g, + ); + + c.write(h); + } + + String j = c.toString(); + + if (j.endsWith(d)) { + j = j.substring(0, j.length - e); + } + + return j; + } +} diff --git a/secure_string_operations/pubspec.lock b/secure_string_operations/pubspec.lock new file mode 100644 index 0000000..fce7ef1 --- /dev/null +++ b/secure_string_operations/pubspec.lock @@ -0,0 +1,5 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: {} +sdks: + dart: ">=2.12.0 <4.0.0" diff --git a/secure_string_operations/pubspec.yaml b/secure_string_operations/pubspec.yaml new file mode 100644 index 0000000..b910400 --- /dev/null +++ b/secure_string_operations/pubspec.yaml @@ -0,0 +1,6 @@ +name: secure_string_operations +description: A package for secure string operations +version: 1.0.0 + +environment: + sdk: ">=2.12.0 <3.0.0"