12/18/1
This commit is contained in:
@@ -54,8 +54,8 @@ android {
|
|||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdk = 23
|
minSdk = 23
|
||||||
targetSdk = flutter.targetSdkVersion
|
targetSdk = flutter.targetSdkVersion
|
||||||
versionCode = 124
|
versionCode = 126
|
||||||
versionName = '1.5.24'
|
versionName = '1.5.26'
|
||||||
multiDexEnabled =true
|
multiDexEnabled =true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>APPL</string>
|
<string>APPL</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>81</string>
|
<string>84</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleURLTypes</key>
|
<key>CFBundleURLTypes</key>
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
</dict>
|
</dict>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>4.0.81</string>
|
<string>4.0.84</string>
|
||||||
<key>FirebaseAppDelegateProxyEnabled</key>
|
<key>FirebaseAppDelegateProxyEnabled</key>
|
||||||
<string>NO</string>
|
<string>NO</string>
|
||||||
<key>GMSApiKey</key>
|
<key>GMSApiKey</key>
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ class BoxName {
|
|||||||
static const String phone = "phone";
|
static const String phone = "phone";
|
||||||
static const String phoneDriver = "phoneDriver";
|
static const String phoneDriver = "phoneDriver";
|
||||||
static const String is_claimed = "is_claimed";
|
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 lastOtpTime = "lastOtpTime";
|
||||||
static const String bankCodeDriver = "bankCodeDriver";
|
static const String bankCodeDriver = "bankCodeDriver";
|
||||||
static const String accountBankNumberDriver = "accountBankNumberDriver";
|
static const String accountBankNumberDriver = "accountBankNumberDriver";
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import 'package:SEFER/env/env.dart';
|
import 'package:sefer_driver/env/env.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
import 'box_name.dart';
|
import 'box_name.dart';
|
||||||
@@ -183,8 +183,8 @@ class AppLink {
|
|||||||
//-----------------RegisrationCar------------------
|
//-----------------RegisrationCar------------------
|
||||||
static String addRegisrationCar = "$ride/RegisrationCar/add.php";
|
static String addRegisrationCar = "$ride/RegisrationCar/add.php";
|
||||||
static String getRegisrationCar = "$endPoint/ride/RegisrationCar/get.php";
|
static String getRegisrationCar = "$endPoint/ride/RegisrationCar/get.php";
|
||||||
static String updateRegisrationCar =
|
static String updateRegisrationCar = "$ride/RegisrationCar/update.php";
|
||||||
"$endPoint/ride/RegisrationCar/update.php";
|
static String makeDefaultCar = "$ride/RegisrationCar/makeDefaultCar.php";
|
||||||
|
|
||||||
//-----------------DriverOrder------------------
|
//-----------------DriverOrder------------------
|
||||||
|
|
||||||
@@ -220,6 +220,7 @@ class AppLink {
|
|||||||
static String uploadEgyptidFront =
|
static String uploadEgyptidFront =
|
||||||
"$server/EgyptDocuments/uploadEgyptidFront.php";
|
"$server/EgyptDocuments/uploadEgyptidFront.php";
|
||||||
static String uploadEgypt = "$server/uploadEgypt.php";
|
static String uploadEgypt = "$server/uploadEgypt.php";
|
||||||
|
static String uploadEgypt1 = "$server/uploadEgypt1.php";
|
||||||
|
|
||||||
//==================certifcate==========
|
//==================certifcate==========
|
||||||
static String location = '$endPoint/ride/location';
|
static String location = '$endPoint/ride/location';
|
||||||
@@ -245,6 +246,7 @@ class AppLink {
|
|||||||
//==================cars new drivers=============
|
//==================cars new drivers=============
|
||||||
static String addNewCarsDrivers = '$server/ride/carDrivers/add.php';
|
static String addNewCarsDrivers = '$server/ride/carDrivers/add.php';
|
||||||
static String getNewCarsDrivers = '$server/ride/carDrivers/get.php';
|
static String getNewCarsDrivers = '$server/ride/carDrivers/get.php';
|
||||||
|
static String deleteNewCarsDrivers = '$server/ride/carDrivers/delete.php';
|
||||||
|
|
||||||
//==================Blog=============
|
//==================Blog=============
|
||||||
static String profile = '$server/ride/profile';
|
static String profile = '$server/ride/profile';
|
||||||
@@ -267,6 +269,8 @@ class AppLink {
|
|||||||
"$server/ride/invitor/updatePassengerGift.php";
|
"$server/ride/invitor/updatePassengerGift.php";
|
||||||
static String updateInvitationCodeFromRegister =
|
static String updateInvitationCodeFromRegister =
|
||||||
"$server/ride/invitor/updateInvitationCodeFromRegister.php";
|
"$server/ride/invitor/updateInvitationCodeFromRegister.php";
|
||||||
|
static String updateDriverInvitationDirectly =
|
||||||
|
"$server/ride/invitor/updateDriverInvitationDirectly.php";
|
||||||
static String updatePassengersInvitation =
|
static String updatePassengersInvitation =
|
||||||
"$server/ride/invitor/updatePassengersInvitation.php";
|
"$server/ride/invitor/updatePassengersInvitation.php";
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'colors.dart';
|
import 'colors.dart';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
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:get/get.dart';
|
||||||
|
|
||||||
import '../../../constant/box_name.dart';
|
import '../../../constant/box_name.dart';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/firebase/local_notification.dart';
|
import 'package:sefer_driver/controller/firebase/local_notification.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart';
|
import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_contacts/contact.dart';
|
import 'package:flutter_contacts/contact.dart';
|
||||||
import 'package:flutter_contacts/flutter_contacts.dart';
|
import 'package:flutter_contacts/flutter_contacts.dart';
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:SEFER/controller/functions/location_background_controller.dart';
|
import 'package:sefer_driver/controller/functions/location_background_controller.dart';
|
||||||
import 'package:SEFER/views/auth/captin/cards/sms_signup.dart';
|
import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart';
|
||||||
import 'package:location/location.dart';
|
import 'package:location/location.dart';
|
||||||
|
|
||||||
import '../../../constant/info.dart';
|
import '../../../constant/info.dart';
|
||||||
@@ -113,7 +113,7 @@ class LoginDriverController extends GetxController {
|
|||||||
.join('');
|
.join('');
|
||||||
}
|
}
|
||||||
|
|
||||||
loginUsingCredentials(String driverID, email) async {
|
loginWithGoogleCredential(String driverID, email) async {
|
||||||
isloading = true;
|
isloading = true;
|
||||||
update();
|
update();
|
||||||
var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: {
|
var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: {
|
||||||
@@ -146,6 +146,9 @@ class LoginDriverController extends GetxController {
|
|||||||
jsonDecoeded['data'][0]['is_verified'].toString());
|
jsonDecoeded['data'][0]['is_verified'].toString());
|
||||||
box.write(BoxName.phoneDriver, jsonDecoeded['data'][0]['phone']);
|
box.write(BoxName.phoneDriver, jsonDecoeded['data'][0]['phone']);
|
||||||
box.write(BoxName.is_claimed, jsonDecoeded['data'][0]['is_claimed']);
|
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.nameArabic, jsonDecoeded['data'][0]['name_arabic']);
|
||||||
box.write(BoxName.carYear, jsonDecoeded['data'][0]['year']);
|
box.write(BoxName.carYear, jsonDecoeded['data'][0]['year']);
|
||||||
box.write(
|
box.write(
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ import 'package:get/get.dart';
|
|||||||
import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
|
import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
|
||||||
import 'package:image_cropper/image_cropper.dart';
|
import 'package:image_cropper/image_cropper.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/controller/functions/llama_ai.dart';
|
import 'package:sefer_driver/controller/functions/llama_ai.dart';
|
||||||
|
|
||||||
class CarRegistrationRecognizerController extends GetxController {
|
class CarRegistrationRecognizerController extends GetxController {
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:SEFER/controller/auth/captin/login_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart';
|
||||||
import 'package:SEFER/views/auth/captin/cards/egypt_card_a_i.dart';
|
import 'package:sefer_driver/views/auth/captin/cards/egypt_card_a_i.dart';
|
||||||
import 'package:SEFER/views/auth/captin/register_captin.dart';
|
import 'package:sefer_driver/views/auth/captin/register_captin.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/controller/functions/ocr_controller.dart';
|
import 'package:sefer_driver/controller/functions/ocr_controller.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/captin/login_captin.dart';
|
import 'package:sefer_driver/views/auth/captin/login_captin.dart';
|
||||||
import 'package:SEFER/views/auth/captin/verify_email_captain.dart';
|
import 'package:sefer_driver/views/auth/captin/verify_email_captain.dart';
|
||||||
|
|
||||||
import '../../../constant/colors.dart';
|
import '../../../constant/colors.dart';
|
||||||
import '../../../views/auth/captin/ai_page.dart';
|
import '../../../views/auth/captin/ai_page.dart';
|
||||||
@@ -116,7 +116,7 @@ class RegisterCaptainController extends GetxController {
|
|||||||
backgroundColor: AppColor.greenColor);
|
backgroundColor: AppColor.greenColor);
|
||||||
box.write(BoxName.phoneVerified, '1');
|
box.write(BoxName.phoneVerified, '1');
|
||||||
box.write(BoxName.phone, '+2${phoneController.text}');
|
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.driverID).toString(),
|
||||||
box.read(BoxName.emailDriver).toString(),
|
box.read(BoxName.emailDriver).toString(),
|
||||||
);
|
);
|
||||||
@@ -240,7 +240,7 @@ class RegisterCaptainController extends GetxController {
|
|||||||
mySnackbarSuccess('Phone number is already verified'.tr);
|
mySnackbarSuccess('Phone number is already verified'.tr);
|
||||||
box.write(BoxName.phoneVerified, '1');
|
box.write(BoxName.phoneVerified, '1');
|
||||||
box.write(BoxName.phone, '+2${phoneController.text}');
|
box.write(BoxName.phone, '+2${phoneController.text}');
|
||||||
Get.put(LoginDriverController()).loginUsingCredentials(
|
Get.put(LoginDriverController()).loginWithGoogleCredential(
|
||||||
box.read(BoxName.driverID).toString(),
|
box.read(BoxName.driverID).toString(),
|
||||||
box.read(BoxName.emailDriver).toString(),
|
box.read(BoxName.emailDriver).toString(),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/login_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/captin/cards/sms_signup.dart';
|
import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart';
|
||||||
import 'package:SEFER/views/home/on_boarding_page.dart';
|
import 'package:sefer_driver/views/home/on_boarding_page.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_sign_in/google_sign_in.dart';
|
import 'package:google_sign_in/google_sign_in.dart';
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ class GoogleSignInHelper {
|
|||||||
// Check if driverID is a valid numeric string
|
// Check if driverID is a valid numeric string
|
||||||
// if (driverID != 'Unknown ID' && int.tryParse(driverID) != null) {
|
// if (driverID != 'Unknown ID' && int.tryParse(driverID) != null) {
|
||||||
await Get.find<LoginDriverController>()
|
await Get.find<LoginDriverController>()
|
||||||
.loginUsingCredentials(driverID, emailDriver);
|
.loginWithGoogleCredential(driverID, emailDriver);
|
||||||
// }
|
// }
|
||||||
// else {
|
// else {
|
||||||
// print('Invalid driverID format: $driverID');
|
// print('Invalid driverID format: $driverID');
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
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/material.dart';
|
||||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/controller/functions/secure_storage.dart';
|
import 'package:sefer_driver/controller/functions/secure_storage.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/verify_email_page.dart';
|
import 'package:sefer_driver/views/auth/verify_email_page.dart';
|
||||||
|
|
||||||
class LoginController extends GetxController {
|
class LoginController extends GetxController {
|
||||||
final formKey = GlobalKey<FormState>();
|
final formKey = GlobalKey<FormState>();
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/login_page.dart';
|
import 'package:sefer_driver/views/auth/login_page.dart';
|
||||||
|
|
||||||
import '../../models/model/onboarding_model.dart';
|
import '../../models/model/onboarding_model.dart';
|
||||||
import '../../views/auth/captin/login_captin.dart';
|
import '../../views/auth/captin/login_captin.dart';
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ import 'dart:math';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/views/auth/login_page.dart';
|
import 'package:sefer_driver/views/auth/login_page.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../views/auth/captin/login_captin.dart';
|
import '../../views/auth/captin/login_captin.dart';
|
||||||
import '../../views/auth/verify_email_page.dart';
|
import '../../views/auth/verify_email_page.dart';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
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:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
|
|
||||||
class VerifyEmailController extends GetxController {
|
class VerifyEmailController extends GetxController {
|
||||||
TextEditingController verfyCode = TextEditingController();
|
TextEditingController verfyCode = TextEditingController();
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:SEFER/controller/home/captin/home_captain_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
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/box_name.dart';
|
||||||
import '../../constant/colors.dart';
|
import '../../constant/colors.dart';
|
||||||
@@ -100,7 +100,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
notificationController.showNotification(
|
notificationController.showNotification(
|
||||||
message.notification!.title.toString(),
|
message.notification!.title.toString(),
|
||||||
message.notification!.body.toString(),
|
message.notification!.body.toString(),
|
||||||
'order',
|
'tone1',
|
||||||
'');
|
'');
|
||||||
}
|
}
|
||||||
// await FirebaseMessagesController().showOverlayNotification(message);
|
// await FirebaseMessagesController().showOverlayNotification(message);
|
||||||
@@ -114,6 +114,7 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
Get.put(HomeCaptainController()).changeRideId();
|
Get.put(HomeCaptainController()).changeRideId();
|
||||||
update();
|
update();
|
||||||
Get.to(() => OrderRequestPage(), arguments: {
|
Get.to(() => OrderRequestPage(), arguments: {
|
||||||
|
// Get.to(() => OrderRequestPage(), arguments: {
|
||||||
'myListString': myListString,
|
'myListString': myListString,
|
||||||
'DriverList': myList,
|
'DriverList': myList,
|
||||||
// 'PolylineJson': myPoints,
|
// 'PolylineJson': myPoints,
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ import 'dart:convert';
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:typed_data';
|
import 'dart:typed_data';
|
||||||
|
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/views/home/Captin/orderCaptin/order_request_page.dart';
|
import 'package:sefer_driver/views/home/Captin/orderCaptin/order_request_page.dart';
|
||||||
import 'package:SEFER/views/home/Captin/orderCaptin/order_speed_request.dart';
|
import 'package:sefer_driver/views/home/Captin/orderCaptin/order_speed_request.dart';
|
||||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
@@ -66,38 +66,46 @@ class NotificationController extends GetxController {
|
|||||||
htmlFormatContent: true,
|
htmlFormatContent: true,
|
||||||
htmlFormatContentTitle: true,
|
htmlFormatContentTitle: true,
|
||||||
);
|
);
|
||||||
|
|
||||||
AndroidNotificationDetails android = AndroidNotificationDetails(
|
AndroidNotificationDetails android = AndroidNotificationDetails(
|
||||||
'high_importance_channel', // Use the same ID as before
|
'high_importance_channel',
|
||||||
'High Importance Notifications',
|
'High Importance Notifications',
|
||||||
importance: Importance.high,
|
importance: Importance.max,
|
||||||
priority: Priority.high,
|
priority: Priority.high,
|
||||||
styleInformation: bigTextStyleInformation,
|
|
||||||
playSound: true,
|
|
||||||
sound: RawResourceAndroidNotificationSound(tone),
|
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(
|
DarwinNotificationDetails ios = const DarwinNotificationDetails(
|
||||||
sound: 'default',
|
sound: 'default',
|
||||||
presentAlert: true,
|
presentAlert: true,
|
||||||
@@ -221,7 +229,6 @@ class NotificationController extends GetxController {
|
|||||||
message,
|
message,
|
||||||
scheduledTime,
|
scheduledTime,
|
||||||
details,
|
details,
|
||||||
androidAllowWhileIdle: true,
|
|
||||||
uiLocalNotificationDateInterpretation:
|
uiLocalNotificationDateInterpretation:
|
||||||
UILocalNotificationDateInterpretation.absoluteTime,
|
UILocalNotificationDateInterpretation.absoluteTime,
|
||||||
matchDateTimeComponents: DateTimeComponents.time,
|
matchDateTimeComponents: DateTimeComponents.time,
|
||||||
@@ -264,20 +271,37 @@ class NotificationController extends GetxController {
|
|||||||
|
|
||||||
// Schedule notifications for the next 7 days
|
// Schedule notifications for the next 7 days
|
||||||
for (int day = 0; day < 7; day++) {
|
for (int day = 0; day < 7; day++) {
|
||||||
// Schedule for 8:00 AM
|
// List of notification times
|
||||||
await _scheduleNotificationForTime(
|
final notificationTimes = [
|
||||||
day, 7, 0, title, message, details, day * 1000 + 1); // Unique ID
|
{'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(
|
for (var time in notificationTimes) {
|
||||||
day, 10, 14, title, message, details, day * 1000 + 2); // Unique ID
|
final notificationId = time['id'] as int;
|
||||||
|
|
||||||
// Schedule for 3:00 PM
|
// Check if this notification ID is already stored
|
||||||
await _scheduleNotificationForTime(
|
bool isScheduled = box.read('notification_$notificationId') ?? false;
|
||||||
day, 13, 0, title, message, details, day * 1000 + 3); // Unique ID
|
|
||||||
|
|
||||||
// Schedule for 8:00 PM
|
if (!isScheduled) {
|
||||||
await _scheduleNotificationForTime(
|
// Schedule the notification if not already scheduled
|
||||||
day, 20, 0, title, message, details, day * 1000 + 4); // Unique ID
|
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');
|
print('Notifications scheduled successfully for the next 7 days');
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class OverlayContent1 extends StatelessWidget {
|
class OverlayContent1 extends StatelessWidget {
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import 'dart:io';
|
|||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
|
import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:path_provider/path_provider.dart' as path_provider;
|
import 'package:path_provider/path_provider.dart' as path_provider;
|
||||||
import 'package:path/path.dart' as path;
|
import 'package:path/path.dart' as path;
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
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 '../../constant/api_key.dart';
|
||||||
import '../../print.dart';
|
import '../../print.dart';
|
||||||
@@ -28,10 +28,9 @@ class CRUD {
|
|||||||
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials.toString()))}',
|
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials.toString()))}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
// if (response.statusCode == 200) {
|
Log.print('request: ${response.request}');
|
||||||
Log.print('response: ${response.request}');
|
|
||||||
Log.print('response: ${response.body}');
|
Log.print('response: ${response.body}');
|
||||||
Log.print('response: ${payload}');
|
// if (response.statusCode == 200) {
|
||||||
var jsonData = jsonDecode(response.body);
|
var jsonData = jsonDecode(response.body);
|
||||||
if (jsonData['status'] == 'success') {
|
if (jsonData['status'] == 'success') {
|
||||||
return response.body;
|
return response.body;
|
||||||
@@ -103,7 +102,6 @@ class CRUD {
|
|||||||
var json = jsonDecode(extractedString);
|
var json = jsonDecode(extractedString);
|
||||||
|
|
||||||
var textValues = extractTextFromLines(json);
|
var textValues = extractTextFromLines(json);
|
||||||
Log.print('textValues: ${textValues}');
|
|
||||||
// await Get.put(AI()).geminiAiExtraction(prompt, textValues);
|
// await Get.put(AI()).geminiAiExtraction(prompt, textValues);
|
||||||
await Get.put(AI()).anthropicAI(textValues, prompt, imagePath);
|
await Get.put(AI()).anthropicAI(textValues, prompt, imagePath);
|
||||||
}
|
}
|
||||||
@@ -147,7 +145,6 @@ class CRUD {
|
|||||||
http.StreamedResponse response = await request.send();
|
http.StreamedResponse response = await request.send();
|
||||||
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
// Log.print(
|
|
||||||
// 'response.stream.bytesToString(): ${await response.stream.bytesToString()}');
|
// 'response.stream.bytesToString(): ${await response.stream.bytesToString()}');
|
||||||
return await response.stream.bytesToString();
|
return await response.stream.bytesToString();
|
||||||
} else {}
|
} else {}
|
||||||
@@ -203,9 +200,6 @@ class CRUD {
|
|||||||
'Authorization': 'Bearer ${AK.secretKeyStripe}',
|
'Authorization': 'Bearer ${AK.secretKeyStripe}',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
// Log.print('response: ${response.request}');
|
|
||||||
// Log.print('response: ${response.body}');
|
|
||||||
// Log.print('response: ${payload}');
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
return response.body;
|
return response.body;
|
||||||
} else {}
|
} else {}
|
||||||
@@ -229,11 +223,6 @@ class CRUD {
|
|||||||
'Basic ${base64Encode(utf8.encode(AK.basicAuthCredentials))}',
|
'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);
|
var jsonData = jsonDecode(response.body);
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
if (jsonData['status'] == 'success') {
|
if (jsonData['status'] == 'success') {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
|
|||||||
@@ -1,17 +1,21 @@
|
|||||||
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:sefer_driver/constant/info.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/login_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/firebase/firbase_messge.dart';
|
||||||
import 'package:SEFER/controller/functions/device_info.dart';
|
import 'package:sefer_driver/controller/firebase/local_notification.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
import 'package:sefer_driver/controller/functions/device_info.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/controller/notification/notification_captain_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:image_cropper/image_cropper.dart';
|
import 'package:image_cropper/image_cropper.dart';
|
||||||
@@ -50,6 +54,31 @@ class AI extends GetxController {
|
|||||||
bool isInviteDriverFound = false;
|
bool isInviteDriverFound = false;
|
||||||
final invitationCodeController = TextEditingController();
|
final invitationCodeController = TextEditingController();
|
||||||
final formKey = GlobalKey<FormState>();
|
final formKey = GlobalKey<FormState>();
|
||||||
|
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() {
|
void setApproved() {
|
||||||
approved = true;
|
approved = true;
|
||||||
@@ -57,17 +86,32 @@ class AI extends GetxController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future updateInvitationCodeFromRegister() async {
|
Future updateInvitationCodeFromRegister() async {
|
||||||
if (formKey.currentState!.validate()) {
|
var res = await CRUD().post(
|
||||||
var res = await CRUD().post(
|
link: AppLink.updateDriverInvitationDirectly,
|
||||||
link: AppLink.updateInvitationCodeFromRegister,
|
payload: {
|
||||||
payload: {"inviteCode": invitationCodeController.text});
|
"inviterDriverPhone": '+2${box.read(BoxName.phoneDriver).toString()}',
|
||||||
if (res != 'failure') {
|
"driverId": box.read(BoxName.driverID).toString(),
|
||||||
isInviteDriverFound = true;
|
},
|
||||||
update();
|
);
|
||||||
mySnackbarSuccess("Code approved".tr);
|
|
||||||
} else {
|
if (res != 'failure') {
|
||||||
mySnackeBarError("Code not approved".tr);
|
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: {
|
var res = await CRUD().post(link: AppLink.addCriminalDocuments, payload: {
|
||||||
"driverId": box.read(BoxName.driverID),
|
"driverId": box.read(BoxName.driverID),
|
||||||
"IssueDate": responseCriminalRecordEgypt['IssueDate'],
|
"IssueDate": responseCriminalRecordEgypt['IssueDate'],
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/controller/functions/gemeni.dart';
|
import 'package:sefer_driver/controller/functions/gemeni.dart';
|
||||||
|
|
||||||
class LlamaAi {
|
class LlamaAi {
|
||||||
Future<Map> getCarRegistrationData(String input, prompt) async {
|
Future<Map> getCarRegistrationData(String input, prompt) async {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import 'dart:async';
|
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:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:location/location.dart';
|
import 'package:location/location.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart';
|
import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
|
|
||||||
import '../../print.dart';
|
import '../../print.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:SEFER/views/home/on_boarding_page.dart';
|
import 'package:sefer_driver/views/home/on_boarding_page.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/onbording_page.dart';
|
import 'package:sefer_driver/onbording_page.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.dart';
|
import 'package:sefer_driver/views/widgets/my_textField.dart';
|
||||||
|
|
||||||
import '../../constant/style.dart';
|
import '../../constant/style.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:sefer_driver/constant/info.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/constant/table_names.dart';
|
import 'package:sefer_driver/constant/table_names.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../constant/box_name.dart';
|
import '../../constant/box_name.dart';
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_confetti/flutter_confetti.dart';
|
import 'package:flutter_confetti/flutter_confetti.dart';
|
||||||
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
|
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
|
||||||
@@ -34,7 +34,8 @@ Future<void> getPermissionOverlay() async {
|
|||||||
Future<void> showDriverGiftClaim(BuildContext context) async {
|
Future<void> showDriverGiftClaim(BuildContext context) async {
|
||||||
if (box.read(BoxName.is_claimed).toString() == '0' ||
|
if (box.read(BoxName.is_claimed).toString() == '0' ||
|
||||||
box.read(BoxName.is_claimed) == null) {
|
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: {
|
var res = await CRUD().post(link: AppLink.updateDriverClaim, payload: {
|
||||||
'driverId': box.read(BoxName.driverID),
|
'driverId': box.read(BoxName.driverID),
|
||||||
});
|
});
|
||||||
@@ -46,6 +47,7 @@ Future<void> showDriverGiftClaim(BuildContext context) async {
|
|||||||
options:
|
options:
|
||||||
const ConfettiOptions(particleCount: 100, spread: 70, y: 0.6),
|
const ConfettiOptions(particleCount: 100, spread: 70, y: 0.6),
|
||||||
);
|
);
|
||||||
|
box.write(BoxName.is_claimed, '1');
|
||||||
}
|
}
|
||||||
Get.back();
|
Get.back();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:sefer_driver/constant/info.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ class SmsEgyptController extends GetxController {
|
|||||||
'+2${Get.find<RegisterCaptainController>().phoneController.text}');
|
'+2${Get.find<RegisterCaptainController>().phoneController.text}');
|
||||||
box.write(BoxName.phoneVerified, '1');
|
box.write(BoxName.phoneVerified, '1');
|
||||||
|
|
||||||
await Get.put(LoginDriverController()).loginUsingCredentials(
|
await Get.put(LoginDriverController()).loginWithGoogleCredential(
|
||||||
box.read(BoxName.driverID).toString(),
|
box.read(BoxName.driverID).toString(),
|
||||||
box.read(BoxName.emailDriver).toString(),
|
box.read(BoxName.emailDriver).toString(),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
|
|
||||||
class Toast {
|
class Toast {
|
||||||
static void show(BuildContext context, String message, Color color) {
|
static void show(BuildContext context, String message, Color color) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:flutter_tts/flutter_tts.dart';
|
import 'package:flutter_tts/flutter_tts.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:image_cropper/image_cropper.dart';
|
import 'package:image_cropper/image_cropper.dart';
|
||||||
@@ -205,8 +205,9 @@ class ImageController extends GetxController {
|
|||||||
await uploadNewCar(
|
await uploadNewCar(
|
||||||
compressedImage,
|
compressedImage,
|
||||||
{
|
{
|
||||||
'driverID':
|
'driverID': box.read(BoxName.driverID) +
|
||||||
box.read(BoxName.driverID) ?? box.read(BoxName.passengerID),
|
'_' +
|
||||||
|
DateTime.now().toIso8601String(),
|
||||||
'imageType': imageType,
|
'imageType': imageType,
|
||||||
},
|
},
|
||||||
link,
|
link,
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
import 'dart:convert';
|
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:fl_chart/fl_chart.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/models/model/driver/rides_summary_model.dart';
|
import 'package:sefer_driver/models/model/driver/rides_summary_model.dart';
|
||||||
|
|
||||||
class DurationController extends GetxController {
|
class DurationController extends GetxController {
|
||||||
final data = DurationData;
|
final data = DurationData;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
import '../../../../constant/colors.dart';
|
import '../../../../constant/colors.dart';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
class MaintainCenterController extends GetxController {
|
class MaintainCenterController extends GetxController {
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/print.dart';
|
import 'package:sefer_driver/print.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:video_player/video_player.dart';
|
import 'package:video_player/video_player.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import 'dart:convert';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import '../../../constant/links.dart';
|
import '../../../constant/links.dart';
|
||||||
@@ -237,6 +237,30 @@ class HomeCaptainController extends GetxController {
|
|||||||
update();
|
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
|
@override
|
||||||
void onInit() async {
|
void onInit() async {
|
||||||
// await locationBackController.requestLocationPermission();
|
// await locationBackController.requestLocationPermission();
|
||||||
@@ -251,8 +275,9 @@ class HomeCaptainController extends GetxController {
|
|||||||
getCountRideToday();
|
getCountRideToday();
|
||||||
getAllPayment();
|
getAllPayment();
|
||||||
startPeriodicExecution();
|
startPeriodicExecution();
|
||||||
|
await getCaptainWalletFromBuyPoints();
|
||||||
onMapCreated(mapHomeCaptainController!);
|
onMapCreated(mapHomeCaptainController!);
|
||||||
totalPoints = Get.find<CaptainWalletController>().totalPoints.toString();
|
// totalPoints = Get.find<CaptainWalletController>().totalPoints.toString();
|
||||||
getRefusedOrderByCaptain();
|
getRefusedOrderByCaptain();
|
||||||
// LocationController().getLocation();
|
// LocationController().getLocation();
|
||||||
super.onInit();
|
super.onInit();
|
||||||
@@ -324,7 +349,7 @@ class HomeCaptainController extends GetxController {
|
|||||||
payload: {'driverID': box.read(BoxName.driverID).toString()});
|
payload: {'driverID': box.read(BoxName.driverID).toString()});
|
||||||
if (res != 'failure') {
|
if (res != 'failure') {
|
||||||
data = jsonDecode(res);
|
data = jsonDecode(res);
|
||||||
totalMoneyToday = data['message'][0]['todayAmount'];
|
totalMoneyToday = data['message'][0]['todayAmount'].toString();
|
||||||
|
|
||||||
update();
|
update();
|
||||||
} else {}
|
} else {}
|
||||||
|
|||||||
@@ -1,17 +1,14 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'package:SEFER/controller/home/captin/home_captain_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
|
||||||
import 'package:SEFER/controller/home/captin/order_request_controller.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
|
||||||
import 'package:bubble_head/bubble.dart';
|
import 'package:bubble_head/bubble.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:geolocator/geolocator.dart';
|
import 'package:geolocator/geolocator.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:google_polyline_algorithm/google_polyline_algorithm.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 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
import '../../../constant/api_key.dart';
|
import '../../../constant/api_key.dart';
|
||||||
@@ -20,6 +17,7 @@ import '../../../constant/colors.dart';
|
|||||||
import '../../../constant/links.dart';
|
import '../../../constant/links.dart';
|
||||||
import '../../../constant/table_names.dart';
|
import '../../../constant/table_names.dart';
|
||||||
import '../../../main.dart';
|
import '../../../main.dart';
|
||||||
|
import '../../../print.dart';
|
||||||
import '../../../views/Rate/rate_passenger.dart';
|
import '../../../views/Rate/rate_passenger.dart';
|
||||||
import '../../../views/home/Captin/home_captain/home_captin.dart';
|
import '../../../views/home/Captin/home_captain/home_captin.dart';
|
||||||
import '../../firebase/firbase_messge.dart';
|
import '../../firebase/firbase_messge.dart';
|
||||||
@@ -187,6 +185,14 @@ class MapDriverController extends GetxController {
|
|||||||
"id": rideId.toString(), // Convert to String
|
"id": rideId.toString(), // Convert to String
|
||||||
"status": 'CancelFromDriverAfterApply'
|
"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(
|
await CRUD().post(
|
||||||
link:
|
link:
|
||||||
"${AppLink.seferCairoServer}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php",
|
"${AppLink.seferCairoServer}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php",
|
||||||
@@ -202,6 +208,14 @@ class MapDriverController extends GetxController {
|
|||||||
"id": rideId.toString(), // Convert to String
|
"id": rideId.toString(), // Convert to String
|
||||||
"status": 'CancelFromDriverAfterApply'
|
"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(
|
CRUD().post(
|
||||||
link:
|
link:
|
||||||
"${AppLink.endPoint}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php",
|
"${AppLink.endPoint}/ride/cancelRide/addCancelTripFromDriverAfterApplied.php",
|
||||||
@@ -382,12 +396,24 @@ class MapDriverController extends GetxController {
|
|||||||
'rideTimeStart': DateTime.now().toString(),
|
'rideTimeStart': DateTime.now().toString(),
|
||||||
'status': 'Begin',
|
'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) {
|
if (AppLink.endPoint != AppLink.seferCairoServer) {
|
||||||
CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: {
|
CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: {
|
||||||
'id': rideId,
|
'id': rideId,
|
||||||
'rideTimeStart': DateTime.now().toString(),
|
'rideTimeStart': DateTime.now().toString(),
|
||||||
'status': 'Begin',
|
'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',
|
FirebaseMessagesController().sendNotificationToDriverMAP('RideIsBegin',
|
||||||
box.read(BoxName.name).toString(), tokenPassenger, [], 'start.wav');
|
box.read(BoxName.name).toString(), tokenPassenger, [], 'start.wav');
|
||||||
@@ -493,6 +519,11 @@ class MapDriverController extends GetxController {
|
|||||||
'rideTimeStart': DateTime.now().toString(),
|
'rideTimeStart': DateTime.now().toString(),
|
||||||
'status': 'CancelAfterWait',
|
'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) {
|
if (AppLink.endPoint != AppLink.seferCairoServer) {
|
||||||
CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: {
|
CRUD().post(link: "${AppLink.endPoint}/rides/update.php", payload: {
|
||||||
@@ -500,6 +531,11 @@ class MapDriverController extends GetxController {
|
|||||||
'rideTimeStart': DateTime.now().toString(),
|
'rideTimeStart': DateTime.now().toString(),
|
||||||
'status': 'CancelAfterWait',
|
'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 =
|
var paymentTokenWait =
|
||||||
await generateTokenDriver(costOfWaiting5Minute.toString());
|
await generateTokenDriver(costOfWaiting5Minute.toString());
|
||||||
@@ -547,23 +583,25 @@ class MapDriverController extends GetxController {
|
|||||||
Get.find<LocationController>().myLocation.latitude,
|
Get.find<LocationController>().myLocation.latitude,
|
||||||
Get.find<LocationController>().myLocation.longitude,
|
Get.find<LocationController>().myLocation.longitude,
|
||||||
);
|
);
|
||||||
MyDialog().getDialog('Are you sure to exit ride ?'.tr, '', () {
|
|
||||||
// if (distanceToDestination > 900 ||
|
if (distanceToDestination > double.parse(distance.toString()) / 3) {
|
||||||
// (double.parse(distance.toString()) < 1000 &&
|
Log.print('distanceToDestination: ${distanceToDestination}');
|
||||||
// distanceToDestination > 150)) {
|
|
||||||
Get.back();
|
MyDialog().getDialog(
|
||||||
finishRideFromDriver1();
|
'Are you sure to exit ride?'.tr,
|
||||||
// } else {
|
'',
|
||||||
// Get.back();
|
() {
|
||||||
// if (distanceToDestination <= 150) {
|
Get.back();
|
||||||
// // todo add scam from start point and dont move
|
finishRideFromDriver1();
|
||||||
// // finishRideFromDriver1();
|
},
|
||||||
// }
|
);
|
||||||
// MyDialog().getDialog('you are not moved yet !'.tr, '', () {
|
} else {
|
||||||
// Get.back();
|
MyDialog().getDialog(
|
||||||
// });
|
"You haven't moved sufficiently!".tr,
|
||||||
// }
|
'',
|
||||||
});
|
() => Get.back(),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
String paymentToken = '';
|
String paymentToken = '';
|
||||||
@@ -618,6 +656,13 @@ class MapDriverController extends GetxController {
|
|||||||
'status': 'Finished',
|
'status': 'Finished',
|
||||||
'price': totalCost,
|
'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) {
|
if (AppLink.endPoint != AppLink.seferCairoServer) {
|
||||||
CRUD().post(
|
CRUD().post(
|
||||||
link: "${AppLink.endPoint}/ride/rides/update.php",
|
link: "${AppLink.endPoint}/ride/rides/update.php",
|
||||||
@@ -628,6 +673,13 @@ class MapDriverController extends GetxController {
|
|||||||
'price': totalCost,
|
'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') {
|
if (walletChecked == 'true') {
|
||||||
paymentToken = await generateTokenPassenger(
|
paymentToken = await generateTokenPassenger(
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import 'dart:convert';
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
|
import 'package:flutter_overlay_window/flutter_overlay_window.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'dart:math' as math;
|
import 'dart:math' as math;
|
||||||
import '../../../constant/box_name.dart';
|
import '../../../constant/box_name.dart';
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/firebase/firbase_messge.dart';
|
import 'package:sefer_driver/controller/firebase/firbase_messge.dart';
|
||||||
import 'package:SEFER/controller/firebase/local_notification.dart';
|
import 'package:sefer_driver/controller/firebase/local_notification.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
|
|
||||||
class CaptainWalletController extends GetxController {
|
class CaptainWalletController extends GetxController {
|
||||||
bool isLoading = false;
|
bool isLoading = false;
|
||||||
@@ -348,7 +348,7 @@ class CaptainWalletController extends GetxController {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() async {
|
void onInit() async {
|
||||||
getKazanPercent();
|
// getKazanPercent();
|
||||||
|
|
||||||
await refreshCaptainWallet();
|
await refreshCaptainWallet();
|
||||||
super.onInit();
|
super.onInit();
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/print.dart';
|
import 'package:sefer_driver/print.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:secure_string_operations/secure_string_operations.dart';
|
import 'package:secure_string_operations/secure_string_operations.dart';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.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/api_key.dart';
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
|
|||||||
@@ -2,13 +2,13 @@ import 'dart:convert';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
class FeedBackController extends GetxController {
|
class FeedBackController extends GetxController {
|
||||||
bool isLoading = false;
|
bool isLoading = false;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
|
|
||||||
class OrderHistoryController extends GetxController {
|
class OrderHistoryController extends GetxController {
|
||||||
List<dynamic> orderHistoryListPassenger = [];
|
List<dynamic> orderHistoryListPassenger = [];
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
class PromosController extends GetxController {
|
class PromosController extends GetxController {
|
||||||
List<dynamic> promoList = [];
|
List<dynamic> promoList = [];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
import 'package:SEFER/controller/auth/captin/login_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart';
|
||||||
import 'package:SEFER/views/home/on_boarding_page.dart';
|
import 'package:sefer_driver/views/home/on_boarding_page.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:package_info_plus/package_info_plus.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.emailDriver) != null &&
|
||||||
box.read(BoxName.phoneDriver) != null &&
|
box.read(BoxName.phoneDriver) != null &&
|
||||||
box.read(BoxName.phoneVerified) == '1'
|
box.read(BoxName.phoneVerified) == '1'
|
||||||
? await Get.put(LoginDriverController()).loginUsingCredentials(
|
? await Get.put(LoginDriverController())
|
||||||
box.read(BoxName.driverID).toString(),
|
.loginWithGoogleCredential(
|
||||||
box.read(BoxName.emailDriver))
|
box.read(BoxName.driverID).toString(),
|
||||||
|
box.read(BoxName.emailDriver))
|
||||||
: Get.off(() => LoginCaptin());
|
: Get.off(() => LoginCaptin());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,61 +94,14 @@ class LocaleController extends GetxController {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
String storedLang = box.read(BoxName.lang) ?? "";
|
String? storedLang = box.read(BoxName.lang);
|
||||||
switch (storedLang) {
|
if (storedLang == null) {
|
||||||
case "ar":
|
// Use device language if no language is stored
|
||||||
language = const Locale("ar");
|
storedLang = Get.deviceLocale!.languageCode;
|
||||||
appTheme = themeArabic;
|
box.write(BoxName.lang, storedLang);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changeLang(storedLang);
|
||||||
super.onInit();
|
super.onInit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,14 +153,33 @@ class MyTranslation extends Translations {
|
|||||||
"National Bank of Greece": "البنك الوطني اليوناني",
|
"National Bank of Greece": "البنك الوطني اليوناني",
|
||||||
"Central Bank Of Egypt": "البنك المركزي المصري",
|
"Central Bank Of Egypt": "البنك المركزي المصري",
|
||||||
"ATTIJARIWAFA BANK Egypt": "البنك التجاري وفا مصر",
|
"ATTIJARIWAFA BANK Egypt": "البنك التجاري وفا مصر",
|
||||||
"Morning Promo": "بونص الصباح",
|
"Morning Promo": "بونص الصباح", "Show my Cars": "عرض سياراتي",
|
||||||
|
"Add criminal page": "إضافة الفيش الجنائي",
|
||||||
|
"Add new car": "إضافة سيارة جديدة",
|
||||||
'You have gift 300 L.E': "لديك هدية بقيمة 300 جنيه.",
|
'You have gift 300 L.E': "لديك هدية بقيمة 300 جنيه.",
|
||||||
"VIP Order": "طلب VIP", "VIP Order Accepted": "تم قبول طلب VIP.",
|
"VIP Order": "طلب VIP", "VIP Order Accepted": "تم قبول طلب VIP.",
|
||||||
"The driver accepted your trip": "السائق قبل رحلتك.",
|
"The driver accepted your trip": "السائق قبل رحلتك.",
|
||||||
"this is count of your all trips in the morning promo today from 7:00am-10:00am":
|
"this is count of your all trips in the morning promo today from 7:00am-10:00am":
|
||||||
"هذا عدد جميع رحلاتك في بونص الصباح اليوم من الساعة 7:00 صباحًا حتى 10:00 صباحًا",
|
"هذا عدد جميع رحلاتك في بونص الصباح اليوم من الساعة 7:00 صباحًا حتى 10:00 صباحًا",
|
||||||
"Morning Promo Rides": "رحلات عرض الصباح",
|
"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": "بونص الظهر",
|
"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":
|
"this is count of your all trips in the Afternoon promo today from 3:00pm-6:00 pm":
|
||||||
"هذا عدد جميع رحلاتك في بونص بعد الظهر اليوم من الساعة 3:00 مساءً حتى 6:00 مساءً",
|
"هذا عدد جميع رحلاتك في بونص بعد الظهر اليوم من الساعة 3:00 مساءً حتى 6:00 مساءً",
|
||||||
"Afternoon Promo Rides": "رحلات بونص بعد الظهر",
|
"Afternoon Promo Rides": "رحلات بونص بعد الظهر",
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../../constant/box_name.dart';
|
import '../../constant/box_name.dart';
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
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/box_name.dart';
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/functions/location_controller.dart';
|
import 'package:sefer_driver/controller/functions/location_controller.dart';
|
||||||
|
import 'package:geolocator/geolocator.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
|
|
||||||
import '../../constant/links.dart';
|
import '../../constant/links.dart';
|
||||||
import '../../main.dart';
|
import '../../main.dart';
|
||||||
|
import '../../print.dart';
|
||||||
import '../../views/widgets/mydialoug.dart';
|
import '../../views/widgets/mydialoug.dart';
|
||||||
import '../functions/crud.dart';
|
import '../functions/crud.dart';
|
||||||
|
|
||||||
@@ -16,22 +18,6 @@ class RideAvailableController extends GetxController {
|
|||||||
Map rideAvailableMap = {};
|
Map rideAvailableMap = {};
|
||||||
late LatLng southwest;
|
late LatLng southwest;
|
||||||
late LatLng northeast;
|
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) {
|
LatLngBounds calculateBounds(double lat, double lng, double radiusInMeters) {
|
||||||
const double earthRadius = 6378137.0; // Earth's radius in meters
|
const double earthRadius = 6378137.0; // Earth's radius in meters
|
||||||
@@ -67,22 +53,48 @@ class RideAvailableController extends GetxController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double calculateDistance(String startLocation) {
|
||||||
|
List<String> 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<LocationController>().latitude;
|
||||||
|
double currentLongitude = Get.find<LocationController>().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 {
|
getRideAvailable() async {
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
LatLngBounds bounds = calculateBounds(
|
LatLngBounds bounds = calculateBounds(
|
||||||
Get.find<LocationController>().myLocation.latitude,
|
Get.find<LocationController>().myLocation.latitude,
|
||||||
Get.find<LocationController>().myLocation.longitude,
|
Get.find<LocationController>().myLocation.longitude,
|
||||||
4000);
|
4000);
|
||||||
var res = await CRUD().get(
|
var payload = {
|
||||||
link: AppLink.getRideWaiting,
|
// "carType": box.read(BoxName.carTypeOfDriver).toString(),
|
||||||
payload: {
|
'southwestLat': bounds.southwest.latitude.toString(),
|
||||||
"carType": box.read(BoxName.carTypeOfDriver).toString(),
|
'southwestLon': bounds.southwest.longitude.toString(),
|
||||||
'southwestLat': bounds.southwest.latitude.toString(),
|
'northeastLat': bounds.northeast.latitude.toString(),
|
||||||
'southwestLon': bounds.southwest.longitude.toString(),
|
'northeastLon': bounds.northeast.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') {
|
if (res != 'failure') {
|
||||||
rideAvailableMap = jsonDecode(res);
|
rideAvailableMap = jsonDecode(res);
|
||||||
isLoading = false;
|
isLoading = false;
|
||||||
@@ -92,16 +104,6 @@ class RideAvailableController extends GetxController {
|
|||||||
Get.back();
|
Get.back();
|
||||||
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();
|
|
||||||
// }));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'dart:convert';
|
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:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
|
|
||||||
class DriverWalletHistoryController extends GetxController {
|
class DriverWalletHistoryController extends GetxController {
|
||||||
bool isLoading = false;
|
bool isLoading = false;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/tts.dart';
|
import 'package:sefer_driver/controller/functions/tts.dart';
|
||||||
import 'package:SEFER/controller/payment/paymob/paymob_response.dart';
|
import 'package:sefer_driver/controller/payment/paymob/paymob_response.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_paypal/flutter_paypal.dart';
|
import 'package:flutter_paypal/flutter_paypal.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' as dio;
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ import 'dart:convert';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
|
|
||||||
class CaptainProfileController extends GetxController {
|
class CaptainProfileController extends GetxController {
|
||||||
bool isLoading = false;
|
bool isLoading = false;
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ import 'dart:convert';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.dart';
|
import 'package:sefer_driver/views/widgets/my_textField.dart';
|
||||||
|
|
||||||
import '../../views/widgets/elevated_btn.dart';
|
import '../../views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
class SettingController extends GetxController {
|
class SettingController extends GetxController {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
// Import url_launcher to open the app store
|
// Import url_launcher to open the app store
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/controller/firebase/firbase_messge.dart';
|
import 'package:sefer_driver/controller/firebase/firbase_messge.dart';
|
||||||
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
|
||||||
import 'package:SEFER/controller/payment/payment_controller.dart';
|
import 'package:sefer_driver/controller/payment/payment_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
|
|
||||||
import '../home/payment/captain_wallet_controller.dart';
|
import '../home/payment/captain_wallet_controller.dart';
|
||||||
|
|
||||||
@@ -70,23 +70,7 @@ class RateController extends GetxController {
|
|||||||
'token': paymentToken3,
|
'token': paymentToken3,
|
||||||
'driverID': box.read(BoxName.driverID).toString(),
|
'driverID': box.read(BoxName.driverID).toString(),
|
||||||
});
|
});
|
||||||
// }
|
|
||||||
// else {
|
|
||||||
// double pointsSubtraction = 0;
|
|
||||||
// pointsSubtraction = remainingFee *
|
|
||||||
// (-1) /
|
|
||||||
// double.parse(
|
|
||||||
// Get.find<MapDriverController>().kazan); // for egypt /100
|
|
||||||
// var paymentToken4 = await Get.find<MapDriverController>()
|
|
||||||
// .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(
|
FirebaseMessagesController().sendNotificationToDriverMAP(
|
||||||
'Wallet Added'.tr,
|
'Wallet Added'.tr,
|
||||||
'Wallet Added${(remainingFee).toStringAsFixed(0)}'.tr,
|
'Wallet Added${(remainingFee).toStringAsFixed(0)}'.tr,
|
||||||
@@ -101,7 +85,7 @@ class RateController extends GetxController {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
Get.defaultDialog(
|
Get.defaultDialog(
|
||||||
title: '${'The price must be over than '.tr}$priceOfTrip',
|
title: '${'The price must be over than '.tr} $priceOfTrip',
|
||||||
middleText: '',
|
middleText: '',
|
||||||
confirm: MyElevatedButton(
|
confirm: MyElevatedButton(
|
||||||
title: 'Ok'.tr,
|
title: 'Ok'.tr,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
|
|
||||||
import '../../constant/colors.dart';
|
import '../../constant/colors.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ import 'dart:async';
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/payment/paymob/paymob_response.dart';
|
import 'package:sefer_driver/controller/payment/paymob/paymob_response.dart';
|
||||||
import 'package:SEFER/views/home/Captin/orderCaptin/order_request_page.dart';
|
import 'package:sefer_driver/views/home/Captin/orderCaptin/order_request_page.dart';
|
||||||
import 'package:firebase_core/firebase_core.dart';
|
import 'package:firebase_core/firebase_core.dart';
|
||||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.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:sqflite/sqflite.dart';
|
||||||
import 'package:path/path.dart';
|
import 'package:path/path.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:animated_text_kit/animated_text_kit.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:sefer_driver/constant/info.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
|
|
||||||
import 'controller/home/splash_screen_controlle.dart';
|
import 'controller/home/splash_screen_controlle.dart';
|
||||||
import 'main.dart';
|
import 'main.dart';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.dart';
|
import 'package:sefer_driver/views/widgets/my_textField.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import '../../controller/rate/rate_app_controller.dart';
|
import '../../controller/rate/rate_app_controller.dart';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.dart';
|
import 'package:sefer_driver/views/widgets/my_textField.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
|
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../constant/style.dart';
|
import '../../constant/style.dart';
|
||||||
import '../../controller/rate/rate_conroller.dart';
|
import '../../controller/rate/rate_conroller.dart';
|
||||||
@@ -51,10 +51,10 @@ class RatePassenger extends StatelessWidget {
|
|||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.all(4),
|
padding: const EdgeInsets.all(4),
|
||||||
child: Text(
|
child: Text(
|
||||||
(double.parse(controller.price.toString()) *
|
(double.parse(controller.price.toString()) -
|
||||||
.12 +
|
double.parse(controller.price
|
||||||
double.parse(
|
.toString()) *
|
||||||
controller.price.toString()))
|
.12)
|
||||||
.toStringAsFixed(2),
|
.toStringAsFixed(2),
|
||||||
style: AppStyle.number.copyWith(
|
style: AppStyle.number.copyWith(
|
||||||
color: AppColor.redColor,
|
color: AppColor.redColor,
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'package:fl_chart/fl_chart.dart';
|
import 'package:fl_chart/fl_chart.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/info.dart';
|
import 'package:sefer_driver/constant/info.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import '../../controller/home/captin/duration_controller .dart';
|
import '../../controller/home/captin/duration_controller .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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/constant/table_names.dart';
|
import 'package:sefer_driver/constant/table_names.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart';
|
||||||
import 'package:SEFER/controller/functions/ocr_controller.dart';
|
import 'package:sefer_driver/controller/functions/ocr_controller.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||||
|
|
||||||
import '../../../constant/links.dart';
|
import '../../../constant/links.dart';
|
||||||
import '../../../controller/functions/gemeni.dart';
|
import '../../../controller/functions/gemeni.dart';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.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/colors.dart';
|
||||||
import '../../../../constant/style.dart';
|
import '../../../../constant/style.dart';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.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 '../../../constant/style.dart';
|
||||||
import '../../../controller/auth/captin/ml_google_doc.dart';
|
import '../../../controller/auth/captin/ml_google_doc.dart';
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
import 'package:SEFER/controller/functions/gemeni.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/functions/tts.dart';
|
import 'package:sefer_driver/controller/functions/gemeni.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/controller/functions/tts.dart';
|
||||||
import 'package:SEFER/views/widgets/my_circular_indicator_timer.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
@@ -10,6 +12,7 @@ import '../../../../constant/colors.dart';
|
|||||||
import '../../../../constant/links.dart';
|
import '../../../../constant/links.dart';
|
||||||
import '../../../../constant/style.dart';
|
import '../../../../constant/style.dart';
|
||||||
import '../../../../controller/functions/package_info.dart';
|
import '../../../../controller/functions/package_info.dart';
|
||||||
|
import '../../../../main.dart';
|
||||||
import '../../../widgets/my_scafold.dart';
|
import '../../../widgets/my_scafold.dart';
|
||||||
|
|
||||||
class EgyptCardAI extends StatelessWidget {
|
class EgyptCardAI extends StatelessWidget {
|
||||||
@@ -36,6 +39,11 @@ class EgyptCardAI extends StatelessWidget {
|
|||||||
}),
|
}),
|
||||||
body: [
|
body: [
|
||||||
GetBuilder<AI>(builder: (controller) {
|
GetBuilder<AI>(builder: (controller) {
|
||||||
|
if (box.read(BoxName.isInstall) != null ||
|
||||||
|
box.read(BoxName.isInstall).toString() != '') {
|
||||||
|
controller.updateInvitationCodeFromRegister();
|
||||||
|
}
|
||||||
|
|
||||||
return controller.isLoading
|
return controller.isLoading
|
||||||
? MyCircularProgressIndicatorWithTimer(
|
? MyCircularProgressIndicatorWithTimer(
|
||||||
isLoading: controller.isLoading,
|
isLoading: controller.isLoading,
|
||||||
@@ -117,153 +125,134 @@ class EgyptCardAI extends StatelessWidget {
|
|||||||
right: 30,
|
right: 30,
|
||||||
left: 30,
|
left: 30,
|
||||||
child: GetBuilder<AI>(builder: (controller) {
|
child: GetBuilder<AI>(builder: (controller) {
|
||||||
return controller.isInviteDriverFound == false
|
return controller.approved == false
|
||||||
? Padding(
|
? Container(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 60),
|
decoration: AppStyle.boxDecoration1,
|
||||||
child: Container(
|
child: Padding(
|
||||||
decoration: AppStyle.boxDecoration1,
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Padding(
|
child: Column(
|
||||||
padding: const EdgeInsets.all(8.0),
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
child: Column(
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
children: [
|
||||||
children: [
|
Text(
|
||||||
Text(
|
'Approve Driver Documents'.tr,
|
||||||
"Do you have an invitation code from another driver?"
|
style: AppStyle.title,
|
||||||
.tr,
|
),
|
||||||
style: AppStyle.title,
|
const SizedBox(height: 8),
|
||||||
textAlign: TextAlign.center,
|
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.'
|
||||||
const SizedBox(
|
.tr,
|
||||||
height: 30,
|
style: AppStyle.title,
|
||||||
),
|
textAlign: TextAlign.center,
|
||||||
Form(
|
),
|
||||||
key: controller.formKey,
|
const SizedBox(height: 8),
|
||||||
child: MyTextForm(
|
Container(
|
||||||
controller:
|
decoration: AppStyle.boxDecoration1,
|
||||||
controller.invitationCodeController,
|
child: TextButton.icon(
|
||||||
label: "Paste the code here".tr,
|
onPressed: () async {
|
||||||
hint: "Paste the code here".tr,
|
controller.startTimer();
|
||||||
type: TextInputType.name,
|
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,
|
const SizedBox(height: 8),
|
||||||
),
|
// textToSpeechController.isComplete
|
||||||
MyElevatedButton(
|
// ? Row(
|
||||||
title: 'Ok'.tr,
|
// mainAxisAlignment:
|
||||||
onPressed: () async {
|
// MainAxisAlignment.spaceAround,
|
||||||
controller
|
// children: [
|
||||||
.updateInvitationCodeFromRegister();
|
// MyElevatedButton(
|
||||||
}),
|
// title: 'OK'.tr,
|
||||||
MyElevatedButton(
|
// kolor: AppColor.greenColor,
|
||||||
kolor: AppColor.yellowColor,
|
// onPressed: () {
|
||||||
title: "No, I don't have a code".tr,
|
// controller.setApproved();
|
||||||
onPressed: () {
|
// }),
|
||||||
controller.isInviteDriverFound = true;
|
// MyElevatedButton(
|
||||||
controller.update();
|
// 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
|
: const SizedBox();
|
||||||
? 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<TextToSpeechController>(
|
|
||||||
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();
|
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:SEFER/views/widgets/my_textField.dart';
|
import 'package:sefer_driver/views/widgets/my_textField.dart';
|
||||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
@@ -77,7 +77,7 @@ class CriminalDocumemtPage extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
await controller.addCriminalDeocuments();
|
await controller.addCriminalDocuments();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
: const SizedBox(),
|
: const SizedBox(),
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/functions/crud.dart';
|
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
class DriverCarController extends GetxController {
|
class DriverCarController extends GetxController {
|
||||||
bool isLoading = false;
|
bool isLoading = false;
|
||||||
List cars = [];
|
List cars = [];
|
||||||
int? carId;
|
// int? carId;
|
||||||
fetchCatrsForDrivers() async {
|
fetchCatrsForDrivers() async {
|
||||||
isLoading = true;
|
isLoading = true;
|
||||||
update();
|
update();
|
||||||
@@ -21,7 +21,7 @@ class DriverCarController extends GetxController {
|
|||||||
if (res != 'failure') {
|
if (res != 'failure') {
|
||||||
var d = jsonDecode(res)['message'];
|
var d = jsonDecode(res)['message'];
|
||||||
cars = d;
|
cars = d;
|
||||||
carId = cars.isEmpty ? 1 : cars.length + 1;
|
// carId = cars.isEmpty ? 1 : cars.length + 1;
|
||||||
}
|
}
|
||||||
isLoading = false;
|
isLoading = false;
|
||||||
update();
|
update();
|
||||||
@@ -29,35 +29,35 @@ class DriverCarController extends GetxController {
|
|||||||
|
|
||||||
addCarsForDrivers(
|
addCarsForDrivers(
|
||||||
String vin,
|
String vin,
|
||||||
String car_plate,
|
String carPlate,
|
||||||
String make,
|
String make,
|
||||||
String model,
|
String model,
|
||||||
String year,
|
String year,
|
||||||
String expiration_date,
|
String expirationDate,
|
||||||
String color,
|
String color,
|
||||||
String color_hex,
|
String colorHex,
|
||||||
String address,
|
String address,
|
||||||
String owner,
|
String owner,
|
||||||
String registration_date,
|
String registrationDate,
|
||||||
String displacement,
|
String displacement,
|
||||||
String fuel) async {
|
String fuel) async {
|
||||||
var res = await CRUD().post(
|
var res = await CRUD().post(
|
||||||
link: AppLink.addNewCarsDrivers,
|
link: AppLink.addRegisrationCar,
|
||||||
payload: {
|
payload: {
|
||||||
"driverID": box.read(BoxName.driverID).toString(),
|
"driverID": box.read(BoxName.driverID).toString(),
|
||||||
"vin": vin,
|
"vin": vin ?? 'unknown',
|
||||||
"car_plate": car_plate,
|
"car_plate": carPlate.toString(),
|
||||||
"make": make,
|
"make": make ?? 'unknown',
|
||||||
"model": model,
|
"model": model ?? 'unknown',
|
||||||
"year": year,
|
"year": year ?? 'unknown',
|
||||||
"expiration_date": expiration_date,
|
"expiration_date": expirationDate ?? 'unknown',
|
||||||
"color": color,
|
"color": color ?? 'unknown',
|
||||||
"owner": owner,
|
"owner": owner ?? 'unknown',
|
||||||
"color_hex": color_hex,
|
"color_hex": colorHex ?? '#000000',
|
||||||
"address": address,
|
"address": address ?? 'unknown',
|
||||||
"displacement": displacement,
|
"displacement": displacement ?? 'unknown',
|
||||||
"fuel": fuel,
|
"fuel": fuel ?? 'unknown',
|
||||||
"registration_date": registration_date,
|
"registration_date": registrationDate ?? 'unknown',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
if (res != 'failure') {
|
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<void> 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
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
fetchCatrsForDrivers();
|
fetchCatrsForDrivers();
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'dart:io';
|
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:firebase_auth/firebase_auth.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
import 'package:flutter/gestures.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -197,7 +197,7 @@ class LoginCaptin extends StatelessWidget {
|
|||||||
.currentState!
|
.currentState!
|
||||||
.validate()) {
|
.validate()) {
|
||||||
await Get.find<LoginDriverController>()
|
await Get.find<LoginDriverController>()
|
||||||
.loginUsingCredentials(
|
.loginWithGoogleCredential(
|
||||||
controller
|
controller
|
||||||
.passwordController
|
.passwordController
|
||||||
.text,
|
.text,
|
||||||
@@ -329,7 +329,7 @@ class LoginCaptin extends StatelessWidget {
|
|||||||
box.write(BoxName.emailDriver,
|
box.write(BoxName.emailDriver,
|
||||||
user.email);
|
user.email);
|
||||||
Get.find<LoginDriverController>()
|
Get.find<LoginDriverController>()
|
||||||
.loginUsingCredentials(
|
.loginWithGoogleCredential(
|
||||||
box
|
box
|
||||||
.read(BoxName.driverID)
|
.read(BoxName.driverID)
|
||||||
.toString(),
|
.toString(),
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/controller/functions/log_out.dart';
|
import 'package:sefer_driver/controller/functions/log_out.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
class LogoutCaptain extends StatelessWidget {
|
class LogoutCaptain extends StatelessWidget {
|
||||||
const LogoutCaptain({super.key});
|
const LogoutCaptain({super.key});
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../../constant/colors.dart';
|
import '../../../constant/colors.dart';
|
||||||
import '../../../controller/auth/google_sign.dart';
|
import '../../../controller/auth/google_sign.dart';
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/register_captin_controller.dart';
|
import 'package:sefer_driver/controller/auth/captin/register_captin_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
class VerifyEmailCaptainPage extends StatelessWidget {
|
class VerifyEmailCaptainPage extends StatelessWidget {
|
||||||
VerifyEmailCaptainPage({super.key});
|
VerifyEmailCaptainPage({super.key});
|
||||||
|
|||||||
@@ -3,13 +3,13 @@ import 'package:flutter/gestures.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
|
import 'package:flutter_widget_from_html/flutter_widget_from_html.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/captin/login_captin.dart';
|
import 'package:sefer_driver/views/auth/captin/login_captin.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../constant/info.dart';
|
import '../../constant/info.dart';
|
||||||
import '../../controller/auth/login_controller.dart';
|
import '../../controller/auth/login_controller.dart';
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/auth/register_controller.dart';
|
import 'package:sefer_driver/controller/auth/register_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../constant/colors.dart';
|
import '../../constant/colors.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/auth/register_controller.dart';
|
import 'package:sefer_driver/controller/auth/register_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
class VerifyEmailPage extends StatelessWidget {
|
class VerifyEmailPage extends StatelessWidget {
|
||||||
const VerifyEmailPage({super.key});
|
const VerifyEmailPage({super.key});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/controller/profile/setting_controller.dart';
|
import 'package:sefer_driver/controller/profile/setting_controller.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/lang/languages.dart';
|
import 'package:sefer_driver/views/lang/languages.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../../../controller/functions/vibrate.dart';
|
import '../../../../controller/functions/vibrate.dart';
|
||||||
import '../../../auth/country_widget.dart';
|
import '../../../auth/country_widget.dart';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:video_player/video_player.dart';
|
import 'package:video_player/video_player.dart';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
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/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
|
|
||||||
class BottomBarController extends GetxController {
|
class BottomBarController extends GetxController {
|
||||||
var currentIndex = 0.obs;
|
var currentIndex = 0.obs;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import 'package:camera/camera.dart';
|
import 'package:camera/camera.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/colors.dart';
|
import 'package:sefer_driver/constant/colors.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/controller/functions/camer_controller.dart';
|
import 'package:sefer_driver/controller/functions/camer_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
class CameraWidgetCardId extends StatelessWidget {
|
class CameraWidgetCardId extends StatelessWidget {
|
||||||
final CameraClassController cameraClassController =
|
final CameraClassController cameraClassController =
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
|
||||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||||
|
|
||||||
import '../../../constant/colors.dart';
|
import '../../../constant/colors.dart';
|
||||||
import '../../../controller/functions/location_controller.dart';
|
import '../../../controller/functions/location_controller.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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.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:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/controller/auth/captin/history_captain.dart';
|
import 'package:sefer_driver/controller/auth/captin/history_captain.dart';
|
||||||
import 'package:SEFER/controller/functions/launch.dart';
|
import 'package:sefer_driver/controller/functions/launch.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|||||||
@@ -1,22 +1,22 @@
|
|||||||
import 'package:SEFER/constant/api_key.dart';
|
import 'package:sefer_driver/constant/api_key.dart';
|
||||||
import 'package:SEFER/constant/links.dart';
|
import 'package:sefer_driver/constant/links.dart';
|
||||||
import 'package:SEFER/controller/home/captin/home_captain_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart';
|
||||||
import 'package:SEFER/views/Rate/rate_app_page.dart';
|
import 'package:sefer_driver/views/Rate/rate_app_page.dart';
|
||||||
import 'package:SEFER/views/auth/captin/contact_us_page.dart';
|
import 'package:sefer_driver/views/auth/captin/contact_us_page.dart';
|
||||||
import 'package:SEFER/views/auth/captin/invite_driver_screen.dart';
|
import 'package:sefer_driver/views/auth/captin/invite_driver_screen.dart';
|
||||||
import 'package:SEFER/views/notification/available_rides_page.dart';
|
import 'package:sefer_driver/views/notification/available_rides_page.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
|
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/main.dart';
|
import 'package:sefer_driver/main.dart';
|
||||||
import 'package:SEFER/views/auth/captin/logout_captain.dart';
|
import 'package:sefer_driver/views/auth/captin/logout_captain.dart';
|
||||||
import 'package:SEFER/views/home/Captin/history/history_captain.dart';
|
import 'package:sefer_driver/views/home/Captin/history/history_captain.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/help_captain.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/help_captain.dart';
|
||||||
import 'package:SEFER/views/home/Captin/About%20Us/settings_captain.dart';
|
import 'package:sefer_driver/views/home/Captin/About%20Us/settings_captain.dart';
|
||||||
import 'package:SEFER/views/home/my_wallet/walet_captain.dart';
|
import 'package:sefer_driver/views/home/my_wallet/walet_captain.dart';
|
||||||
import 'package:SEFER/views/home/profile/profile_captain.dart';
|
import 'package:sefer_driver/views/home/profile/profile_captain.dart';
|
||||||
import 'package:SEFER/views/notification/notification_captain.dart';
|
import 'package:sefer_driver/views/notification/notification_captain.dart';
|
||||||
|
|
||||||
import '../../../../constant/colors.dart';
|
import '../../../../constant/colors.dart';
|
||||||
import '../../../../controller/functions/upload_image.dart';
|
import '../../../../controller/functions/upload_image.dart';
|
||||||
@@ -218,7 +218,7 @@ class UserAccountHeader extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
Text(
|
Text(
|
||||||
box.read(BoxName.nameDriver).toString(),
|
'${box.read(BoxName.nameDriver).toString().split(' ')[0]} ${box.read(BoxName.nameDriver).toString().split(' ')[1]}',
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
color: CupertinoColors.white,
|
color: CupertinoColors.white,
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/controller/home/captin/help/help_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/help/help_controller.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/help_details_replay_page.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/help_details_replay_page.dart';
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:SEFER/constant/style.dart';
|
import 'package:sefer_driver/constant/style.dart';
|
||||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||||
|
|
||||||
import '../../../../controller/home/captin/help/help_controller.dart';
|
import '../../../../controller/home/captin/help/help_controller.dart';
|
||||||
import '../../../widgets/my_scafold.dart';
|
import '../../../widgets/my_scafold.dart';
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:SEFER/constant/box_name.dart';
|
import 'package:sefer_driver/constant/box_name.dart';
|
||||||
import 'package:SEFER/controller/home/captin/map_driver_controller.dart';
|
import 'package:sefer_driver/controller/home/captin/map_driver_controller.dart';
|
||||||
import 'package:SEFER/views/notification/available_rides_page.dart';
|
import 'package:sefer_driver/views/notification/available_rides_page.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||||
import 'package:SEFER/views/home/Captin/home_captain/drawer_captain.dart';
|
import 'package:sefer_driver/views/home/Captin/home_captain/drawer_captain.dart';
|
||||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||||
import 'package:bubble_head/bubble.dart';
|
import 'package:bubble_head/bubble.dart';
|
||||||
|
|
||||||
import '../../../../constant/colors.dart';
|
import '../../../../constant/colors.dart';
|
||||||
@@ -100,93 +100,98 @@ class HomeCaptain extends StatelessWidget {
|
|||||||
// liteModeEnabled: true,
|
// liteModeEnabled: true,
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
|
|
||||||
Positioned(
|
Positioned(
|
||||||
bottom: 10,
|
bottom: 10,
|
||||||
right: Get.width * .1,
|
right: Get.width * .1,
|
||||||
left: Get.width * .1,
|
left: Get.width * .1,
|
||||||
child: const ConnectWidget()),
|
child: const ConnectWidget()),
|
||||||
Positioned(
|
Positioned(
|
||||||
top: 5,
|
top: 5,
|
||||||
right: Get.width * .05,
|
right: Get.width * .05,
|
||||||
left: Get.width * .05,
|
left: Get.width * .05,
|
||||||
child: Container(
|
child: GetBuilder<HomeCaptainController>(
|
||||||
decoration: AppStyle.boxDecoration,
|
builder: (homeCaptainController) {
|
||||||
width: Get.width * .8,
|
return Container(
|
||||||
height: 104,
|
decoration: AppStyle.boxDecoration,
|
||||||
child: Center(
|
width: Get.width * .8,
|
||||||
child: Column(
|
height: 104,
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
child: Center(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
child: Column(
|
||||||
children: [
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
Row(
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
children: [
|
||||||
const Icon(
|
Row(
|
||||||
Entypo.wallet,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
color: AppColor.greenColor,
|
children: [
|
||||||
),
|
const Icon(
|
||||||
Text(
|
Entypo.wallet,
|
||||||
' You Earn today is '.tr +
|
color: AppColor.greenColor,
|
||||||
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<CaptainWalletController>().totalPoints,
|
|
||||||
style: AppStyle.title,
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
borderRadius: BorderRadius.circular(6),
|
|
||||||
color: int.parse(Get.find<HomeCaptainController>()
|
|
||||||
.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<HomeCaptainController>()
|
|
||||||
.countRideToday,
|
|
||||||
style: AppStyle.title
|
|
||||||
.copyWith(color: AppColor.secondaryColor),
|
|
||||||
),
|
),
|
||||||
),
|
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<HomeCaptainController>()
|
||||||
|
.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<HomeCaptainController>()
|
||||||
|
.countRideToday,
|
||||||
|
style: AppStyle.title
|
||||||
|
.copyWith(color: AppColor.secondaryColor),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
)));
|
||||||
],
|
})),
|
||||||
))),
|
|
||||||
),
|
|
||||||
Positioned(
|
Positioned(
|
||||||
bottom: 65,
|
bottom: 65,
|
||||||
right: Get.width * .1,
|
right: Get.width * .1,
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user