diff --git a/android/app/build.gradle b/android/app/build.gradle index 06655d8..5e03d06 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -54,8 +54,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdk = 23 targetSdk = flutter.targetSdkVersion - versionCode = 124 - versionName = '1.5.24' + versionCode = 126 + versionName = '1.5.26' multiDexEnabled =true } diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index fb7ca5d..ee54537 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -35,7 +35,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 81 + 84 CFBundleSignature ???? CFBundleURLTypes @@ -50,7 +50,7 @@ CFBundleVersion - 4.0.81 + 4.0.84 FirebaseAppDelegateProxyEnabled NO GMSApiKey diff --git a/lib/constant/box_name.dart b/lib/constant/box_name.dart index 527f404..e552c81 100644 --- a/lib/constant/box_name.dart +++ b/lib/constant/box_name.dart @@ -46,6 +46,8 @@ class BoxName { static const String phone = "phone"; static const String phoneDriver = "phoneDriver"; static const String is_claimed = "is_claimed"; + static const String isInstall = "isInstall"; + static const String isGiftToken = "isGiftToken"; static const String lastOtpTime = "lastOtpTime"; static const String bankCodeDriver = "bankCodeDriver"; static const String accountBankNumberDriver = "accountBankNumberDriver"; diff --git a/lib/constant/links.dart b/lib/constant/links.dart index 4c4a860..f3d81d6 100644 --- a/lib/constant/links.dart +++ b/lib/constant/links.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/env/env.dart'; +import 'package:sefer_driver/env/env.dart'; import '../main.dart'; import 'box_name.dart'; @@ -183,8 +183,8 @@ class AppLink { //-----------------RegisrationCar------------------ static String addRegisrationCar = "$ride/RegisrationCar/add.php"; static String getRegisrationCar = "$endPoint/ride/RegisrationCar/get.php"; - static String updateRegisrationCar = - "$endPoint/ride/RegisrationCar/update.php"; + static String updateRegisrationCar = "$ride/RegisrationCar/update.php"; + static String makeDefaultCar = "$ride/RegisrationCar/makeDefaultCar.php"; //-----------------DriverOrder------------------ @@ -220,6 +220,7 @@ class AppLink { static String uploadEgyptidFront = "$server/EgyptDocuments/uploadEgyptidFront.php"; static String uploadEgypt = "$server/uploadEgypt.php"; + static String uploadEgypt1 = "$server/uploadEgypt1.php"; //==================certifcate========== static String location = '$endPoint/ride/location'; @@ -245,6 +246,7 @@ class AppLink { //==================cars new drivers============= static String addNewCarsDrivers = '$server/ride/carDrivers/add.php'; static String getNewCarsDrivers = '$server/ride/carDrivers/get.php'; + static String deleteNewCarsDrivers = '$server/ride/carDrivers/delete.php'; //==================Blog============= static String profile = '$server/ride/profile'; @@ -267,6 +269,8 @@ class AppLink { "$server/ride/invitor/updatePassengerGift.php"; static String updateInvitationCodeFromRegister = "$server/ride/invitor/updateInvitationCodeFromRegister.php"; + static String updateDriverInvitationDirectly = + "$server/ride/invitor/updateDriverInvitationDirectly.php"; static String updatePassengersInvitation = "$server/ride/invitor/updatePassengersInvitation.php"; diff --git a/lib/constant/style.dart b/lib/constant/style.dart index b8a4951..4425b92 100644 --- a/lib/constant/style.dart +++ b/lib/constant/style.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'colors.dart'; diff --git a/lib/controller/auth/captin/history_captain.dart b/lib/controller/auth/captin/history_captain.dart index 380f5f3..35b13f2 100644 --- a/lib/controller/auth/captin/history_captain.dart +++ b/lib/controller/auth/captin/history_captain.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:get/get.dart'; import '../../../constant/box_name.dart'; diff --git a/lib/controller/auth/captin/invit_controller.dart b/lib/controller/auth/captin/invit_controller.dart index c4f36e0..e39a57f 100644 --- a/lib/controller/auth/captin/invit_controller.dart +++ b/lib/controller/auth/captin/invit_controller.dart @@ -1,12 +1,12 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/firebase/local_notification.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/firebase/local_notification.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:flutter_contacts/contact.dart'; import 'package:flutter_contacts/flutter_contacts.dart'; diff --git a/lib/controller/auth/captin/login_captin_controller.dart b/lib/controller/auth/captin/login_captin_controller.dart index 36b6f34..1b8b877 100644 --- a/lib/controller/auth/captin/login_captin_controller.dart +++ b/lib/controller/auth/captin/login_captin_controller.dart @@ -1,18 +1,18 @@ import 'dart:convert'; import 'dart:math'; -import 'package:SEFER/controller/functions/location_background_controller.dart'; -import 'package:SEFER/views/auth/captin/cards/sms_signup.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/controller/functions/location_background_controller.dart'; +import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart'; import 'package:location/location.dart'; import '../../../constant/info.dart'; @@ -113,7 +113,7 @@ class LoginDriverController extends GetxController { .join(''); } - loginUsingCredentials(String driverID, email) async { + loginWithGoogleCredential(String driverID, email) async { isloading = true; update(); var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: { @@ -146,6 +146,9 @@ class LoginDriverController extends GetxController { jsonDecoeded['data'][0]['is_verified'].toString()); box.write(BoxName.phoneDriver, jsonDecoeded['data'][0]['phone']); box.write(BoxName.is_claimed, jsonDecoeded['data'][0]['is_claimed']); + box.write(BoxName.isInstall, jsonDecoeded['data'][0]['isInstall']); + // box.write( + // BoxName.isGiftToken, jsonDecoeded['data'][0]['isGiftToken']); box.write(BoxName.nameArabic, jsonDecoeded['data'][0]['name_arabic']); box.write(BoxName.carYear, jsonDecoeded['data'][0]['year']); box.write( diff --git a/lib/controller/auth/captin/ml_google_doc.dart b/lib/controller/auth/captin/ml_google_doc.dart index d611582..35976ab 100644 --- a/lib/controller/auth/captin/ml_google_doc.dart +++ b/lib/controller/auth/captin/ml_google_doc.dart @@ -4,8 +4,8 @@ import 'package:get/get.dart'; import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; import 'package:image_cropper/image_cropper.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/controller/functions/llama_ai.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/controller/functions/llama_ai.dart'; class CarRegistrationRecognizerController extends GetxController { @override diff --git a/lib/controller/auth/captin/register_captin_controller.dart b/lib/controller/auth/captin/register_captin_controller.dart index d6c1355..2a0ff38 100644 --- a/lib/controller/auth/captin/register_captin_controller.dart +++ b/lib/controller/auth/captin/register_captin_controller.dart @@ -1,19 +1,19 @@ import 'dart:convert'; import 'dart:math'; -import 'package:SEFER/controller/auth/captin/login_captin_controller.dart'; -import 'package:SEFER/views/auth/captin/cards/egypt_card_a_i.dart'; -import 'package:SEFER/views/auth/captin/register_captin.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart'; +import 'package:sefer_driver/views/auth/captin/cards/egypt_card_a_i.dart'; +import 'package:sefer_driver/views/auth/captin/register_captin.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/ocr_controller.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/captin/login_captin.dart'; -import 'package:SEFER/views/auth/captin/verify_email_captain.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/ocr_controller.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/captin/login_captin.dart'; +import 'package:sefer_driver/views/auth/captin/verify_email_captain.dart'; import '../../../constant/colors.dart'; import '../../../views/auth/captin/ai_page.dart'; @@ -116,7 +116,7 @@ class RegisterCaptainController extends GetxController { backgroundColor: AppColor.greenColor); box.write(BoxName.phoneVerified, '1'); box.write(BoxName.phone, '+2${phoneController.text}'); - await Get.put(LoginDriverController()).loginUsingCredentials( + await Get.put(LoginDriverController()).loginWithGoogleCredential( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver).toString(), ); @@ -240,7 +240,7 @@ class RegisterCaptainController extends GetxController { mySnackbarSuccess('Phone number is already verified'.tr); box.write(BoxName.phoneVerified, '1'); box.write(BoxName.phone, '+2${phoneController.text}'); - Get.put(LoginDriverController()).loginUsingCredentials( + Get.put(LoginDriverController()).loginWithGoogleCredential( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver).toString(), ); diff --git a/lib/controller/auth/google_sign.dart b/lib/controller/auth/google_sign.dart index 360556b..0899569 100644 --- a/lib/controller/auth/google_sign.dart +++ b/lib/controller/auth/google_sign.dart @@ -1,12 +1,12 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/auth/captin/login_captin_controller.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/captin/cards/sms_signup.dart'; -import 'package:SEFER/views/home/on_boarding_page.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart'; +import 'package:sefer_driver/views/home/on_boarding_page.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import 'package:google_sign_in/google_sign_in.dart'; @@ -106,7 +106,7 @@ class GoogleSignInHelper { // Check if driverID is a valid numeric string // if (driverID != 'Unknown ID' && int.tryParse(driverID) != null) { await Get.find() - .loginUsingCredentials(driverID, emailDriver); + .loginWithGoogleCredential(driverID, emailDriver); // } // else { // print('Invalid driverID format: $driverID'); diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index 91f7e26..ce29352 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -1,16 +1,16 @@ import 'dart:convert'; import 'dart:math'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/secure_storage.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/verify_email_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/secure_storage.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/verify_email_page.dart'; class LoginController extends GetxController { final formKey = GlobalKey(); diff --git a/lib/controller/auth/onboarding_controller.dart b/lib/controller/auth/onboarding_controller.dart index 518f8e5..73c7bdf 100644 --- a/lib/controller/auth/onboarding_controller.dart +++ b/lib/controller/auth/onboarding_controller.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/login_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/login_page.dart'; import '../../models/model/onboarding_model.dart'; import '../../views/auth/captin/login_captin.dart'; diff --git a/lib/controller/auth/register_controller.dart b/lib/controller/auth/register_controller.dart index 45297bd..74e02be 100644 --- a/lib/controller/auth/register_controller.dart +++ b/lib/controller/auth/register_controller.dart @@ -3,11 +3,11 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/views/auth/login_page.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/views/auth/login_page.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../views/auth/captin/login_captin.dart'; import '../../views/auth/verify_email_page.dart'; diff --git a/lib/controller/auth/tokens_controller.dart b/lib/controller/auth/tokens_controller.dart index 73be75e..165e21c 100644 --- a/lib/controller/auth/tokens_controller.dart +++ b/lib/controller/auth/tokens_controller.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; diff --git a/lib/controller/auth/verify_email_controller.dart b/lib/controller/auth/verify_email_controller.dart index 3ca4247..b3e934d 100644 --- a/lib/controller/auth/verify_email_controller.dart +++ b/lib/controller/auth/verify_email_controller.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; class VerifyEmailController extends GetxController { TextEditingController verfyCode = TextEditingController(); diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index 6c85c7a..c77cd83 100644 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -1,13 +1,13 @@ import 'dart:convert'; import 'dart:io'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../constant/box_name.dart'; import '../../constant/colors.dart'; @@ -100,7 +100,7 @@ class FirebaseMessagesController extends GetxController { notificationController.showNotification( message.notification!.title.toString(), message.notification!.body.toString(), - 'order', + 'tone1', ''); } // await FirebaseMessagesController().showOverlayNotification(message); @@ -114,6 +114,7 @@ class FirebaseMessagesController extends GetxController { Get.put(HomeCaptainController()).changeRideId(); update(); Get.to(() => OrderRequestPage(), arguments: { + // Get.to(() => OrderRequestPage(), arguments: { 'myListString': myListString, 'DriverList': myList, // 'PolylineJson': myPoints, diff --git a/lib/controller/firebase/local_notification.dart b/lib/controller/firebase/local_notification.dart index cf47f89..b97c99e 100644 --- a/lib/controller/firebase/local_notification.dart +++ b/lib/controller/firebase/local_notification.dart @@ -3,9 +3,9 @@ import 'dart:convert'; import 'dart:io'; import 'dart:typed_data'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/order_request_page.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/order_speed_request.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/views/home/Captin/orderCaptin/order_request_page.dart'; +import 'package:sefer_driver/views/home/Captin/orderCaptin/order_speed_request.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; @@ -66,38 +66,46 @@ class NotificationController extends GetxController { htmlFormatContent: true, htmlFormatContentTitle: true, ); - AndroidNotificationDetails android = AndroidNotificationDetails( - 'high_importance_channel', // Use the same ID as before + 'high_importance_channel', 'High Importance Notifications', - importance: Importance.high, + importance: Importance.max, priority: Priority.high, - styleInformation: bigTextStyleInformation, - playSound: true, sound: RawResourceAndroidNotificationSound(tone), - // audioAttributesUsage: AudioAttributesUsage.alarm, - visibility: NotificationVisibility.public, - autoCancel: false, - color: AppColor.primaryColor, - showProgress: true, - showWhen: true, - ongoing: true, - enableVibration: true, - vibrationPattern: Int64List.fromList([0, 1000, 500, 1000]), - timeoutAfter: 14500, - setAsGroupSummary: true, - subText: message, fullScreenIntent: true, - actions: [ - AndroidNotificationAction( - allowGeneratedReplies: true, - 'id', - title.tr, - titleColor: AppColor.bronze, - showsUserInterface: true, - ) - ], - category: AndroidNotificationCategory.progress, ); + + // AndroidNotificationDetails android = AndroidNotificationDetails( + // 'high_importance_channel', // Use the same ID as before + // 'High Importance Notifications', + // importance: Importance.high, + // priority: Priority.high, + // styleInformation: bigTextStyleInformation, + // playSound: true, + // sound: RawResourceAndroidNotificationSound(tone), + // // audioAttributesUsage: AudioAttributesUsage.alarm, + // visibility: NotificationVisibility.public, + // autoCancel: false, + // color: AppColor.primaryColor, + // showProgress: true, + // showWhen: true, + // ongoing: true, + // enableVibration: true, + // vibrationPattern: Int64List.fromList([0, 1000, 500, 1000]), + // timeoutAfter: 14500, + // setAsGroupSummary: true, + // subText: message, fullScreenIntent: true, + // actions: [ + // AndroidNotificationAction( + // allowGeneratedReplies: true, + // 'id', + // title.tr, + // titleColor: AppColor.blueColor, + // showsUserInterface: true, + // ) + // ], + // category: AndroidNotificationCategory.message, + // ); + DarwinNotificationDetails ios = const DarwinNotificationDetails( sound: 'default', presentAlert: true, @@ -221,7 +229,6 @@ class NotificationController extends GetxController { message, scheduledTime, details, - androidAllowWhileIdle: true, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, matchDateTimeComponents: DateTimeComponents.time, @@ -264,20 +271,37 @@ class NotificationController extends GetxController { // Schedule notifications for the next 7 days for (int day = 0; day < 7; day++) { - // Schedule for 8:00 AM - await _scheduleNotificationForTime( - day, 7, 0, title, message, details, day * 1000 + 1); // Unique ID + // List of notification times + final notificationTimes = [ + {'hour': 8, 'minute': 0, 'id': day * 1000 + 1}, // 8:00 AM + {'hour': 15, 'minute': 0, 'id': day * 1000 + 2}, // 3:00 PM + {'hour': 20, 'minute': 0, 'id': day * 1000 + 3}, // 8:00 PM + ]; - await _scheduleNotificationForTime( - day, 10, 14, title, message, details, day * 1000 + 2); // Unique ID + for (var time in notificationTimes) { + final notificationId = time['id'] as int; - // Schedule for 3:00 PM - await _scheduleNotificationForTime( - day, 13, 0, title, message, details, day * 1000 + 3); // Unique ID + // Check if this notification ID is already stored + bool isScheduled = box.read('notification_$notificationId') ?? false; - // Schedule for 8:00 PM - await _scheduleNotificationForTime( - day, 20, 0, title, message, details, day * 1000 + 4); // Unique ID + if (!isScheduled) { + // Schedule the notification if not already scheduled + await _scheduleNotificationForTime( + day, + time['hour'] as int, + time['minute'] as int, + title, + message, + details, + notificationId, + ); + + // Mark this notification ID as scheduled in GetStorage + box.write('notification_$notificationId', true); + } else { + print('Notification with ID $notificationId is already scheduled.'); + } + } } print('Notifications scheduled successfully for the next 7 days'); diff --git a/lib/controller/firebase/order_lay.dart b/lib/controller/firebase/order_lay.dart index 90e2938..b1afa02 100644 --- a/lib/controller/firebase/order_lay.dart +++ b/lib/controller/firebase/order_lay.dart @@ -1,7 +1,7 @@ -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:flutter/material.dart'; class OverlayContent1 extends StatelessWidget { diff --git a/lib/controller/functions/camer_controller.dart b/lib/controller/functions/camer_controller.dart index be92c13..67820d9 100644 --- a/lib/controller/functions/camer_controller.dart +++ b/lib/controller/functions/camer_controller.dart @@ -4,9 +4,9 @@ import 'dart:io'; import 'package:camera/camera.dart'; import 'package:get/get.dart'; import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:path_provider/path_provider.dart' as path_provider; import 'package:path/path.dart' as path; import 'package:http/http.dart' as http; diff --git a/lib/controller/functions/crud.dart b/lib/controller/functions/crud.dart index bdee8b5..4014de1 100644 --- a/lib/controller/functions/crud.dart +++ b/lib/controller/functions/crud.dart @@ -1,10 +1,10 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/main.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; -import 'package:SEFER/env/env.dart'; +import 'package:sefer_driver/env/env.dart'; import '../../constant/api_key.dart'; import '../../print.dart'; @@ -28,10 +28,9 @@ class CRUD { 'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials.toString()))}', }, ); - // if (response.statusCode == 200) { - Log.print('response: ${response.request}'); + Log.print('request: ${response.request}'); Log.print('response: ${response.body}'); - Log.print('response: ${payload}'); + // if (response.statusCode == 200) { var jsonData = jsonDecode(response.body); if (jsonData['status'] == 'success') { return response.body; @@ -103,7 +102,6 @@ class CRUD { var json = jsonDecode(extractedString); var textValues = extractTextFromLines(json); - Log.print('textValues: ${textValues}'); // await Get.put(AI()).geminiAiExtraction(prompt, textValues); await Get.put(AI()).anthropicAI(textValues, prompt, imagePath); } @@ -147,7 +145,6 @@ class CRUD { http.StreamedResponse response = await request.send(); if (response.statusCode == 200) { - // Log.print( // 'response.stream.bytesToString(): ${await response.stream.bytesToString()}'); return await response.stream.bytesToString(); } else {} @@ -203,9 +200,6 @@ class CRUD { 'Authorization': 'Bearer ${AK.secretKeyStripe}', }, ); - // Log.print('response: ${response.request}'); - // Log.print('response: ${response.body}'); - // Log.print('response: ${payload}'); if (response.statusCode == 200) { return response.body; } else {} @@ -229,11 +223,6 @@ class CRUD { 'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}', }, ); - Log.print('response: ${response.request}'); - Log.print('response: ${response.body}'); - // Log.print('response: ${response.statusCode}'); - // Log.print('response: ${response.reasonPhrase}'); - Log.print('response: ${payload}'); var jsonData = jsonDecode(response.body); if (response.statusCode == 200) { if (jsonData['status'] == 'success') { diff --git a/lib/controller/functions/face_detect.dart b/lib/controller/functions/face_detect.dart index 7742b2b..798307b 100644 --- a/lib/controller/functions/face_detect.dart +++ b/lib/controller/functions/face_detect.dart @@ -1,7 +1,7 @@ import 'dart:convert'; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:http/http.dart' as http; import '../../constant/links.dart'; diff --git a/lib/controller/functions/gemeni.dart b/lib/controller/functions/gemeni.dart index ea207eb..af27198 100644 --- a/lib/controller/functions/gemeni.dart +++ b/lib/controller/functions/gemeni.dart @@ -1,17 +1,21 @@ +import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:math'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/auth/captin/login_captin_controller.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/device_info.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/controller/firebase/local_notification.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/device_info.dart'; +import 'package:sefer_driver/controller/notification/notification_captain_controller.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:image_cropper/image_cropper.dart'; @@ -50,6 +54,31 @@ class AI extends GetxController { bool isInviteDriverFound = false; final invitationCodeController = TextEditingController(); final formKey = GlobalKey(); + bool isTimerComplete = false; + double progressValue = 1.0; + int remainingSeconds = 30; + + void startTimer() { + Timer.periodic(const Duration(seconds: 1), (timer) { + if (remainingSeconds == 0) { + timer.cancel(); + isTimerComplete = true; + update(); // Notify the UI + } else { + remainingSeconds--; + progressValue = remainingSeconds / 30.0; // Update progress + update(); // Notify the UI + } + }); + } + + void resetTimer() { + isTimerComplete = false; + progressValue = 1.0; + remainingSeconds = 40; + update(); // Notify the UI + startTimer(); // Restart the timer + } void setApproved() { approved = true; @@ -57,17 +86,32 @@ class AI extends GetxController { } Future updateInvitationCodeFromRegister() async { - if (formKey.currentState!.validate()) { - var res = await CRUD().post( - link: AppLink.updateInvitationCodeFromRegister, - payload: {"inviteCode": invitationCodeController.text}); - if (res != 'failure') { - isInviteDriverFound = true; - update(); - mySnackbarSuccess("Code approved".tr); - } else { - mySnackeBarError("Code not approved".tr); - } + var res = await CRUD().post( + link: AppLink.updateDriverInvitationDirectly, + payload: { + "inviterDriverPhone": '+2${box.read(BoxName.phoneDriver).toString()}', + "driverId": box.read(BoxName.driverID).toString(), + }, + ); + + if (res != 'failure') { + isInviteDriverFound = true; + update(); + // mySnackbarSuccess("Code approved".tr); // Localized success message + box.write(BoxName.isInstall, '1'); + NotificationController().showNotification( + "Code approved".tr, "Code approved".tr, 'tone2', ''); + // Notification text with dynamic token + FirebaseMessagesController().sendNotificationToDriverMAP( + 'You have received a gift token!'.tr, + 'for '.tr + box.read(BoxName.phoneDriver).toString(), + jsonDecode(res)['message'][0]['token'].toString(), + [], + 'tone2', // Type of notification + ); + } else { + // mySnackeBarError( + // "You dont have invitation code".tr); // Localized error message } } @@ -397,7 +441,7 @@ class AI extends GetxController { } } - addCriminalDeocuments() async { + addCriminalDocuments() async { var res = await CRUD().post(link: AppLink.addCriminalDocuments, payload: { "driverId": box.read(BoxName.driverID), "IssueDate": responseCriminalRecordEgypt['IssueDate'], diff --git a/lib/controller/functions/llama_ai.dart b/lib/controller/functions/llama_ai.dart index 6a66d73..972803b 100644 --- a/lib/controller/functions/llama_ai.dart +++ b/lib/controller/functions/llama_ai.dart @@ -1,8 +1,8 @@ import 'dart:convert'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/gemeni.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/gemeni.dart'; class LlamaAi { Future getCarRegistrationData(String input, prompt) async { diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 74c3177..1e07e38 100644 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -1,14 +1,14 @@ import 'dart:async'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:location/location.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/main.dart'; import '../../print.dart'; diff --git a/lib/controller/functions/log_out.dart b/lib/controller/functions/log_out.dart index 00e4add..8010ffb 100644 --- a/lib/controller/functions/log_out.dart +++ b/lib/controller/functions/log_out.dart @@ -1,17 +1,17 @@ import 'dart:io'; -import 'package:SEFER/views/home/on_boarding_page.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/home/on_boarding_page.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/onbording_page.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/onbording_page.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; import '../../constant/style.dart'; diff --git a/lib/controller/functions/ocr_controller.dart b/lib/controller/functions/ocr_controller.dart index 5f70df2..1245715 100644 --- a/lib/controller/functions/ocr_controller.dart +++ b/lib/controller/functions/ocr_controller.dart @@ -5,13 +5,13 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; import 'package:http/http.dart' as http; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/constant/table_names.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/constant/table_names.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../constant/box_name.dart'; import '../../constant/links.dart'; diff --git a/lib/controller/functions/overlay_permisssion.dart b/lib/controller/functions/overlay_permisssion.dart index 881ea38..7e79057 100644 --- a/lib/controller/functions/overlay_permisssion.dart +++ b/lib/controller/functions/overlay_permisssion.dart @@ -1,8 +1,8 @@ import 'dart:io'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:flutter_confetti/flutter_confetti.dart'; import 'package:flutter_overlay_window/flutter_overlay_window.dart'; @@ -34,7 +34,8 @@ Future getPermissionOverlay() async { Future showDriverGiftClaim(BuildContext context) async { if (box.read(BoxName.is_claimed).toString() == '0' || box.read(BoxName.is_claimed) == null) { - MyDialog().getDialog('You have gift 300 L.E'.tr, 'text', () async { + MyDialog().getDialog( + 'You have gift 300 L.E'.tr, 'This for new registration'.tr, () async { var res = await CRUD().post(link: AppLink.updateDriverClaim, payload: { 'driverId': box.read(BoxName.driverID), }); @@ -46,6 +47,7 @@ Future showDriverGiftClaim(BuildContext context) async { options: const ConfettiOptions(particleCount: 100, spread: 70, y: 0.6), ); + box.write(BoxName.is_claimed, '1'); } Get.back(); }); diff --git a/lib/controller/functions/package_info.dart b/lib/controller/functions/package_info.dart index ece683a..68f00ff 100644 --- a/lib/controller/functions/package_info.dart +++ b/lib/controller/functions/package_info.dart @@ -1,8 +1,8 @@ import 'dart:convert'; import 'dart:io'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/controller/functions/sms_egypt_controller.dart b/lib/controller/functions/sms_egypt_controller.dart index 13169cf..5c76968 100644 --- a/lib/controller/functions/sms_egypt_controller.dart +++ b/lib/controller/functions/sms_egypt_controller.dart @@ -1,13 +1,13 @@ import 'dart:convert'; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/auth/captin/register_captin_controller.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; @@ -53,7 +53,7 @@ class SmsEgyptController extends GetxController { '+2${Get.find().phoneController.text}'); box.write(BoxName.phoneVerified, '1'); - await Get.put(LoginDriverController()).loginUsingCredentials( + await Get.put(LoginDriverController()).loginWithGoogleCredential( box.read(BoxName.driverID).toString(), box.read(BoxName.emailDriver).toString(), ); diff --git a/lib/controller/functions/toast.dart b/lib/controller/functions/toast.dart index 931d767..de22f81 100644 --- a/lib/controller/functions/toast.dart +++ b/lib/controller/functions/toast.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; class Toast { static void show(BuildContext context, String message, Color color) { diff --git a/lib/controller/functions/tts.dart b/lib/controller/functions/tts.dart index 068dab9..a39050c 100644 --- a/lib/controller/functions/tts.dart +++ b/lib/controller/functions/tts.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:flutter_tts/flutter_tts.dart'; import 'package:get/get.dart'; diff --git a/lib/controller/functions/upload_image.dart b/lib/controller/functions/upload_image.dart index b521459..538d3c4 100644 --- a/lib/controller/functions/upload_image.dart +++ b/lib/controller/functions/upload_image.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:io'; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; import 'package:image_cropper/image_cropper.dart'; @@ -205,8 +205,9 @@ class ImageController extends GetxController { await uploadNewCar( compressedImage, { - 'driverID': - box.read(BoxName.driverID) ?? box.read(BoxName.passengerID), + 'driverID': box.read(BoxName.driverID) + + '_' + + DateTime.now().toIso8601String(), 'imageType': imageType, }, link, diff --git a/lib/controller/home/captin/duration_controller .dart b/lib/controller/home/captin/duration_controller .dart index 9b24a14..3945a41 100644 --- a/lib/controller/home/captin/duration_controller .dart +++ b/lib/controller/home/captin/duration_controller .dart @@ -1,13 +1,13 @@ import 'dart:convert'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:fl_chart/fl_chart.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/models/model/driver/rides_summary_model.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/models/model/driver/rides_summary_model.dart'; class DurationController extends GetxController { final data = DurationData; diff --git a/lib/controller/home/captin/help/assurance_controller.dart b/lib/controller/home/captin/help/assurance_controller.dart index 9b14b02..7dbeb69 100644 --- a/lib/controller/home/captin/help/assurance_controller.dart +++ b/lib/controller/home/captin/help/assurance_controller.dart @@ -1,10 +1,10 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import '../../../../constant/colors.dart'; diff --git a/lib/controller/home/captin/help/maintain_center_controller.dart b/lib/controller/home/captin/help/maintain_center_controller.dart index 4ba9660..1c7a0e5 100644 --- a/lib/controller/home/captin/help/maintain_center_controller.dart +++ b/lib/controller/home/captin/help/maintain_center_controller.dart @@ -1,9 +1,9 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; import 'package:get/get.dart'; class MaintainCenterController extends GetxController { diff --git a/lib/controller/home/captin/help/video_controller.dart b/lib/controller/home/captin/help/video_controller.dart index e9c9c60..3c76bfd 100644 --- a/lib/controller/home/captin/help/video_controller.dart +++ b/lib/controller/home/captin/help/video_controller.dart @@ -1,9 +1,9 @@ import 'dart:convert'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/print.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/print.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import 'package:video_player/video_player.dart'; diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index 1c2993a..ada631c 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -3,8 +3,8 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; import 'dart:async'; import '../../../constant/links.dart'; @@ -237,6 +237,30 @@ class HomeCaptainController extends GetxController { update(); } + Map walletDriverPointsDate = {}; + + Future getCaptainWalletFromBuyPoints() async { + // isLoading = true; + update(); + + var res = await CRUD().get( + link: AppLink.getDriverPaymentPoints, + payload: {'driverID': box.read(BoxName.driverID).toString()}, + ); + isLoading = false; + // update(); + + if (res != 'failure') { + walletDriverPointsDate = jsonDecode(res); + double totalPointsDouble = double.parse( + walletDriverPointsDate['message'][0]['total_amount'].toString()); + totalPoints = totalPointsDouble.toStringAsFixed(0); + update(); + } else { + totalPoints = '0'; + } + } + @override void onInit() async { // await locationBackController.requestLocationPermission(); @@ -251,8 +275,9 @@ class HomeCaptainController extends GetxController { getCountRideToday(); getAllPayment(); startPeriodicExecution(); + await getCaptainWalletFromBuyPoints(); onMapCreated(mapHomeCaptainController!); - totalPoints = Get.find().totalPoints.toString(); + // totalPoints = Get.find().totalPoints.toString(); getRefusedOrderByCaptain(); // LocationController().getLocation(); super.onInit(); @@ -324,7 +349,7 @@ class HomeCaptainController extends GetxController { payload: {'driverID': box.read(BoxName.driverID).toString()}); if (res != 'failure') { data = jsonDecode(res); - totalMoneyToday = data['message'][0]['todayAmount']; + totalMoneyToday = data['message'][0]['todayAmount'].toString(); update(); } else {} diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index dc9d54c..ffbfb2f 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -1,17 +1,14 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; -import 'package:SEFER/controller/home/captin/order_request_controller.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:bubble_head/bubble.dart'; import 'package:flutter/material.dart'; import 'package:geolocator/geolocator.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_polyline_algorithm/google_polyline_algorithm.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; import 'package:url_launcher/url_launcher.dart'; import '../../../constant/api_key.dart'; @@ -20,6 +17,7 @@ import '../../../constant/colors.dart'; import '../../../constant/links.dart'; import '../../../constant/table_names.dart'; import '../../../main.dart'; +import '../../../print.dart'; import '../../../views/Rate/rate_passenger.dart'; import '../../../views/home/Captin/home_captain/home_captin.dart'; import '../../firebase/firbase_messge.dart'; @@ -187,6 +185,14 @@ class MapDriverController extends GetxController { "id": rideId.toString(), // Convert to String "status": 'CancelFromDriverAfterApply' }); + CRUD().postFromDialogue( + link: '${AppLink.seferCairoServer}/driver_order/add.php', + payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + // box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'CancelFromDriverAfterApply' + }); await CRUD().post( link: "${AppLink.seferCairoServer}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php", @@ -202,6 +208,14 @@ class MapDriverController extends GetxController { "id": rideId.toString(), // Convert to String "status": 'CancelFromDriverAfterApply' }); + CRUD().postFromDialogue( + link: '${AppLink.endPoint}/driver_order/add.php', + payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + // box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'CancelFromDriverAfterApply' + }); CRUD().post( link: "${AppLink.endPoint}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php", @@ -382,12 +396,24 @@ class MapDriverController extends GetxController { 'rideTimeStart': DateTime.now().toString(), 'status': 'Begin', }); + CRUD().post(link: AppLink.addDriverOrder, payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'Begin' + }); if (AppLink.endPoint != AppLink.seferCairoServer) { CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: { 'id': rideId, 'rideTimeStart': DateTime.now().toString(), 'status': 'Begin', }); + CRUD().post( + link: '${AppLink.endPoint}/rides/driver_order/add.php', + payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'Begin' + }); } FirebaseMessagesController().sendNotificationToDriverMAP('RideIsBegin', box.read(BoxName.name).toString(), tokenPassenger, [], 'start.wav'); @@ -493,6 +519,11 @@ class MapDriverController extends GetxController { 'rideTimeStart': DateTime.now().toString(), 'status': 'CancelAfterWait', }); + CRUD().post(link: AppLink.addDriverOrder, payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'CancelAfterWait' + }); if (AppLink.endPoint != AppLink.seferCairoServer) { CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: { @@ -500,6 +531,11 @@ class MapDriverController extends GetxController { 'rideTimeStart': DateTime.now().toString(), 'status': 'CancelAfterWait', }); + CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: { + 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'CancelAfterWait' + }); } var paymentTokenWait = await generateTokenDriver(costOfWaiting5Minute.toString()); @@ -547,23 +583,25 @@ class MapDriverController extends GetxController { Get.find().myLocation.latitude, Get.find().myLocation.longitude, ); - MyDialog().getDialog('Are you sure to exit ride ?'.tr, '', () { - // if (distanceToDestination > 900 || - // (double.parse(distance.toString()) < 1000 && - // distanceToDestination > 150)) { - Get.back(); - finishRideFromDriver1(); - // } else { - // Get.back(); - // if (distanceToDestination <= 150) { - // // todo add scam from start point and dont move - // // finishRideFromDriver1(); - // } - // MyDialog().getDialog('you are not moved yet !'.tr, '', () { - // Get.back(); - // }); - // } - }); + + if (distanceToDestination > double.parse(distance.toString()) / 3) { + Log.print('distanceToDestination: ${distanceToDestination}'); + + MyDialog().getDialog( + 'Are you sure to exit ride?'.tr, + '', + () { + Get.back(); + finishRideFromDriver1(); + }, + ); + } else { + MyDialog().getDialog( + "You haven't moved sufficiently!".tr, + '', + () => Get.back(), + ); + } } String paymentToken = ''; @@ -618,6 +656,13 @@ class MapDriverController extends GetxController { 'status': 'Finished', 'price': totalCost, }); + CRUD().post( + link: "${AppLink.seferCairoServer}/ride/driver_order/update.php", + payload: { + // 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'Finished' + }); if (AppLink.endPoint != AppLink.seferCairoServer) { CRUD().post( link: "${AppLink.endPoint}/ride/rides/update.php", @@ -628,6 +673,13 @@ class MapDriverController extends GetxController { 'price': totalCost, }, ); + CRUD().post( + link: "${AppLink.endPoint}/ride/driver_order/update.php", + payload: { + // 'driver_id': box.read(BoxName.driverID).toString(), + 'order_id': rideId.toString(), + 'status': 'Finished' + }); } if (walletChecked == 'true') { paymentToken = await generateTokenPassenger( diff --git a/lib/controller/home/captin/order_request_controller.dart b/lib/controller/home/captin/order_request_controller.dart index 04be8da..536508f 100644 --- a/lib/controller/home/captin/order_request_controller.dart +++ b/lib/controller/home/captin/order_request_controller.dart @@ -3,8 +3,8 @@ import 'dart:convert'; import 'package:flutter/cupertino.dart'; import 'package:flutter_overlay_window/flutter_overlay_window.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/main.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'dart:math' as math; import '../../../constant/box_name.dart'; diff --git a/lib/controller/home/payment/captain_wallet_controller.dart b/lib/controller/home/payment/captain_wallet_controller.dart index c825dc0..82f76e7 100644 --- a/lib/controller/home/payment/captain_wallet_controller.dart +++ b/lib/controller/home/payment/captain_wallet_controller.dart @@ -1,16 +1,16 @@ import 'dart:convert'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; -import 'package:SEFER/controller/firebase/local_notification.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/controller/firebase/local_notification.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; class CaptainWalletController extends GetxController { bool isLoading = false; @@ -348,7 +348,7 @@ class CaptainWalletController extends GetxController { @override void onInit() async { - getKazanPercent(); + // getKazanPercent(); await refreshCaptainWallet(); super.onInit(); diff --git a/lib/controller/home/payment/paymob_payout.dart b/lib/controller/home/payment/paymob_payout.dart index 513d7ac..36b63a2 100644 --- a/lib/controller/home/payment/paymob_payout.dart +++ b/lib/controller/home/payment/paymob_payout.dart @@ -1,11 +1,11 @@ import 'dart:convert'; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/print.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/print.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; import 'package:http/http.dart' as http; import 'package:secure_string_operations/secure_string_operations.dart'; diff --git a/lib/controller/home/points_for_rider_controller.dart b/lib/controller/home/points_for_rider_controller.dart index 70a1bee..cbd4856 100644 --- a/lib/controller/home/points_for_rider_controller.dart +++ b/lib/controller/home/points_for_rider_controller.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import '../../constant/api_key.dart'; import '../../constant/links.dart'; diff --git a/lib/controller/home/profile/feed_back_controller.dart b/lib/controller/home/profile/feed_back_controller.dart index 93aab61..48e4d4e 100644 --- a/lib/controller/home/profile/feed_back_controller.dart +++ b/lib/controller/home/profile/feed_back_controller.dart @@ -2,13 +2,13 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; class FeedBackController extends GetxController { bool isLoading = false; diff --git a/lib/controller/home/profile/order_history_controller.dart b/lib/controller/home/profile/order_history_controller.dart index 7bebdc3..3e09983 100644 --- a/lib/controller/home/profile/order_history_controller.dart +++ b/lib/controller/home/profile/order_history_controller.dart @@ -1,10 +1,10 @@ import 'dart:convert'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; class OrderHistoryController extends GetxController { List orderHistoryListPassenger = []; diff --git a/lib/controller/home/profile/promos_controller.dart b/lib/controller/home/profile/promos_controller.dart index f5801c3..fa8b3e9 100644 --- a/lib/controller/home/profile/promos_controller.dart +++ b/lib/controller/home/profile/promos_controller.dart @@ -1,10 +1,10 @@ import 'dart:convert'; import 'package:get/get.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; class PromosController extends GetxController { List promoList = []; diff --git a/lib/controller/home/splash_screen_controlle.dart b/lib/controller/home/splash_screen_controlle.dart index 4dfe7fa..8bf8ebe 100644 --- a/lib/controller/home/splash_screen_controlle.dart +++ b/lib/controller/home/splash_screen_controlle.dart @@ -1,7 +1,7 @@ import 'dart:async'; -import 'package:SEFER/controller/auth/captin/login_captin_controller.dart'; -import 'package:SEFER/views/home/on_boarding_page.dart'; +import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart'; +import 'package:sefer_driver/views/home/on_boarding_page.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:package_info_plus/package_info_plus.dart'; @@ -66,9 +66,10 @@ class SplashScreenController extends GetxController : box.read(BoxName.emailDriver) != null && box.read(BoxName.phoneDriver) != null && box.read(BoxName.phoneVerified) == '1' - ? await Get.put(LoginDriverController()).loginUsingCredentials( - box.read(BoxName.driverID).toString(), - box.read(BoxName.emailDriver)) + ? await Get.put(LoginDriverController()) + .loginWithGoogleCredential( + box.read(BoxName.driverID).toString(), + box.read(BoxName.emailDriver)) : Get.off(() => LoginCaptin()); }); } diff --git a/lib/controller/local/local_controller.dart b/lib/controller/local/local_controller.dart index 5a73d12..1543c1d 100644 --- a/lib/controller/local/local_controller.dart +++ b/lib/controller/local/local_controller.dart @@ -94,61 +94,14 @@ class LocaleController extends GetxController { @override void onInit() { - String storedLang = box.read(BoxName.lang) ?? ""; - switch (storedLang) { - case "ar": - language = const Locale("ar"); - appTheme = themeArabic; - break; - case "en": - language = const Locale("en"); - appTheme = themeEnglish; - break; - case "tr": - language = const Locale("tr"); - appTheme = themeEnglish; - break; - case "fr": - language = const Locale("fr"); - appTheme = themeEnglish; - break; - case "it": - language = const Locale("it"); - appTheme = themeEnglish; - break; - case "de": - language = const Locale("de"); - appTheme = themeEnglish; - break; - case "el": - language = const Locale("el"); - appTheme = themeEnglish; - break; - case "es": - language = const Locale("es"); - appTheme = themeEnglish; - break; - case "fa": - language = const Locale("fa"); - appTheme = themeArabic; - break; - case "zh": - language = const Locale("zh"); - appTheme = themeEnglish; - break; - case "ru": - language = const Locale("ru"); - appTheme = themeEnglish; - break; - case "hi": - language = const Locale("hi"); - appTheme = themeEnglish; - break; - default: - language = Locale(Get.deviceLocale!.languageCode); - appTheme = themeEnglish; - break; + String? storedLang = box.read(BoxName.lang); + if (storedLang == null) { + // Use device language if no language is stored + storedLang = Get.deviceLocale!.languageCode; + box.write(BoxName.lang, storedLang); } + + changeLang(storedLang); super.onInit(); } } diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index a02481c..c2df55e 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -153,14 +153,33 @@ class MyTranslation extends Translations { "National Bank of Greece": "البنك الوطني اليوناني", "Central Bank Of Egypt": "البنك المركزي المصري", "ATTIJARIWAFA BANK Egypt": "البنك التجاري وفا مصر", - "Morning Promo": "بونص الصباح", + "Morning Promo": "بونص الصباح", "Show my Cars": "عرض سياراتي", + "Add criminal page": "إضافة الفيش الجنائي", + "Add new car": "إضافة سيارة جديدة", 'You have gift 300 L.E': "لديك هدية بقيمة 300 جنيه.", "VIP Order": "طلب VIP", "VIP Order Accepted": "تم قبول طلب VIP.", "The driver accepted your trip": "السائق قبل رحلتك.", "this is count of your all trips in the morning promo today from 7:00am-10:00am": "هذا عدد جميع رحلاتك في بونص الصباح اليوم من الساعة 7:00 صباحًا حتى 10:00 صباحًا", "Morning Promo Rides": "رحلات عرض الصباح", + 'Are you sure to make this car as default': + 'هل أنت متأكد من تعيين هذه السيارة كافتراضية؟', + "Sign In by Google": "تسجيل الدخول باستخدام جوجل", + 'Not updated': 'لم يتم التحديث', + 'Updated': 'تم التحديث', + 'Remaining time': 'الوقت المتبقي', + 'Add bank Account': 'إضافة حساب بنكي', + 'Are you sure to exit ride?': 'هل أنت متأكد من إنهاء الرحلة؟', + + "seconds": "ثواني", + 'You will cancel registration': 'ستقوم بإلغاء التسجيل', + "Create new Account": "إنشاء حساب جديد", + "You haven't moved sufficiently!": "أنت لم تتحرك بما فيه الكفاية!", + 'This for new registration': ' للتسجيل الجديد', + 'You have received a gift token!': 'لقد حصلت على رمز هدية!', "Afternoon Promo": "بونص الظهر", + 'for ': 'ل ', + "You dont have invitation code": "ليس لديك رمز دعوة.", "this is count of your all trips in the Afternoon promo today from 3:00pm-6:00 pm": "هذا عدد جميع رحلاتك في بونص بعد الظهر اليوم من الساعة 3:00 مساءً حتى 6:00 مساءً", "Afternoon Promo Rides": "رحلات بونص بعد الظهر", diff --git a/lib/controller/notification/notification_captain_controller.dart b/lib/controller/notification/notification_captain_controller.dart index f43c755..68d474d 100644 --- a/lib/controller/notification/notification_captain_controller.dart +++ b/lib/controller/notification/notification_captain_controller.dart @@ -1,8 +1,8 @@ import 'dart:convert'; import 'package:get/get.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../constant/box_name.dart'; import '../../constant/links.dart'; diff --git a/lib/controller/notification/passenger_notification_controller.dart b/lib/controller/notification/passenger_notification_controller.dart index c23bb24..5a2ae3a 100644 --- a/lib/controller/notification/passenger_notification_controller.dart +++ b/lib/controller/notification/passenger_notification_controller.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:get/get.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; import '../../constant/box_name.dart'; import '../../constant/links.dart'; diff --git a/lib/controller/notification/ride_available_controller.dart b/lib/controller/notification/ride_available_controller.dart index 989cf4b..609de17 100644 --- a/lib/controller/notification/ride_available_controller.dart +++ b/lib/controller/notification/ride_available_controller.dart @@ -1,13 +1,15 @@ import 'dart:convert'; import 'dart:math'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/functions/location_controller.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/functions/location_controller.dart'; +import 'package:geolocator/geolocator.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import '../../constant/links.dart'; import '../../main.dart'; +import '../../print.dart'; import '../../views/widgets/mydialoug.dart'; import '../functions/crud.dart'; @@ -16,22 +18,6 @@ class RideAvailableController extends GetxController { Map rideAvailableMap = {}; late LatLng southwest; late LatLng northeast; - // LatLngBounds calculateBounds( - // double centerLat, double centerLng, double radius) { - // // double radius = 4000; // 10 km in meters - - // southwest = LatLng( - // centerLat - (radius / 111000), - // centerLng - (radius / (111000 * cos(centerLat))), - // ); - - // northeast = LatLng( - // centerLat + (radius / 111000), - // centerLng + (radius / (111000 * cos(centerLat))), - // ); - - // return LatLngBounds(southwest: southwest, northeast: northeast); - // } LatLngBounds calculateBounds(double lat, double lng, double radiusInMeters) { const double earthRadius = 6378137.0; // Earth's radius in meters @@ -67,22 +53,48 @@ class RideAvailableController extends GetxController { ); } + double calculateDistance(String startLocation) { + List startLocationParts = startLocation.split(','); + double startLatitude = double.parse(startLocationParts[0]); + double startLongitude = double.parse(startLocationParts[1]); + + // Assuming currentLocation is the driver's location + double currentLatitude = Get.find().latitude; + double currentLongitude = Get.find().longitude; + + return Geolocator.distanceBetween( + currentLatitude, + currentLongitude, + startLatitude, + startLongitude, + ); + } + + // void sortRidesByDistance() { + // rideAvailableMap['message'].sort((a, b) { + // double distanceA = calculateDistance(a['start_location']); + // double distanceB = calculateDistance(b['start_location']); + // return distanceA.compareTo(distanceB); + // }); + // } + getRideAvailable() async { isLoading = true; LatLngBounds bounds = calculateBounds( Get.find().myLocation.latitude, Get.find().myLocation.longitude, 4000); - var res = await CRUD().get( - link: AppLink.getRideWaiting, - payload: { - "carType": box.read(BoxName.carTypeOfDriver).toString(), - 'southwestLat': bounds.southwest.latitude.toString(), - 'southwestLon': bounds.southwest.longitude.toString(), - 'northeastLat': bounds.northeast.latitude.toString(), - 'northeastLon': bounds.northeast.longitude.toString(), - }, - ); + var payload = { + // "carType": box.read(BoxName.carTypeOfDriver).toString(), + 'southwestLat': bounds.southwest.latitude.toString(), + 'southwestLon': bounds.southwest.longitude.toString(), + 'northeastLat': bounds.northeast.latitude.toString(), + 'northeastLon': bounds.northeast.longitude.toString(), + }; + Log.print('payload: ${payload}'); + var res = await CRUD().get(link: AppLink.getRideWaiting, payload: payload); + Log.print('res: ${res}'); + if (res != 'failure') { rideAvailableMap = jsonDecode(res); isLoading = false; @@ -92,16 +104,6 @@ class RideAvailableController extends GetxController { Get.back(); Get.back(); }); - // Get.defaultDialog( - // title: "No Rides Available".tr, - // middleText: '', - // titleStyle: AppStyle.title, - // confirm: MyElevatedButton( - // title: 'Ok'.tr, - // onPressed: () { - // Get.back(); - // Get.back(); - // })); } } diff --git a/lib/controller/payment/driver_payment_controller.dart b/lib/controller/payment/driver_payment_controller.dart index 3d44746..4017093 100644 --- a/lib/controller/payment/driver_payment_controller.dart +++ b/lib/controller/payment/driver_payment_controller.dart @@ -1,11 +1,11 @@ import 'dart:convert'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; class DriverWalletHistoryController extends GetxController { bool isLoading = false; diff --git a/lib/controller/payment/payment_controller.dart b/lib/controller/payment/payment_controller.dart index a537506..1f2f761 100644 --- a/lib/controller/payment/payment_controller.dart +++ b/lib/controller/payment/payment_controller.dart @@ -1,10 +1,10 @@ import 'dart:convert'; -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/tts.dart'; -import 'package:SEFER/controller/payment/paymob/paymob_response.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/tts.dart'; +import 'package:sefer_driver/controller/payment/paymob/paymob_response.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:http/http.dart' as http; import 'package:flutter/material.dart'; import 'package:flutter_paypal/flutter_paypal.dart'; diff --git a/lib/controller/payment/paymob.dart b/lib/controller/payment/paymob.dart index 798cdc2..4edb2ff 100644 --- a/lib/controller/payment/paymob.dart +++ b/lib/controller/payment/paymob.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/constant/box_name.dart'; +import 'package:sefer_driver/constant/box_name.dart'; import 'package:dio/dio.dart' as dio; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; diff --git a/lib/controller/payment/paymob/paymob_response.dart b/lib/controller/payment/paymob/paymob_response.dart index ad761ec..a80fc80 100644 --- a/lib/controller/payment/paymob/paymob_response.dart +++ b/lib/controller/payment/paymob/paymob_response.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; diff --git a/lib/controller/payment/paymob/paymob_wallet.dart b/lib/controller/payment/paymob/paymob_wallet.dart index 12ceff8..4cd6940 100644 --- a/lib/controller/payment/paymob/paymob_wallet.dart +++ b/lib/controller/payment/paymob/paymob_wallet.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; diff --git a/lib/controller/profile/captain_profile_controller.dart b/lib/controller/profile/captain_profile_controller.dart index e975752..47af5ed 100644 --- a/lib/controller/profile/captain_profile_controller.dart +++ b/lib/controller/profile/captain_profile_controller.dart @@ -2,10 +2,10 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; class CaptainProfileController extends GetxController { bool isLoading = false; diff --git a/lib/controller/profile/profile_controller.dart b/lib/controller/profile/profile_controller.dart index 104f05a..5b3f163 100644 --- a/lib/controller/profile/profile_controller.dart +++ b/lib/controller/profile/profile_controller.dart @@ -2,11 +2,11 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; import '../../views/widgets/elevated_btn.dart'; diff --git a/lib/controller/profile/setting_controller.dart b/lib/controller/profile/setting_controller.dart index 3df53bc..bd8e7d9 100644 --- a/lib/controller/profile/setting_controller.dart +++ b/lib/controller/profile/setting_controller.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:get/get.dart'; class SettingController extends GetxController { diff --git a/lib/controller/rate/rate_app_controller.dart b/lib/controller/rate/rate_app_controller.dart index 862fad6..9d55331 100644 --- a/lib/controller/rate/rate_app_controller.dart +++ b/lib/controller/rate/rate_app_controller.dart @@ -1,12 +1,12 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; // Import url_launcher to open the app store diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 0b9f6bd..9a1acaf 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -1,17 +1,17 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/controller/payment/payment_controller.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/controller/payment/payment_controller.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../home/payment/captain_wallet_controller.dart'; @@ -70,23 +70,7 @@ class RateController extends GetxController { 'token': paymentToken3, 'driverID': box.read(BoxName.driverID).toString(), }); - // } - // else { - // double pointsSubtraction = 0; - // pointsSubtraction = remainingFee * - // (-1) / - // double.parse( - // Get.find().kazan); // for egypt /100 - // var paymentToken4 = await Get.find() - // .generateTokenDriver((pointsSubtraction).toStringAsFixed(0)); - // var res = await CRUD() - // .post(link: AppLink.addDriversWalletPoints, payload: { - // 'paymentID': 'rideId$rideId', - // 'amount': (pointsSubtraction).toStringAsFixed(0), - // 'paymentMethod': 'Remainder', - // 'token': paymentToken4, - // 'driverID': box.read(BoxName.driverID).toString(), - // }); + FirebaseMessagesController().sendNotificationToDriverMAP( 'Wallet Added'.tr, 'Wallet Added${(remainingFee).toStringAsFixed(0)}'.tr, @@ -101,7 +85,7 @@ class RateController extends GetxController { }); } else { Get.defaultDialog( - title: '${'The price must be over than '.tr}$priceOfTrip', + title: '${'The price must be over than '.tr} $priceOfTrip', middleText: '', confirm: MyElevatedButton( title: 'Ok'.tr, diff --git a/lib/controller/themes/themes.dart b/lib/controller/themes/themes.dart index 2ea59fb..7de5aa1 100644 --- a/lib/controller/themes/themes.dart +++ b/lib/controller/themes/themes.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import '../../constant/colors.dart'; diff --git a/lib/main.dart b/lib/main.dart index 2ae85cf..3135c26 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,9 +2,9 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'dart:math'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/payment/paymob/paymob_response.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/order_request_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/payment/paymob/paymob_response.dart'; +import 'package:sefer_driver/views/home/Captin/orderCaptin/order_request_page.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; diff --git a/lib/models/db_sql.dart b/lib/models/db_sql.dart index 620c9ba..b650b2f 100644 --- a/lib/models/db_sql.dart +++ b/lib/models/db_sql.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/constant/table_names.dart'; +import 'package:sefer_driver/constant/table_names.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; diff --git a/lib/splash_screen_page.dart b/lib/splash_screen_page.dart index 0bf8e5a..67953b3 100644 --- a/lib/splash_screen_page.dart +++ b/lib/splash_screen_page.dart @@ -1,10 +1,10 @@ -import 'package:SEFER/constant/box_name.dart'; +import 'package:sefer_driver/constant/box_name.dart'; import 'package:animated_text_kit/animated_text_kit.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/style.dart'; import 'controller/home/splash_screen_controlle.dart'; import 'main.dart'; diff --git a/lib/views/Rate/rate_app_page.dart b/lib/views/Rate/rate_app_page.dart index 5ab1402..660017a 100644 --- a/lib/views/Rate/rate_app_page.dart +++ b/lib/views/Rate/rate_app_page.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../controller/rate/rate_app_controller.dart'; diff --git a/lib/views/Rate/rate_passenger.dart b/lib/views/Rate/rate_passenger.dart index e83141a..f397746 100644 --- a/lib/views/Rate/rate_passenger.dart +++ b/lib/views/Rate/rate_passenger.dart @@ -1,12 +1,12 @@ -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_rating_bar/flutter_rating_bar.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../constant/style.dart'; import '../../controller/rate/rate_conroller.dart'; @@ -51,10 +51,10 @@ class RatePassenger extends StatelessWidget { child: Padding( padding: const EdgeInsets.all(4), child: Text( - (double.parse(controller.price.toString()) * - .12 + - double.parse( - controller.price.toString())) + (double.parse(controller.price.toString()) - + double.parse(controller.price + .toString()) * + .12) .toStringAsFixed(2), style: AppStyle.number.copyWith( color: AppColor.redColor, diff --git a/lib/views/Rate/ride_calculate_driver.dart b/lib/views/Rate/ride_calculate_driver.dart index b7af184..2986eca 100644 --- a/lib/views/Rate/ride_calculate_driver.dart +++ b/lib/views/Rate/ride_calculate_driver.dart @@ -1,11 +1,11 @@ import 'package:fl_chart/fl_chart.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:intl/intl.dart'; import '../../controller/home/captin/duration_controller .dart'; diff --git a/lib/views/auth/captin/ai_page.dart b/lib/views/auth/captin/ai_page.dart index a1226fb..671adf9 100644 --- a/lib/views/auth/captin/ai_page.dart +++ b/lib/views/auth/captin/ai_page.dart @@ -1,15 +1,15 @@ -import 'package:SEFER/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/constant/table_names.dart'; -import 'package:SEFER/controller/auth/captin/register_captin_controller.dart'; -import 'package:SEFER/controller/functions/ocr_controller.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/constant/table_names.dart'; +import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart'; +import 'package:sefer_driver/controller/functions/ocr_controller.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../constant/links.dart'; import '../../../controller/functions/gemeni.dart'; diff --git a/lib/views/auth/captin/camera_widgets/camera_lisence_page.dart b/lib/views/auth/captin/camera_widgets/camera_lisence_page.dart index 7f3009c..ca0d3c8 100644 --- a/lib/views/auth/captin/camera_widgets/camera_lisence_page.dart +++ b/lib/views/auth/captin/camera_widgets/camera_lisence_page.dart @@ -1,7 +1,7 @@ import 'package:camera/camera.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../../../constant/colors.dart'; import '../../../../constant/style.dart'; diff --git a/lib/views/auth/captin/car_license_page.dart b/lib/views/auth/captin/car_license_page.dart index d086832..269d221 100644 --- a/lib/views/auth/captin/car_license_page.dart +++ b/lib/views/auth/captin/car_license_page.dart @@ -2,7 +2,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/functions/ocr_controller.dart'; +import 'package:sefer_driver/controller/functions/ocr_controller.dart'; import '../../../constant/style.dart'; import '../../../controller/auth/captin/ml_google_doc.dart'; diff --git a/lib/views/auth/captin/cards/egypt_card_a_i.dart b/lib/views/auth/captin/cards/egypt_card_a_i.dart index eab7645..51915b0 100644 --- a/lib/views/auth/captin/cards/egypt_card_a_i.dart +++ b/lib/views/auth/captin/cards/egypt_card_a_i.dart @@ -1,8 +1,10 @@ -import 'package:SEFER/controller/functions/gemeni.dart'; -import 'package:SEFER/controller/functions/tts.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_circular_indicator_timer.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/functions/gemeni.dart'; +import 'package:sefer_driver/controller/functions/tts.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_circular_indicator_timer.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -10,6 +12,7 @@ import '../../../../constant/colors.dart'; import '../../../../constant/links.dart'; import '../../../../constant/style.dart'; import '../../../../controller/functions/package_info.dart'; +import '../../../../main.dart'; import '../../../widgets/my_scafold.dart'; class EgyptCardAI extends StatelessWidget { @@ -36,6 +39,11 @@ class EgyptCardAI extends StatelessWidget { }), body: [ GetBuilder(builder: (controller) { + if (box.read(BoxName.isInstall) != null || + box.read(BoxName.isInstall).toString() != '') { + controller.updateInvitationCodeFromRegister(); + } + return controller.isLoading ? MyCircularProgressIndicatorWithTimer( isLoading: controller.isLoading, @@ -117,153 +125,134 @@ class EgyptCardAI extends StatelessWidget { right: 30, left: 30, child: GetBuilder(builder: (controller) { - return controller.isInviteDriverFound == false - ? Padding( - padding: const EdgeInsets.symmetric(vertical: 60), - child: Container( - decoration: AppStyle.boxDecoration1, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - "Do you have an invitation code from another driver?" - .tr, - style: AppStyle.title, - textAlign: TextAlign.center, - ), - const SizedBox( - height: 30, - ), - Form( - key: controller.formKey, - child: MyTextForm( - controller: - controller.invitationCodeController, - label: "Paste the code here".tr, - hint: "Paste the code here".tr, - type: TextInputType.name, + return controller.approved == false + ? Container( + decoration: AppStyle.boxDecoration1, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Text( + 'Approve Driver Documents'.tr, + style: AppStyle.title, + ), + const SizedBox(height: 8), + Text( + 'To become a ride-sharing driver on the Sefer app, you need to upload your driver\'s license, ID document, and car registration document. Our AI system will instantly review and verify their authenticity in just 2-3 minutes. If your documents are approved, you can start working as a driver on the Sefer app. Please note, submitting fraudulent documents is a serious offense and may result in immediate termination and legal consequences.' + .tr, + style: AppStyle.title, + textAlign: TextAlign.center, + ), + const SizedBox(height: 8), + Container( + decoration: AppStyle.boxDecoration1, + child: TextButton.icon( + onPressed: () async { + controller.startTimer(); + await textToSpeechController.speakText( + 'To become a ride-sharing driver on the Sefer app, you need to upload your driver\'s license, ID document, and car registration document. Our AI system will instantly review and verify their authenticity in just 2-3 minutes. If your documents are approved, you can start working as a driver on the Sefer app. Please note, submitting fraudulent documents is a serious offense and may result in immediate termination and legal consequences.' + .tr); + }, + icon: const Icon( + Icons.headphones, + size: 50, + ), + label: Text( + 'Press to hear'.tr, + style: AppStyle.title, ), ), - const SizedBox( - height: 30, - ), - MyElevatedButton( - title: 'Ok'.tr, - onPressed: () async { - controller - .updateInvitationCodeFromRegister(); - }), - MyElevatedButton( - kolor: AppColor.yellowColor, - title: "No, I don't have a code".tr, - onPressed: () { - controller.isInviteDriverFound = true; - controller.update(); - }) - ], - ), + ), + const SizedBox(height: 8), + // textToSpeechController.isComplete + // ? Row( + // mainAxisAlignment: + // MainAxisAlignment.spaceAround, + // children: [ + // MyElevatedButton( + // title: 'OK'.tr, + // kolor: AppColor.greenColor, + // onPressed: () { + // controller.setApproved(); + // }), + // MyElevatedButton( + // title: 'cancel'.tr, + // kolor: AppColor.redColor, + // onPressed: () { + // Get.defaultDialog( + // title: + // 'You will cancel registeration' + // .tr, + // middleText: '', + // content: IconButton( + // onPressed: () async { + // await textToSpeechController + // .speakText( + // 'You will cancel registeration' + // .tr); + // }, + // icon: const Icon( + // Icons.headphones), + // ), + // confirm: MyElevatedButton( + // title: 'OK'.tr, + // kolor: AppColor.redColor, + // onPressed: () { + // Get.back(); + // Get.back(); + // }), + // cancel: MyElevatedButton( + // title: 'Cancel'.tr, + // kolor: AppColor.greenColor, + // onPressed: () { + // Get.back(); + // })); + // }), + // ], + // ) + // : const SizedBox() + controller.isTimerComplete + ? Row( + mainAxisAlignment: + MainAxisAlignment.spaceAround, + children: [ + MyElevatedButton( + title: 'Ok'.tr, + kolor: AppColor.greenColor, + onPressed: () { + controller.setApproved(); + }), + MyElevatedButton( + title: 'Cancel'.tr, + kolor: AppColor.redColor, + onPressed: () { + MyDialog().getDialog( + 'You will cancel registration' + .tr, + '', () async { + Get.back(); + Get.back(); + }); + }), + ], + ) + : Column( + children: [ + CircularProgressIndicator( + value: controller.progressValue, + ), + Text( + '${'Remaining time'.tr}: ${controller.remainingSeconds} ${"seconds".tr}', + ), + ], + ), + ], ), ), ) - : controller.approved == false - ? Container( - decoration: AppStyle.boxDecoration1, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - 'Approve Driver Documents'.tr, - style: AppStyle.title, - ), - const SizedBox(height: 8), - Text( - 'To become a ride-sharing driver on the Sefer app, you need to upload your driver\'s license, ID document, and car registration document. Our AI system will instantly review and verify their authenticity in just 2-3 minutes. If your documents are approved, you can start working as a driver on the Sefer app. Please note, submitting fraudulent documents is a serious offense and may result in immediate termination and legal consequences.' - .tr, - style: AppStyle.title, - textAlign: TextAlign.center, - ), - const SizedBox(height: 8), - Container( - decoration: AppStyle.boxDecoration1, - child: TextButton.icon( - onPressed: () async { - await textToSpeechController.speakText( - 'To become a ride-sharing driver on the Sefer app, you need to upload your driver\'s license, ID document, and car registration document. Our AI system will instantly review and verify their authenticity in just 2-3 minutes. If your documents are approved, you can start working as a driver on the Sefer app. Please note, submitting fraudulent documents is a serious offense and may result in immediate termination and legal consequences.' - .tr); - }, - icon: const Icon( - Icons.headphones, - size: 50, - ), - label: Text( - 'Press to hear'.tr, - style: AppStyle.title, - ), - ), - ), - const SizedBox(height: 8), - GetBuilder( - builder: (textToSpeechController) { - return textToSpeechController.isComplete - ? Row( - mainAxisAlignment: - MainAxisAlignment.spaceAround, - children: [ - MyElevatedButton( - title: 'OK'.tr, - kolor: AppColor.greenColor, - onPressed: () { - controller.setApproved(); - }), - MyElevatedButton( - title: 'cancel'.tr, - kolor: AppColor.redColor, - onPressed: () { - Get.defaultDialog( - title: - 'You will cancel registeration' - .tr, - middleText: '', - content: IconButton( - onPressed: () async { - await textToSpeechController - .speakText( - 'You will cancel registeration' - .tr); - }, - icon: const Icon( - Icons.headphones), - ), - confirm: MyElevatedButton( - title: 'OK'.tr, - kolor: - AppColor.redColor, - onPressed: () { - Get.back(); - Get.back(); - }), - cancel: MyElevatedButton( - title: 'Cancel'.tr, - kolor: AppColor - .greenColor, - onPressed: () { - Get.back(); - })); - }), - ], - ) - : const SizedBox(); - }) - ], - ), - ), - ) - : const SizedBox(); + : const SizedBox(); }), ) ], diff --git a/lib/views/auth/captin/cards/sms_signup.dart b/lib/views/auth/captin/cards/sms_signup.dart index c7a8533..9337760 100644 --- a/lib/views/auth/captin/cards/sms_signup.dart +++ b/lib/views/auth/captin/cards/sms_signup.dart @@ -1,10 +1,10 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/auth/captin/register_captin_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/auth/captin/contact_us_page.dart b/lib/views/auth/captin/contact_us_page.dart index 8b0a738..f3e6ddf 100644 --- a/lib/views/auth/captin/contact_us_page.dart +++ b/lib/views/auth/captin/contact_us_page.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; diff --git a/lib/views/auth/captin/criminal_documents_page.dart b/lib/views/auth/captin/criminal_documents_page.dart index 113f206..773b4ce 100644 --- a/lib/views/auth/captin/criminal_documents_page.dart +++ b/lib/views/auth/captin/criminal_documents_page.dart @@ -1,7 +1,7 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -77,7 +77,7 @@ class CriminalDocumemtPage extends StatelessWidget { ], ); } else { - await controller.addCriminalDeocuments(); + await controller.addCriminalDocuments(); } }) : const SizedBox(), diff --git a/lib/views/auth/captin/driver_car_controller.dart b/lib/views/auth/captin/driver_car_controller.dart index 47f72f3..43dd962 100644 --- a/lib/views/auth/captin/driver_car_controller.dart +++ b/lib/views/auth/captin/driver_car_controller.dart @@ -1,17 +1,17 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:get/get.dart'; class DriverCarController extends GetxController { bool isLoading = false; List cars = []; - int? carId; + // int? carId; fetchCatrsForDrivers() async { isLoading = true; update(); @@ -21,7 +21,7 @@ class DriverCarController extends GetxController { if (res != 'failure') { var d = jsonDecode(res)['message']; cars = d; - carId = cars.isEmpty ? 1 : cars.length + 1; + // carId = cars.isEmpty ? 1 : cars.length + 1; } isLoading = false; update(); @@ -29,35 +29,35 @@ class DriverCarController extends GetxController { addCarsForDrivers( String vin, - String car_plate, + String carPlate, String make, String model, String year, - String expiration_date, + String expirationDate, String color, - String color_hex, + String colorHex, String address, String owner, - String registration_date, + String registrationDate, String displacement, String fuel) async { var res = await CRUD().post( - link: AppLink.addNewCarsDrivers, + link: AppLink.addRegisrationCar, payload: { "driverID": box.read(BoxName.driverID).toString(), - "vin": vin, - "car_plate": car_plate, - "make": make, - "model": model, - "year": year, - "expiration_date": expiration_date, - "color": color, - "owner": owner, - "color_hex": color_hex, - "address": address, - "displacement": displacement, - "fuel": fuel, - "registration_date": registration_date, + "vin": vin ?? 'unknown', + "car_plate": carPlate.toString(), + "make": make ?? 'unknown', + "model": model ?? 'unknown', + "year": year ?? 'unknown', + "expiration_date": expirationDate ?? 'unknown', + "color": color ?? 'unknown', + "owner": owner ?? 'unknown', + "color_hex": colorHex ?? '#000000', + "address": address ?? 'unknown', + "displacement": displacement ?? 'unknown', + "fuel": fuel ?? 'unknown', + "registration_date": registrationDate ?? 'unknown', }, ); if (res != 'failure') { @@ -69,7 +69,39 @@ class DriverCarController extends GetxController { } } - removeCar(String car) async {} +// update carRegistration only and insert on it without tow column + Future updateCarRegistration(String id, String driverID) async { + final body = { + 'id': id, + 'driverID': driverID, + }; +// remove default before update + var response = await CRUD().post( + link: AppLink.makeDefaultCar, + payload: body, + ); + + if (response != 'failure') { + mySnackbarSuccess('Updated'.tr); + } else { + mySnackeBarError('Not updated'.tr); + } + } + +//todo need review + removeCar(String carId) async { + isLoading = true; + update(); + var res = await CRUD().post(link: AppLink.deleteNewCarsDrivers, payload: { + "id": carId.toString(), + }); + if (res != 'failure') { + mySnackbarSuccess('deleted'.tr); + } + isLoading = false; + update(); + } + @override void onInit() { fetchCatrsForDrivers(); diff --git a/lib/views/auth/captin/invite_driver_screen.dart b/lib/views/auth/captin/invite_driver_screen.dart index 76c61ed..2c689de 100644 --- a/lib/views/auth/captin/invite_driver_screen.dart +++ b/lib/views/auth/captin/invite_driver_screen.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/main.dart'; import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; diff --git a/lib/views/auth/captin/login_captin.dart b/lib/views/auth/captin/login_captin.dart index f702baa..fbf08a8 100644 --- a/lib/views/auth/captin/login_captin.dart +++ b/lib/views/auth/captin/login_captin.dart @@ -1,6 +1,6 @@ import 'dart:io'; -import 'package:SEFER/views/auth/captin/contact_us_page.dart'; +import 'package:sefer_driver/views/auth/captin/contact_us_page.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; @@ -197,7 +197,7 @@ class LoginCaptin extends StatelessWidget { .currentState! .validate()) { await Get.find() - .loginUsingCredentials( + .loginWithGoogleCredential( controller .passwordController .text, @@ -329,7 +329,7 @@ class LoginCaptin extends StatelessWidget { box.write(BoxName.emailDriver, user.email); Get.find() - .loginUsingCredentials( + .loginWithGoogleCredential( box .read(BoxName.driverID) .toString(), diff --git a/lib/views/auth/captin/logout_captain.dart b/lib/views/auth/captin/logout_captain.dart index b4e51dd..59ac1ad 100644 --- a/lib/views/auth/captin/logout_captain.dart +++ b/lib/views/auth/captin/logout_captain.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/controller/functions/log_out.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/controller/functions/log_out.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; class LogoutCaptain extends StatelessWidget { const LogoutCaptain({super.key}); diff --git a/lib/views/auth/captin/register_captin.dart b/lib/views/auth/captin/register_captin.dart index 8aada66..6edb57b 100644 --- a/lib/views/auth/captin/register_captin.dart +++ b/lib/views/auth/captin/register_captin.dart @@ -1,9 +1,9 @@ -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/auth/captin/register_captin_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../../constant/colors.dart'; import '../../../controller/auth/google_sign.dart'; diff --git a/lib/views/auth/captin/verify_email_captain.dart b/lib/views/auth/captin/verify_email_captain.dart index 77a97df..f1dc947 100644 --- a/lib/views/auth/captin/verify_email_captain.dart +++ b/lib/views/auth/captin/verify_email_captain.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/auth/captin/register_captin_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; class VerifyEmailCaptainPage extends StatelessWidget { VerifyEmailCaptainPage({super.key}); diff --git a/lib/views/auth/login_page.dart b/lib/views/auth/login_page.dart index 3626df5..a462079 100644 --- a/lib/views/auth/login_page.dart +++ b/lib/views/auth/login_page.dart @@ -3,13 +3,13 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/captin/login_captin.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/captin/login_captin.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../constant/info.dart'; import '../../controller/auth/login_controller.dart'; diff --git a/lib/views/auth/register_page.dart b/lib/views/auth/register_page.dart index 17f9fa2..0ddfe0f 100644 --- a/lib/views/auth/register_page.dart +++ b/lib/views/auth/register_page.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/auth/register_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/auth/register_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../constant/colors.dart'; diff --git a/lib/views/auth/verify_email_page.dart b/lib/views/auth/verify_email_page.dart index 64cdc19..ba5d25a 100644 --- a/lib/views/auth/verify_email_page.dart +++ b/lib/views/auth/verify_email_page.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/auth/register_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/auth/register_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; class VerifyEmailPage extends StatelessWidget { const VerifyEmailPage({super.key}); diff --git a/lib/views/home/Captin/About Us/about_us.dart b/lib/views/home/Captin/About Us/about_us.dart index 99347f8..52a8f2e 100644 --- a/lib/views/home/Captin/About Us/about_us.dart +++ b/lib/views/home/Captin/About Us/about_us.dart @@ -1,7 +1,7 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/About Us/frequantly_question.dart b/lib/views/home/Captin/About Us/frequantly_question.dart index 967d892..385281c 100644 --- a/lib/views/home/Captin/About Us/frequantly_question.dart +++ b/lib/views/home/Captin/About Us/frequantly_question.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/About Us/settings_captain.dart b/lib/views/home/Captin/About Us/settings_captain.dart index 8cacab3..03f08f4 100644 --- a/lib/views/home/Captin/About Us/settings_captain.dart +++ b/lib/views/home/Captin/About Us/settings_captain.dart @@ -1,12 +1,12 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/controller/profile/setting_controller.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/controller/profile/setting_controller.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/lang/languages.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/lang/languages.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../../../controller/functions/vibrate.dart'; import '../../../auth/country_widget.dart'; diff --git a/lib/views/home/Captin/About Us/using_app_page.dart b/lib/views/home/Captin/About Us/using_app_page.dart index 8c00aa4..a32d021 100644 --- a/lib/views/home/Captin/About Us/using_app_page.dart +++ b/lib/views/home/Captin/About Us/using_app_page.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/About Us/video_page.dart b/lib/views/home/Captin/About Us/video_page.dart index 69eb52c..62b1c7c 100644 --- a/lib/views/home/Captin/About Us/video_page.dart +++ b/lib/views/home/Captin/About Us/video_page.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/constant/info.dart'; +import 'package:sefer_driver/constant/info.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:video_player/video_player.dart'; diff --git a/lib/views/home/Captin/assurance_health_page.dart b/lib/views/home/Captin/assurance_health_page.dart index 872a6cd..4d6654a 100644 --- a/lib/views/home/Captin/assurance_health_page.dart +++ b/lib/views/home/Captin/assurance_health_page.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/bottom_bar.dart b/lib/views/home/Captin/bottom_bar.dart index c08f3b0..266dcf8 100644 --- a/lib/views/home/Captin/bottom_bar.dart +++ b/lib/views/home/Captin/bottom_bar.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; +import 'package:sefer_driver/constant/colors.dart'; class BottomBarController extends GetxController { var currentIndex = 0.obs; diff --git a/lib/views/home/Captin/camer_widget.dart b/lib/views/home/Captin/camer_widget.dart index ed23ed0..1438dce 100644 --- a/lib/views/home/Captin/camer_widget.dart +++ b/lib/views/home/Captin/camer_widget.dart @@ -1,11 +1,11 @@ import 'package:camera/camera.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/camer_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/camer_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; class CameraWidgetCardId extends StatelessWidget { final CameraClassController cameraClassController = diff --git a/lib/views/home/Captin/driver_map_page.dart b/lib/views/home/Captin/driver_map_page.dart index ccf7d33..b354fac 100644 --- a/lib/views/home/Captin/driver_map_page.dart +++ b/lib/views/home/Captin/driver_map_page.dart @@ -1,9 +1,9 @@ -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../../constant/colors.dart'; import '../../../controller/functions/location_controller.dart'; diff --git a/lib/views/home/Captin/history/history_captain.dart b/lib/views/home/Captin/history/history_captain.dart index a426b87..4a67023 100644 --- a/lib/views/home/Captin/history/history_captain.dart +++ b/lib/views/home/Captin/history/history_captain.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/history/history_details_page.dart b/lib/views/home/Captin/history/history_details_page.dart index 38e1ace..8b31d42 100644 --- a/lib/views/home/Captin/history/history_details_page.dart +++ b/lib/views/home/Captin/history/history_details_page.dart @@ -1,8 +1,8 @@ -import 'package:SEFER/controller/functions/location_controller.dart'; +import 'package:sefer_driver/controller/functions/location_controller.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/auth/captin/history_captain.dart'; -import 'package:SEFER/controller/functions/launch.dart'; +import 'package:sefer_driver/controller/auth/captin/history_captain.dart'; +import 'package:sefer_driver/controller/functions/launch.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:flutter/cupertino.dart'; diff --git a/lib/views/home/Captin/home_captain/drawer_captain.dart b/lib/views/home/Captin/home_captain/drawer_captain.dart index 90cde19..f65f8d5 100644 --- a/lib/views/home/Captin/home_captain/drawer_captain.dart +++ b/lib/views/home/Captin/home_captain/drawer_captain.dart @@ -1,22 +1,22 @@ -import 'package:SEFER/constant/api_key.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; -import 'package:SEFER/views/Rate/rate_app_page.dart'; -import 'package:SEFER/views/auth/captin/contact_us_page.dart'; -import 'package:SEFER/views/auth/captin/invite_driver_screen.dart'; -import 'package:SEFER/views/notification/available_rides_page.dart'; +import 'package:sefer_driver/constant/api_key.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/views/Rate/rate_app_page.dart'; +import 'package:sefer_driver/views/auth/captin/contact_us_page.dart'; +import 'package:sefer_driver/views/auth/captin/invite_driver_screen.dart'; +import 'package:sefer_driver/views/notification/available_rides_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_rating_bar/flutter_rating_bar.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/auth/captin/logout_captain.dart'; -import 'package:SEFER/views/home/Captin/history/history_captain.dart'; -import 'package:SEFER/views/home/Captin/home_captain/help_captain.dart'; -import 'package:SEFER/views/home/Captin/About%20Us/settings_captain.dart'; -import 'package:SEFER/views/home/my_wallet/walet_captain.dart'; -import 'package:SEFER/views/home/profile/profile_captain.dart'; -import 'package:SEFER/views/notification/notification_captain.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/captin/logout_captain.dart'; +import 'package:sefer_driver/views/home/Captin/history/history_captain.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/help_captain.dart'; +import 'package:sefer_driver/views/home/Captin/About%20Us/settings_captain.dart'; +import 'package:sefer_driver/views/home/my_wallet/walet_captain.dart'; +import 'package:sefer_driver/views/home/profile/profile_captain.dart'; +import 'package:sefer_driver/views/notification/notification_captain.dart'; import '../../../../constant/colors.dart'; import '../../../../controller/functions/upload_image.dart'; @@ -218,7 +218,7 @@ class UserAccountHeader extends StatelessWidget { ), const SizedBox(height: 10), Text( - box.read(BoxName.nameDriver).toString(), + '${box.read(BoxName.nameDriver).toString().split(' ')[0]} ${box.read(BoxName.nameDriver).toString().split(' ')[1]}', style: const TextStyle( color: CupertinoColors.white, fontSize: 18, diff --git a/lib/views/home/Captin/home_captain/help_captain.dart b/lib/views/home/Captin/home_captain/help_captain.dart index 3d7181e..34c8539 100644 --- a/lib/views/home/Captin/home_captain/help_captain.dart +++ b/lib/views/home/Captin/home_captain/help_captain.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/captin/help/help_controller.dart'; -import 'package:SEFER/views/home/Captin/home_captain/help_details_replay_page.dart'; +import 'package:sefer_driver/controller/home/captin/help/help_controller.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/help_details_replay_page.dart'; import 'package:flutter/cupertino.dart'; diff --git a/lib/views/home/Captin/home_captain/help_details_replay_page.dart b/lib/views/home/Captin/home_captain/help_details_replay_page.dart index 4b31dd4..fc655b6 100644 --- a/lib/views/home/Captin/home_captain/help_details_replay_page.dart +++ b/lib/views/home/Captin/home_captain/help_details_replay_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../../controller/home/captin/help/help_controller.dart'; import '../../../widgets/my_scafold.dart'; diff --git a/lib/views/home/Captin/home_captain/home_captin.dart b/lib/views/home/Captin/home_captain/home_captin.dart index bab8260..3956932 100644 --- a/lib/views/home/Captin/home_captain/home_captin.dart +++ b/lib/views/home/Captin/home_captain/home_captin.dart @@ -1,15 +1,15 @@ import 'dart:io'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/views/notification/available_rides_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/views/notification/available_rides_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; -import 'package:SEFER/views/home/Captin/home_captain/drawer_captain.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/drawer_captain.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:bubble_head/bubble.dart'; import '../../../../constant/colors.dart'; @@ -100,93 +100,98 @@ class HomeCaptain extends StatelessWidget { // liteModeEnabled: true, ); }), + Positioned( bottom: 10, right: Get.width * .1, left: Get.width * .1, child: const ConnectWidget()), Positioned( - top: 5, - right: Get.width * .05, - left: Get.width * .05, - child: Container( - decoration: AppStyle.boxDecoration, - width: Get.width * .8, - height: 104, - child: Center( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, + top: 5, + right: Get.width * .05, + left: Get.width * .05, + child: GetBuilder( + builder: (homeCaptainController) { + return Container( + decoration: AppStyle.boxDecoration, + width: Get.width * .8, + height: 104, + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - const Icon( - Entypo.wallet, - color: AppColor.greenColor, - ), - Text( - ' You Earn today is '.tr + - homeCaptainController.totalMoneyToday, - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Icon( - Entypo.wallet, - color: AppColor.yellowColor, - ), - Text( - '${' You Have in'.tr} ${AppInformation.appName} ${homeCaptainController.totalMoneyInSEFER} ', - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - 'Total Budget is '.tr + - Get.find().totalPoints, - style: AppStyle.title, - ), - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(6), - color: int.parse(Get.find() - .countRideToday) < - 5 - ? AppColor.accentColor - : int.parse(Get.find() - .countRideToday) > - 5 && - int.parse(Get.find< - HomeCaptainController>() - .countRideToday) < - 10 - ? AppColor.yellowColor - : AppColor.greenColor, - ), - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8, vertical: 2), - child: Text( - 'Ride Today : '.tr + - Get.find() - .countRideToday, - style: AppStyle.title - .copyWith(color: AppColor.secondaryColor), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon( + Entypo.wallet, + color: AppColor.greenColor, ), - ), + Text( + ' You Earn today is '.tr + + homeCaptainController.totalMoneyToday, + style: AppStyle.title, + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon( + Entypo.wallet, + color: AppColor.yellowColor, + ), + Text( + '${' You Have in'.tr} ${AppInformation.appName} ${homeCaptainController.totalMoneyInSEFER} ', + style: AppStyle.title, + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Text( + 'Total Budget is '.tr + + homeCaptainController.totalPoints, + style: AppStyle.title, + ), + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(6), + color: int.parse( + Get.find() + .countRideToday) < + 5 + ? AppColor.accentColor + : int.parse(Get.find< + HomeCaptainController>() + .countRideToday) > + 5 && + int.parse(Get.find< + HomeCaptainController>() + .countRideToday) < + 10 + ? AppColor.yellowColor + : AppColor.greenColor, + ), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8, vertical: 2), + child: Text( + 'Ride Today : '.tr + + Get.find() + .countRideToday, + style: AppStyle.title + .copyWith(color: AppColor.secondaryColor), + ), + ), + ), + ], ), ], - ), - ], - ))), - ), + ))); + })), Positioned( bottom: 65, right: Get.width * .1, diff --git a/lib/views/home/Captin/home_captain/widget/connect.dart b/lib/views/home/Captin/home_captain/widget/connect.dart index efaf37e..7dbdf07 100644 --- a/lib/views/home/Captin/home_captain/widget/connect.dart +++ b/lib/views/home/Captin/home_captain/widget/connect.dart @@ -1,8 +1,8 @@ -import 'package:SEFER/controller/functions/tts.dart'; +import 'package:sefer_driver/controller/functions/tts.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; import '../../../../../constant/style.dart'; import '../../../../widgets/elevated_btn.dart'; diff --git a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart index 20fbfa2..3763bd2 100644 --- a/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart +++ b/lib/views/home/Captin/home_captain/widget/left_menu_map_captain.dart @@ -1,20 +1,18 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/firebase/local_notification.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/order_request_page.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/order_speed_request.dart'; -import 'package:SEFER/views/home/Captin/orderCaptin/vip_order_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/firebase/local_notification.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/auth/captin/cards/egypt_card_a_i.dart'; +import 'package:sefer_driver/views/home/Captin/orderCaptin/vip_order_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import '../../../../../constant/colors.dart'; -import '../../../../../controller/home/payment/captain_wallet_controller.dart'; -import '../../../../../print.dart'; import '../../../../Rate/ride_calculate_driver.dart'; import '../../../../../controller/functions/location_controller.dart'; +import '../../../../widgets/mydialoug.dart'; GetBuilder leftMainMenuCaptainIcons() { return GetBuilder( @@ -139,8 +137,8 @@ GetBuilder leftMainMenuCaptainIcons() { borderRadius: BorderRadius.circular(15)), child: IconButton( onPressed: () { - NotificationController1() - .showNotification('Sefer Driver'.tr, ''.tr, '', ''); + // NotificationController1() + // .showNotification('Sefer Driver'.tr, ''.tr, '', ''); final now = DateTime.now(); DateTime? lastRequestTime = box.read(BoxName.lastTimeStaticThrottle); @@ -191,7 +189,7 @@ GetBuilder leftMainMenuCaptainIcons() { return IconButton( onPressed: () async { // mySnakeBarError('ad'); - Get.to(() => VipOrderPage()); + Get.to(() => const VipOrderPage()); }, icon: const Icon( Octicons.watch, @@ -213,84 +211,7 @@ GetBuilder leftMainMenuCaptainIcons() { // child: Builder(builder: (context) { // return IconButton( // onPressed: () async { - // NotificationController() - // .showTimerNotification('title', 'message', 'tone1'); - // // Get.to(() => OrderRequestPage(), arguments: { - // // 'myListString': [ - // // "30.1068014,31.244621", - // // "30.0664345,31.2857709", - // // "68.56", - // // "25.92", - // // "1445", - // // "11.29", - // // "114243034311436865474", - // // "114243034311436865474", - // // "sefer app", - // // "cAVvCAywQvm6LUAqF2E3sU:APA91bHusGWWBwlaKQ6A4idNTVzvakCxtFxPPrHwVR2ycMZK5IP27Tf-RDnUypure0NVGxdFf6npAV7bi4_KWZP-UKJ0Pz3lUogWWbtzO9bIPJgBP3SPCvA", - // // "+201023248456", - // // "0", - // // "0", - // // "true", - // // "fbeWrFqeQMqorzVU9-2mIa:APA91bHWIcbxzsk3C-w7fiAZ0NRRpPuAmRgNjduS2oQ5lZ7jFEMhA7gfWQLyRWfnhcjmUA9GByyzoLxcfvb7VhcL9zSgo15hVG4DMyJ_k5di1I3oii5Pe9w", - // // "0", - // // "1087", - // // "false", - // // "114243034311436865474", - // // "1445", - // // "startEnd", - // // "30.08517654446625,31.27303797751665", - // // "", - // // "", - // // "", - // // "", - // // "13.98", - // // "0", - // // "sefertraveling@gmail.com", - // // "5 مصر اسكندريه، شبرا الخيمة، قسم أول شبرا الخيمة، محافظة القليوبية 6210011، مصر", - // // "12 مدرسة العباسية الميكانيكية، السرايات، الوايلى، محافظة القاهرة‬ 4391080، مصر", - // // "Speed", - // // "8", - // // "5.00" - // // ], - // // 'DriverList': [ - // // "30.1068014,31.244621", - // // "30.0664345,31.2857709", - // // "68.56", - // // "25.92", - // // "1445", - // // "11.29", - // // "114243034311436865474", - // // "114243034311436865474", - // // "sefer app", - // // "cAVvCAywQvm6LUAqF2E3sU:APA91bHusGWWBwlaKQ6A4idNTVzvakCxtFxPPrHwVR2ycMZK5IP27Tf-RDnUypure0NVGxdFf6npAV7bi4_KWZP-UKJ0Pz3lUogWWbtzO9bIPJgBP3SPCvA", - // // "+201023248456", - // // "0", - // // "0", - // // "true", - // // "fbeWrFqeQMqorzVU9-2mIa:APA91bHWIcbxzsk3C-w7fiAZ0NRRpPuAmRgNjduS2oQ5lZ7jFEMhA7gfWQLyRWfnhcjmUA9GByyzoLxcfvb7VhcL9zSgo15hVG4DMyJ_k5di1I3oii5Pe9w", - // // "0", - // // "1087", - // // "false", - // // "114243034311436865474", - // // "1445", - // // "startEnd", - // // "30.08517654446625,31.27303797751665", - // // "", - // // "", - // // "", - // // "", - // // "13.98", - // // "0", - // // "sefertraveling@gmail.com", - // // "5 مصر اسكندريه، شبرا الخيمة، قسم أول شبرا الخيمة، محافظة القليوبية 6210011، مصر", - // // "12 مدرسة العباسية الميكانيكية، السرايات، الوايلى، محافظة القاهرة‬ 4391080، مصر", - // // "Speed", - // // "8", - // // "5.00" - // // ], - // // // 'PolylineJson': myPoints, - // // // 'body': message.notification!.body - // // }); + // Get.to(EgyptCardAI()); // }, // icon: const Icon( // FontAwesome5.grin_tears, diff --git a/lib/views/home/Captin/maintain_center_page.dart b/lib/views/home/Captin/maintain_center_page.dart index c334ff1..30360f0 100644 --- a/lib/views/home/Captin/maintain_center_page.dart +++ b/lib/views/home/Captin/maintain_center_page.dart @@ -1,8 +1,8 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/home/captin/help/maintain_center_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/home/captin/help/maintain_center_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/mapDriverWidgets/google_map_app.dart b/lib/views/home/Captin/mapDriverWidgets/google_map_app.dart index 67f3622..18d46a1 100644 --- a/lib/views/home/Captin/mapDriverWidgets/google_map_app.dart +++ b/lib/views/home/Captin/mapDriverWidgets/google_map_app.dart @@ -1,6 +1,6 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart index 4a4cfe2..df3dd4d 100644 --- a/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart +++ b/lib/views/home/Captin/mapDriverWidgets/passenger_info_window.dart @@ -1,17 +1,17 @@ import 'dart:io'; -import 'package:SEFER/views/widgets/my_textField.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:bubble_head/bubble.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; -import 'package:SEFER/controller/home/captin/map_driver_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../../../constant/style.dart'; import '../../../../controller/functions/launch.dart'; diff --git a/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart b/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart index 6c78ba6..b50291f 100644 --- a/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart +++ b/lib/views/home/Captin/mapDriverWidgets/sos_connect.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/controller/functions/location_controller.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/controller/functions/location_controller.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; import '../../../../constant/box_name.dart'; import '../../../../constant/colors.dart'; diff --git a/lib/views/home/Captin/orderCaptin/order_over_lay.dart b/lib/views/home/Captin/orderCaptin/order_over_lay.dart index 63ef132..8a1a55a 100644 --- a/lib/views/home/Captin/orderCaptin/order_over_lay.dart +++ b/lib/views/home/Captin/orderCaptin/order_over_lay.dart @@ -1,5 +1,5 @@ import 'dart:async'; -import 'package:SEFER/constant/colors.dart'; +import 'package:sefer_driver/constant/colors.dart'; import 'package:flutter/material.dart'; import 'package:flutter_overlay_window/flutter_overlay_window.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/orderCaptin/order_request_page.dart b/lib/views/home/Captin/orderCaptin/order_request_page.dart index dc09ad4..15898ca 100644 --- a/lib/views/home/Captin/orderCaptin/order_request_page.dart +++ b/lib/views/home/Captin/orderCaptin/order_request_page.dart @@ -1,13 +1,13 @@ import 'dart:convert'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/driver_map_page.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/home/Captin/driver_map_page.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'dart:math' as math; import '../../../../constant/colors.dart'; @@ -44,10 +44,33 @@ class _OrderRequestPageState extends State { var cords = myList[0].split(','); var cordDestination = myList[1].split(','); - double latPassengerLocation = double.parse(cords[0]); - double lngPassengerLocation = double.parse(cords[1]); - double latPassengerDestination = double.parse(cordDestination[0]); - double lngPassengerDestination = double.parse(cordDestination[1]); + double? parseDouble(String value) { + try { + return double.parse(value); + } catch (e) { + print("Error parsing value: $value"); + return null; // or handle the error appropriately + } + } + + double? latPassengerLocation = parseDouble(cords[0]); + double? lngPassengerLocation = parseDouble(cords[1]); + double? latPassengerDestination = parseDouble(cordDestination[0]); + double? lngPassengerDestination = parseDouble(cordDestination[1]); + + if (latPassengerLocation == null || + lngPassengerLocation == null || + latPassengerDestination == null || + lngPassengerDestination == null) { + // Handle invalid coordinates gracefully + print("Invalid coordinates found."); + return Container(); // or any fallback UI + } + + // double latPassengerLocation = double.parse(cords[0]); + // double lngPassengerLocation = double.parse(cords[1]); + // double latPassengerDestination = double.parse(cordDestination[0]); + // double lngPassengerDestination = double.parse(cordDestination[1]); // Create points for route List pointsDirection = [ @@ -414,25 +437,17 @@ class _OrderRequestPageState extends State { 'order_id': myList[16].toString(), 'status': 'Apply' }); - CRUD().postFromDialogue( - link: - '${AppLink.seferAlexandriaServer}/driver_order/add.php', - payload: { - 'driver_id': myList[6].toString(), - // box.read(BoxName.driverID).toString(), - 'order_id': myList[16].toString(), - 'status': 'Apply' - }); - - CRUD().postFromDialogue( - link: - '${AppLink.seferGizaServer}/driver_order/add.php', - payload: { - 'driver_id': myList[6].toString(), - // box.read(BoxName.driverID).toString(), - 'order_id': myList[16].toString(), - 'status': 'Apply' - }); + if (AppLink.endPoint != AppLink.seferCairoServer) { + CRUD().postFromDialogue( + link: + '${AppLink.endPoint}/rides/driver_order/add.php', + payload: { + 'driver_id': myList[6].toString(), + // box.read(BoxName.driverID).toString(), + 'order_id': myList[16].toString(), + 'status': 'Apply' + }); + } /// var res = await CRUD().post( diff --git a/lib/views/home/Captin/orderCaptin/order_speed_request.dart b/lib/views/home/Captin/orderCaptin/order_speed_request.dart index 3a220eb..d8b0861 100644 --- a/lib/views/home/Captin/orderCaptin/order_speed_request.dart +++ b/lib/views/home/Captin/orderCaptin/order_speed_request.dart @@ -1,13 +1,13 @@ import 'dart:convert'; -import 'package:SEFER/controller/home/captin/home_captain_controller.dart'; +import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/controller/firebase/firbase_messge.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/home/Captin/driver_map_page.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/controller/firebase/firbase_messge.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/home/Captin/driver_map_page.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import '../../../../constant/colors.dart'; import '../../../../constant/links.dart'; diff --git a/lib/views/home/Captin/orderCaptin/test_order_page.dart b/lib/views/home/Captin/orderCaptin/test_order_page.dart new file mode 100644 index 0000000..3157bac --- /dev/null +++ b/lib/views/home/Captin/orderCaptin/test_order_page.dart @@ -0,0 +1,230 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:google_maps_flutter/google_maps_flutter.dart'; +import 'dart:math' as math; + +import '../../../../constant/colors.dart'; +import '../../../../controller/home/captin/home_captain_controller.dart'; + +class OrderRequestPageTest extends StatefulWidget { + const OrderRequestPageTest({super.key}); + + @override + State createState() => _OrderRequestPageTestState(); +} + +class _OrderRequestPageTestState extends State { + late OrderRequestController _orderRequestController; + + @override + void initState() { + super.initState(); + // Initialize the controller and process arguments + _initializeController(); + } + + void _initializeController() { + // Get the controller or create a new one if not exists + _orderRequestController = Get.put(OrderRequestController()); + + // Process arguments passed to the page + final arguments = Get.arguments; + final myListString = arguments['myListString']; + var myList = + arguments['DriverList'] == null || arguments['DriverList'].isEmpty + ? jsonDecode(myListString) + : arguments['DriverList']; + + // Parse coordinates and prepare map data + _orderRequestController.parseCoordinates(myList); + + // Start timer and calculate fuel consumption + _orderRequestController.startTimer( + myList[6].toString(), + myList[16].toString(), + ); + _orderRequestController.calculateConsumptionFuel(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Stack( + children: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 6), + child: Container( + color: const Color.fromARGB(255, 241, 238, 238), + child: ListView( + children: [ + SizedBox( + height: Get.height * .33, + child: Obx(() => GoogleMap( + initialCameraPosition: CameraPosition( + zoom: 12, + target: + Get.find().myLocation, + ), + cameraTargetBounds: CameraTargetBounds( + _orderRequestController.mapBounds.value), + myLocationButtonEnabled: true, + trafficEnabled: false, + buildingsEnabled: false, + mapToolbarEnabled: true, + myLocationEnabled: true, + markers: _orderRequestController.markers.value, + polylines: _orderRequestController.polylines.value, + onMapCreated: (GoogleMapController controller) { + _orderRequestController.mapController.value = + controller; + }, + onCameraMove: (CameraPosition position) { + _orderRequestController + .updateCameraPosition(position); + }, + )), + ), + // Rest of your UI components + ], + ), + ), + ), + ], + ), + ); + } +} + +class OrderRequestController extends GetxController { + // Reactive variables for map-related data + Rx mapBounds = Rx(LatLngBounds( + southwest: const LatLng(0, 0), northeast: const LatLng(0, 0))); + + Rx> markers = Rx>({}); + Rx> polylines = Rx>({}); + + Rx mapController = Rx(null); + + // Icons for start and end markers + late BitmapDescriptor startIcon; + late BitmapDescriptor endIcon; + + // Coordinates for passenger location and destination + Rx passengerLocation = Rx(null); + Rx passengerDestination = Rx(null); + + @override + void onInit() { + super.onInit(); + // Initialize marker icons + _initializeMarkerIcons(); + } + + void _initializeMarkerIcons() async { + // Load custom marker icons + startIcon = await BitmapDescriptor.fromAssetImage( + const ImageConfiguration(size: Size(48, 48)), + 'assets/start_marker.png'); + + endIcon = await BitmapDescriptor.fromAssetImage( + const ImageConfiguration(size: Size(48, 48)), 'assets/end_marker.png'); + } + + void parseCoordinates(List myList) { + // Parse coordinates from the input list + var cords = myList[0].split(','); + var cordDestination = myList[1].split(','); + + double latPassengerLocation = double.parse(cords[0]); + double lngPassengerLocation = double.parse(cords[1]); + double latPassengerDestination = double.parse(cordDestination[0]); + double lngPassengerDestination = double.parse(cordDestination[1]); + + // Update passenger location and destination + passengerLocation.value = + LatLng(latPassengerLocation, lngPassengerLocation); + passengerDestination.value = + LatLng(latPassengerDestination, lngPassengerDestination); + + // Create markers + _createMarkers(); + + // Create polyline + _createPolyline(); + + // Calculate map bounds + _calculateMapBounds(); + } + + void _createMarkers() { + if (passengerLocation.value == null || passengerDestination.value == null) + return; + + markers.value = { + Marker( + markerId: MarkerId('MyLocation'.tr), + position: passengerLocation.value!, + draggable: true, + icon: startIcon, + ), + Marker( + markerId: MarkerId('Destination'.tr), + position: passengerDestination.value!, + draggable: true, + icon: endIcon, + ), + }; + } + + void _createPolyline() { + if (passengerLocation.value == null || passengerDestination.value == null) + return; + + polylines.value = { + Polyline( + zIndex: 1, + consumeTapEvents: true, + geodesic: true, + endCap: Cap.buttCap, + startCap: Cap.buttCap, + visible: true, + polylineId: const PolylineId('routeOrder'), + points: [passengerLocation.value!, passengerDestination.value!], + color: AppColor.primaryColor, + width: 2, + ), + }; + } + + void _calculateMapBounds() { + if (passengerLocation.value == null || passengerDestination.value == null) + return; + + double minLatitude = math.min(passengerLocation.value!.latitude, + passengerDestination.value!.latitude); + double maxLatitude = math.max(passengerLocation.value!.latitude, + passengerDestination.value!.latitude); + double minLongitude = math.min(passengerLocation.value!.longitude, + passengerDestination.value!.longitude); + double maxLongitude = math.max(passengerLocation.value!.longitude, + passengerDestination.value!.longitude); + + mapBounds.value = LatLngBounds( + southwest: LatLng(minLatitude, minLongitude), + northeast: LatLng(maxLatitude, maxLongitude), + ); + } + + void updateCameraPosition(CameraPosition position) { + // Implement any specific logic for camera position updates + } + + void startTimer(String param1, String param2) { + // Implement timer start logic + } + + void calculateConsumptionFuel() { + // Implement fuel consumption calculation + } +} diff --git a/lib/views/home/Captin/orderCaptin/vip_order_page.dart b/lib/views/home/Captin/orderCaptin/vip_order_page.dart index ae13aa7..b8473d1 100644 --- a/lib/views/home/Captin/orderCaptin/vip_order_page.dart +++ b/lib/views/home/Captin/orderCaptin/vip_order_page.dart @@ -1,9 +1,9 @@ import 'dart:convert'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/Captin/text_scanner.dart b/lib/views/home/Captin/text_scanner.dart index 9345d36..2a323da 100644 --- a/lib/views/home/Captin/text_scanner.dart +++ b/lib/views/home/Captin/text_scanner.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../controller/functions/ocr_controller.dart'; diff --git a/lib/views/home/my_wallet/payment_history_driver_page.dart b/lib/views/home/my_wallet/payment_history_driver_page.dart index c9c4b13..a442eec 100644 --- a/lib/views/home/my_wallet/payment_history_driver_page.dart +++ b/lib/views/home/my_wallet/payment_history_driver_page.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../controller/payment/driver_payment_controller.dart'; diff --git a/lib/views/home/my_wallet/points_captain.dart b/lib/views/home/my_wallet/points_captain.dart index 40901db..ced1f70 100644 --- a/lib/views/home/my_wallet/points_captain.dart +++ b/lib/views/home/my_wallet/points_captain.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; -import 'package:SEFER/controller/payment/payment_controller.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/controller/payment/payment_controller.dart'; import '../../../constant/box_name.dart'; import '../../../main.dart'; diff --git a/lib/views/home/my_wallet/transfer_budget_page.dart b/lib/views/home/my_wallet/transfer_budget_page.dart index 84909d9..8e5a60b 100644 --- a/lib/views/home/my_wallet/transfer_budget_page.dart +++ b/lib/views/home/my_wallet/transfer_budget_page.dart @@ -1,9 +1,9 @@ -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/my_wallet/walet_captain.dart b/lib/views/home/my_wallet/walet_captain.dart index e9e7487..bdea19f 100644 --- a/lib/views/home/my_wallet/walet_captain.dart +++ b/lib/views/home/my_wallet/walet_captain.dart @@ -1,23 +1,23 @@ -import 'package:SEFER/constant/links.dart'; -import 'package:SEFER/controller/functions/crud.dart'; -import 'package:SEFER/controller/functions/tts.dart'; -import 'package:SEFER/controller/home/payment/paymob_payout.dart'; -import 'package:SEFER/views/home/my_wallet/bank_account_egypt.dart'; -import 'package:SEFER/views/home/my_wallet/payment_history_driver_page.dart'; -import 'package:SEFER/views/widgets/error_snakbar.dart'; -import 'package:SEFER/views/widgets/mydialoug.dart'; +import 'package:sefer_driver/constant/links.dart'; +import 'package:sefer_driver/controller/functions/crud.dart'; +import 'package:sefer_driver/controller/functions/tts.dart'; +import 'package:sefer_driver/controller/home/payment/paymob_payout.dart'; +import 'package:sefer_driver/views/home/my_wallet/bank_account_egypt.dart'; +import 'package:sefer_driver/views/home/my_wallet/payment_history_driver_page.dart'; +import 'package:sefer_driver/views/widgets/error_snakbar.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/info.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/info.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../controller/payment/driver_payment_controller.dart'; import '../../widgets/my_scafold.dart'; diff --git a/lib/views/home/my_wallet/weekly_payment_page.dart b/lib/views/home/my_wallet/weekly_payment_page.dart index 8aa387b..6e9245b 100644 --- a/lib/views/home/my_wallet/weekly_payment_page.dart +++ b/lib/views/home/my_wallet/weekly_payment_page.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:intl/intl.dart'; import '../../../controller/payment/driver_payment_controller.dart'; diff --git a/lib/views/home/on_boarding_page.dart b/lib/views/home/on_boarding_page.dart index 2e74ad0..43363cd 100644 --- a/lib/views/home/on_boarding_page.dart +++ b/lib/views/home/on_boarding_page.dart @@ -1,7 +1,7 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/controller/auth/onboarding_controller.dart'; -import 'package:SEFER/onbording_page.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/controller/auth/onboarding_controller.dart'; +import 'package:sefer_driver/onbording_page.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; diff --git a/lib/views/home/profile/captains_cars.dart b/lib/views/home/profile/captains_cars.dart index 01150b4..ccbff41 100644 --- a/lib/views/home/profile/captains_cars.dart +++ b/lib/views/home/profile/captains_cars.dart @@ -1,7 +1,10 @@ -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; +import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:flutter_font_icons/flutter_font_icons.dart'; import 'package:get/get.dart'; @@ -39,6 +42,9 @@ class CaptainsCars extends StatelessWidget { return Padding( padding: const EdgeInsets.all(4.0), child: Card( + color: car['isDefault'].toString() == '0' + ? AppColor.accentColor + : AppColor.blueColor, elevation: 2, child: ListTile( leading: Icon( @@ -78,15 +84,33 @@ class CaptainsCars extends StatelessWidget { ), ], ), // Assuming `model` is a field in each car item - trailing: IconButton( - icon: const Icon(Icons.delete), - onPressed: () { - // Add logic here to remove a car - controller - .removeCar(car['id'].toString()); - }, - ), + // trailing: IconButton( + // icon: const Icon( + // Icons.delete, + // color: AppColor.redColor, + // ), + // onPressed: () { + // // Add logic here to remove a car + // MyDialog() + // .getDialog('Are you sure to delete this car', '', () { + // controller + // .removeCar(car['id'].toString()); + // }); + + // }, + // ), onTap: () { + MyDialog().getDialog( + 'Are you sure to make this car as default' + .tr, + '', () { + Get.back(); + //make it default + controller.updateCarRegistration( + car['id'].toString(), + box.read(BoxName.driverID).toString(), + ); + }); // Add logic to view or edit the car details }, ), diff --git a/lib/views/home/profile/cars_inserting_page.dart b/lib/views/home/profile/cars_inserting_page.dart index 21056ef..8d9ae7a 100644 --- a/lib/views/home/profile/cars_inserting_page.dart +++ b/lib/views/home/profile/cars_inserting_page.dart @@ -1,5 +1,5 @@ -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -22,8 +22,8 @@ class CarsInsertingPage extends StatelessWidget { color: AppColor.accentColor.withOpacity(.2), child: Padding( padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, + child: ListView( + // crossAxisAlignment: CrossAxisAlignment.center, children: [ egyptCarLicenceFront(), egyptCarLicenceBack(), @@ -41,18 +41,18 @@ class CarsInsertingPage extends StatelessWidget { final aiBack = Get.find().responseIdCardDriverEgyptBack; driverCarController.addCarsForDrivers( - aiBack['vin'].toString(), + aiBack['chassis'].toString(), aiBack['car_plate'].toString(), aiBack['make'].toString(), aiBack['model'].toString(), aiBack['year'].toString(), - aiFront['expiration_date'].toString(), + aiFront['LicenseExpirationDate'].toString(), aiBack['color'].toString(), aiBack['color_hex'].toString(), aiFront['address'].toString(), aiFront['owner'].toString(), - aiBack['registration_date'].toString(), - aiBack['displacement'].toString(), + aiBack['inspection_date'].toString(), + aiBack['engine'].toString(), aiBack['fuel'].toString(), ); }) @@ -139,7 +139,7 @@ GetBuilder egyptCarLicenceFront() { child: InkWell( onTap: () async { ai.allMethodForAINewCar(ai.prompts[3]['prompt'].toString(), - AppLink.uploadEgypt, 'car_front', 'carId'); //todo + AppLink.uploadEgypt1, 'car_front', 'carId'); //todo }, child: Column( children: [ diff --git a/lib/views/home/profile/feed_back_page.dart b/lib/views/home/profile/feed_back_page.dart index 4257d2a..efa632a 100644 --- a/lib/views/home/profile/feed_back_page.dart +++ b/lib/views/home/profile/feed_back_page.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/profile/feed_back_controller.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/controller/home/profile/feed_back_controller.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../widgets/elevated_btn.dart'; diff --git a/lib/views/home/profile/passenger_profile_page.dart b/lib/views/home/profile/passenger_profile_page.dart index da8a268..12782dd 100644 --- a/lib/views/home/profile/passenger_profile_page.dart +++ b/lib/views/home/profile/passenger_profile_page.dart @@ -1,15 +1,15 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/profile/profile_controller.dart'; -import 'package:SEFER/main.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/my_textField.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/profile/profile_controller.dart'; +import 'package:sefer_driver/main.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/my_textField.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import '../../../controller/functions/log_out.dart'; diff --git a/lib/views/home/profile/profile_captain.dart b/lib/views/home/profile/profile_captain.dart index 95bffe7..63e4a25 100644 --- a/lib/views/home/profile/profile_captain.dart +++ b/lib/views/home/profile/profile_captain.dart @@ -1,12 +1,12 @@ -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart'; -import 'package:SEFER/views/auth/captin/criminal_documents_page.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; +import 'package:sefer_driver/views/auth/captin/criminal_documents_page.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/profile/captain_profile_controller.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/controller/profile/captain_profile_controller.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../my_wallet/walet_captain.dart'; import 'captains_cars.dart'; @@ -29,14 +29,17 @@ class ProfileCaptain extends StatelessWidget { ? const MyCircularProgressIndicator() : Column( children: [ - Container( - decoration: AppStyle.boxDecoration1, + Material( + elevation: 2, + borderRadius: BorderRadius.circular(8), child: InkWell( onTap: () async { addBankCodeEgypt(captainWalletController); }, + borderRadius: BorderRadius.circular(8), child: Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.symmetric( + vertical: 16, horizontal: 16), child: Text( 'Add bank Account'.tr, style: AppStyle.title, @@ -44,23 +47,24 @@ class ProfileCaptain extends StatelessWidget { ), ), ), - const SizedBox( - height: 5, - ), - MyElevatedButton( - title: 'Show my Cars'.tr, - onPressed: () async { - Get.to(() => CaptainsCars()); - }, - ), - const SizedBox( - height: 5, - ), - MyElevatedButton( - title: 'Add criminal page'.tr, - onPressed: () async { - Get.to(() => CriminalDocumemtPage()); - }, + const SizedBox(height: 15), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + MyElevatedButton( + title: 'Show my Cars'.tr, + onPressed: () async { + Get.to(() => CaptainsCars()); + }, + ), + // const SizedBox(height: 15), + MyElevatedButton( + title: 'Add criminal page'.tr, + onPressed: () async { + Get.to(() => CriminalDocumemtPage()); + }, + ), + ], ), SizedBox( height: Get.height * .7, diff --git a/lib/views/home/profile/promos_passenger_page.dart b/lib/views/home/profile/promos_passenger_page.dart index 98e7692..90b5a72 100644 --- a/lib/views/home/profile/promos_passenger_page.dart +++ b/lib/views/home/profile/promos_passenger_page.dart @@ -1,8 +1,8 @@ import 'package:animated_text_kit/animated_text_kit.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/home/profile/promos_controller.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/controller/home/profile/promos_controller.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; import '../../../constant/colors.dart'; import '../../../constant/style.dart'; diff --git a/lib/views/home/profile/taarif_page.dart b/lib/views/home/profile/taarif_page.dart index 5090573..124437c 100644 --- a/lib/views/home/profile/taarif_page.dart +++ b/lib/views/home/profile/taarif_page.dart @@ -1,9 +1,9 @@ -import 'package:SEFER/constant/box_name.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/constant/box_name.dart'; +import 'package:sefer_driver/main.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; class TaarifPage extends StatelessWidget { const TaarifPage({super.key}); diff --git a/lib/views/lang/languages.dart b/lib/views/lang/languages.dart index 6bc1cd8..83f0b34 100644 --- a/lib/views/lang/languages.dart +++ b/lib/views/lang/languages.dart @@ -1,8 +1,8 @@ -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/views/widgets/elevated_btn.dart'; +import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import '../../controller/local/local_controller.dart'; diff --git a/lib/views/notification/available_rides_page.dart b/lib/views/notification/available_rides_page.dart index 91f3083..ba2d63a 100644 --- a/lib/views/notification/available_rides_page.dart +++ b/lib/views/notification/available_rides_page.dart @@ -1,10 +1,10 @@ import 'dart:convert'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/notification/ride_available_controller.dart'; -import 'package:SEFER/views/widgets/my_scafold.dart'; -import 'package:SEFER/views/widgets/mycircular.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/notification/ride_available_controller.dart'; +import 'package:sefer_driver/views/widgets/my_scafold.dart'; +import 'package:sefer_driver/views/widgets/mycircular.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -25,19 +25,115 @@ class AvailableRidesPage extends StatelessWidget { Get.put(RideAvailableController()); return GetBuilder( builder: (rideAvailableController) { + // rideAvailableController.sortRidesByDistance(); return MyScafolld( title: 'Available for rides'.tr, body: [ rideAvailableController.isLoading ? const MyCircularProgressIndicator() - : ListView.builder( + : + // : ListView.builder( + // itemCount: rideAvailableController + // .rideAvailableMap['message'] + // .where((rideInfo) { + // var driverType = + // box.read(BoxName.carTypeOfDriver).toString(); + // return (driverType == 'Comfort' && + // ['Speed', 'Comfort'] + // .contains(rideInfo['carType'])) || + // (driverType == 'Speed' && + // rideInfo['carType'] == 'Speed') || + // (driverType == 'Scooter' && + // rideInfo['carType'] == 'Scooter') || + // (driverType == 'Awfar Car' && + // rideInfo['carType'] == 'Awfar Car') || + // (driverType == 'Lady' && + // ['Comfort', 'Speed', 'Lady'] + // .contains(rideInfo['carType'])); + // }).length, + // itemBuilder: (context, index) { + // var filteredRides = rideAvailableController + // .rideAvailableMap['message'] + // .where((rideInfo) { + // var driverType = + // box.read(BoxName.carTypeOfDriver).toString(); + // return (driverType == 'Comfort' && + // ['Speed', 'Comfort'] + // .contains(rideInfo['carType'])) || + // (driverType == 'Speed' && + // rideInfo['carType'] == 'Speed') || + // (driverType == 'Awfar Car' && + // rideInfo['carType'] == 'Awfar Car') || + // (driverType == 'Scooter' && + // rideInfo['carType'] == 'Scooter') || + // (driverType == 'Lady' && + // ['Comfort', 'Speed', 'Lady'] + // .contains(rideInfo['carType'])); + // }).toList(); + + // return RideAvailableCard( + // rideInfo: filteredRides[index], + // ); + // }, + // ) + ListView.builder( itemCount: rideAvailableController - .rideAvailableMap['message'].length, - itemBuilder: (context, index) => RideAvailableCard( - rideInfo: rideAvailableController - .rideAvailableMap['message'][index], - ), + .rideAvailableMap['message'] + .where((rideInfo) { + var driverType = + box.read(BoxName.carTypeOfDriver).toString(); + switch (driverType) { + case 'Comfort': + return ['Speed', 'Comfort'] + .contains(rideInfo['carType']); + case 'Speed': + case 'Scooter': + case 'Awfar Car': + return rideInfo['carType'] == driverType; + case 'Lady': + return ['Comfort', 'Speed', 'Lady'] + .contains(rideInfo['carType']); + default: + return false; + } + }).length, + itemBuilder: (context, index) { + var filteredRides = rideAvailableController + .rideAvailableMap['message'] + .where((rideInfo) { + var driverType = + box.read(BoxName.carTypeOfDriver).toString(); + switch (driverType) { + case 'Comfort': + return ['Speed', 'Comfort'] + .contains(rideInfo['carType']); + case 'Speed': + case 'Scooter': + case 'Awfar Car': + return rideInfo['carType'] == driverType; + case 'Lady': + return ['Comfort', 'Speed', 'Lady'] + .contains(rideInfo['carType']); + default: + return false; + } + }).toList(); + + return RideAvailableCard( + rideInfo: filteredRides[index], + ); + }, ) + // rideAvailableController.isLoading + // ? const MyCircularProgressIndicator() + // : ListView.builder( + // itemCount: rideAvailableController + // .rideAvailableMap['message'].length, + // itemBuilder: (context, index) => RideAvailableCard( + // rideInfo: rideAvailableController + // .rideAvailableMap['message'][index], + // ), + // ) ], isleading: true); }); @@ -181,6 +277,14 @@ class RideAvailableCard extends StatelessWidget { 'order_id': rideInfo['id'], 'status': 'Apply' }); + await CRUD().post(link: AppLink.updateRides, payload: { + 'id': rideInfo['id'], + 'DriverIsGoingToPassenger': DateTime.now().toString(), + 'status': 'Applied' + }); + await CRUD().post( + link: AppLink.updateWaitingRide, + payload: {'id': rideInfo['id'], 'status': 'Applied'}); if (AppLink.endPoint.toString() != AppLink.seferCairoServer) { CRUD().postFromDialogue( link: '${AppLink.endPoint}/driver_order/add.php', @@ -190,29 +294,17 @@ class RideAvailableCard extends StatelessWidget { 'order_id': rideInfo['id'], 'status': 'Apply' }); - } - await CRUD().post(link: AppLink.updateRides, payload: { - 'id': rideInfo['id'], - 'DriverIsGoingToPassenger': DateTime.now().toString(), - 'status': 'Applied' - }); - if (AppLink.endPoint.toString() != AppLink.seferCairoServer) { CRUD().post(link: '${AppLink.endPoint}/rides/update.php', payload: { 'id': rideInfo['id'], 'DriverIsGoingToPassenger': DateTime.now().toString(), 'status': 'Applied' }); - } - - await CRUD().post( - link: AppLink.updateWaitingRide, - payload: {'id': rideInfo['id'], 'status': 'Applied'}); - if (AppLink.endPoint.toString() != AppLink.seferCairoServer) { CRUD().post( link: "${AppLink.endPoint}/ride/notificationCaptain/updateWaitingTrip.php", payload: {'id': rideInfo['id'], 'status': 'Applied'}); } + FirebaseMessagesController().sendNotificationToPassengerToken( 'Apply Ride', 'your ride is applied'.tr, diff --git a/lib/views/notification/notification_captain.dart b/lib/views/notification/notification_captain.dart index cb379db..61ce4d1 100644 --- a/lib/views/notification/notification_captain.dart +++ b/lib/views/notification/notification_captain.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/controller/notification/notification_captain_controller.dart'; +import 'package:sefer_driver/controller/notification/notification_captain_controller.dart'; import 'package:flutter/cupertino.dart'; class NotificationCaptain extends StatelessWidget { diff --git a/lib/views/notification/notification_page.dart b/lib/views/notification/notification_page.dart index 873479a..baab42b 100644 --- a/lib/views/notification/notification_page.dart +++ b/lib/views/notification/notification_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; import '../../controller/notification/passenger_notification_controller.dart'; import '../widgets/elevated_btn.dart'; diff --git a/lib/views/widgets/circle_container.dart b/lib/views/widgets/circle_container.dart index e05bfb6..33ce6ec 100644 --- a/lib/views/widgets/circle_container.dart +++ b/lib/views/widgets/circle_container.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; +import 'package:sefer_driver/constant/colors.dart'; import 'mydialoug.dart'; diff --git a/lib/views/widgets/elevated_btn.dart b/lib/views/widgets/elevated_btn.dart index 3d0145f..9cc179e 100644 --- a/lib/views/widgets/elevated_btn.dart +++ b/lib/views/widgets/elevated_btn.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import 'package:flutter/services.dart'; import 'package:vibration/vibration.dart'; diff --git a/lib/views/widgets/icon_widget_menu.dart b/lib/views/widgets/icon_widget_menu.dart index e07ff09..54638a2 100644 --- a/lib/views/widgets/icon_widget_menu.dart +++ b/lib/views/widgets/icon_widget_menu.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import '../../constant/colors.dart'; diff --git a/lib/views/widgets/my_circular_indicator_timer.dart b/lib/views/widgets/my_circular_indicator_timer.dart index 87ba35c..07f3cad 100644 --- a/lib/views/widgets/my_circular_indicator_timer.dart +++ b/lib/views/widgets/my_circular_indicator_timer.dart @@ -1,4 +1,4 @@ -import 'package:SEFER/constant/style.dart'; +import 'package:sefer_driver/constant/style.dart'; import 'package:flutter/material.dart'; import 'dart:async'; diff --git a/lib/views/widgets/my_textField.dart b/lib/views/widgets/my_textField.dart index 2e4f060..8c44911 100644 --- a/lib/views/widgets/my_textField.dart +++ b/lib/views/widgets/my_textField.dart @@ -1,7 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; -import 'package:SEFER/constant/box_name.dart'; +import 'package:sefer_driver/constant/box_name.dart'; class MyTextForm extends StatelessWidget { const MyTextForm({ diff --git a/lib/views/widgets/mydialoug.dart b/lib/views/widgets/mydialoug.dart index af1292d..cdf4399 100644 --- a/lib/views/widgets/mydialoug.dart +++ b/lib/views/widgets/mydialoug.dart @@ -1,9 +1,9 @@ import 'dart:ui'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; -import 'package:SEFER/constant/colors.dart'; -import 'package:SEFER/constant/style.dart'; -import 'package:SEFER/controller/functions/tts.dart'; +import 'package:sefer_driver/constant/colors.dart'; +import 'package:sefer_driver/constant/style.dart'; +import 'package:sefer_driver/controller/functions/tts.dart'; class MyDialog extends GetxController { void getDialog(String title, String? midTitle, VoidCallback onPressed) { @@ -24,9 +24,10 @@ class MyDialog extends GetxController { children: [ CupertinoButton( onPressed: () async { - await textToSpeechController.speakText(title ?? midTitle!); + await textToSpeechController.speakText(title); + await textToSpeechController.speakText(midTitle!); }, - child: const Icon(CupertinoIcons.headphones, + child: const Icon(CupertinoIcons.speaker_2, color: AppColor.primaryColor), ), Text( diff --git a/pubspec.yaml b/pubspec.yaml index 405b3a9..41f2b66 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,4 +1,4 @@ -name: SEFER +name: sefer_driver description: A new Flutter project. publish_to: "none" # Remove this line if you wish to publish to pub.dev diff --git a/shorebird.yaml b/shorebird.yaml index aaa3af7..4c0bb21 100644 --- a/shorebird.yaml +++ b/shorebird.yaml @@ -1,11 +1,11 @@ # This file is used to configure the Shorebird updater used by your app. # Learn more at https://docs.shorebird.dev -# This file should be checked into version control. +# This file does not contain any sensitive information and should be checked into version control. -# This is the unique identifier assigned to your app. -# Your app_id is not a secret and is just used to identify your app -# when requesting patches from Shorebird's servers. -app_id: 8a571d7f-dfbf-4a65-be62-17eed08cbd5c +# Your app_id is the unique identifier assigned to your app. +# It is used to identify your app when requesting patches from Shorebird's servers. +# It is not a secret and can be shared publicly. +app_id: 68cc9345-6270-439e-ae58-437fb195836d # auto_update controls if Shorebird should automatically update in the background on launch. # If auto_update: false, you will need to use package:shorebird_code_push to trigger updates. diff --git a/test/widget_test.dart b/test/widget_test.dart index 2f45d6b..ff170e7 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -8,7 +8,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:SEFER/main.dart'; +import 'package:sefer_driver/main.dart'; void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async {