From 6f3c8b975eb97258e4994e7580394b2e4a0af5c8 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Mon, 27 May 2024 13:21:14 +0300 Subject: [PATCH] 5/27/1 --- android/app/build.gradle | 4 +- assets/fonts/digit.ttf | Bin 0 -> 34360 bytes assets/fonts/digital-counter-7.regular.ttf | Bin 29836 -> 0 bytes assets/fonts/josefin.ttf | Bin 0 -> 33008 bytes assets/fonts/mohanad.ttf | Bin 0 -> 120947 bytes lib/constant/box_name.dart | 2 +- lib/constant/style.dart | 31 ++-- .../auth/apple_signin_controller.dart | 35 +++++ lib/controller/auth/login_controller.dart | 5 +- lib/controller/auth/register_controller.dart | 2 +- lib/controller/firebase/firbase_messge.dart | 7 +- lib/controller/functions/launch.dart | 28 ++-- .../home/map_passenger_controller.dart | 22 +-- .../home/splash_screen_controlle.dart | 6 +- lib/controller/rate/rate_conroller.dart | 24 +-- lib/views/Rate/rate_captain.dart | 8 +- lib/views/auth/login_page.dart | 37 +++-- .../map_widget.dart/ride_begin_passenger.dart | 3 +- macos/Flutter/GeneratedPluginRegistrant.swift | 4 + pubspec.lock | 138 ++++++++---------- pubspec.yaml | 24 +-- .../flutter/generated_plugin_registrant.cc | 3 + windows/flutter/generated_plugins.cmake | 1 + 23 files changed, 213 insertions(+), 171 deletions(-) create mode 100644 assets/fonts/digit.ttf delete mode 100644 assets/fonts/digital-counter-7.regular.ttf create mode 100644 assets/fonts/josefin.ttf create mode 100644 assets/fonts/mohanad.ttf create mode 100644 lib/controller/auth/apple_signin_controller.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 7ee31d7..b9e7a6c 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,8 +55,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 22 targetSdkVersion flutter.targetSdkVersion - versionCode 25 - versionName '1.4.8' + versionCode 27 + versionName '1.4.91' // manifestPlaceholders = [mapsApiKey: 'android/app/src/main/AndroidManifest.xml'] } diff --git a/assets/fonts/digit.ttf b/assets/fonts/digit.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5dbe6f908239d00a9f88c335df3efb9261ecc3cc GIT binary patch literal 34360 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 literal 0 HcmV?d00001 diff --git a/assets/fonts/mohanad.ttf b/assets/fonts/mohanad.ttf new file mode 100644 index 0000000000000000000000000000000000000000..854341c98142600d3af221cf6edfe8a9ec4551d7 GIT binary patch literal 120947 zcmeFa36xaTwLg5$J@?+KTXn~pd#;{orfwUXK~YKs1O+652q@BEH$yWthy#NN#z#;b z5K%-$AOOZ3Gor^zWx37scOI^@2$7K^{xMU-&+4$ zoUXdlIs5G2p3Xk!UKnSLCGbaOjpq#+I*idie=$Z!&l_{$*qy^d$FSd%G4JqsV=o?j zZ_%}do?$r5{4ovONSS{)gM6S5zs`Q%4j~6p`_A%74Vfy?T zb3ecG&yV3&+%GPiF?Hd57QlzU7({*Mj5&*^e{<{)?=qITgYmJ!nN4#S1zyl_E_^y; z<;P|=Pi^{C)Bb?E=1}`HaljoKsKWkM>{ra3d)1;L?>@erF=aT~PtR_?a^C)nf01VV z9?%oLY)zP{popA=Qbby%R^@}zU?OTr)+-f z!mIu;=;^JDKlwOg)};AYHqZZjamh%=2Hb)3)3dx~uRSsUtqoJ0fq!EqAQjv5e|dZy zeZLrXNBK9m=Z8iH=3+M}ucs5hBrvxfJP*C#-|XKU8hPRjoy7)va1H)`4(<#EmI`xO zh7|zTFxnM3tEl<>4yG|xJ5PO!F@JFOTN%q%D$|*w=(^B!O;OYpEdAsjmOdZVO7g}` zyl5=yO8f14%#ZQ=0&~TeICoA4f7EL2J$$8^P~T?L@rx<9WQ*v>li~@sPk)AO(vs|n zz>p`Zm3{GP79z@{tTu=8k+;u0dJad8T@hor&LP2G-*o zj;rrv@1yI)udrXh7K(oCOq}bduIxOnA7rKKjVzCTtNqwTS`yH1=Rx|W_GQ1(cj`Cw zxvNh^Khg9r3uq+zPA!tYHJwNC9Y%?E(MI&0T8OSw3;I3)AN<~= zO<-q2s0*@%{Y7P*&XbHB3@V+!0neNCZR|H)Sjzq+JHOWYfRE*DrnZB*`sJ)a8w|em zV720HwoJUrF4rGq%K|GUT_Xv9l0A8E9y<%|mdoGkSs(Rtwh85B$j3W4&Q9-6Uxhwk@KnG{sFjtH_9Zn zl1&P|02v}#B>C(5#&0QqHEbfjr_ygJZzOY6fK^u^98l-WC_7NzLwN&yy9M7z@Li7Y zqxc?)@0YbnY`n68^&*)ixgq&fAtNLo`qgZKlr7LM`!EyqKt8Eo`ZK&hG_Z9jlTexh zFSB*I(nR_qWf3%X)l0HPa^3Y!=X3hITT6Bx11d(5N%XYcSG*nEwDvt{&$vA zo?}g-oHZ#|u_pd4e*ZoDt-g!zn^}_<$GN{{zv;I+?PO8D!Z{T2LAC@qXh#WNpDjAR zsi@5;jkpG$MGxcmy{K=y)d{>|p@l7lyk3Ghc zd^jr>F8d40A(X`^7RpahZbTW0l7~`>(uy)v)Us;v0@`{J^xTN=Tz{2Jwyz3krhbd3 zvitmX(1QM}!$H^YU{4=}Z3i#-t2sV&!|`Wu{7w|`MqGNz@mF!I4YCbhX}C^QVjssO z-{#>MyolB>w?8GfKPb0P_0W0jOTMnm@fY93W3}w$H}P2~o_&IQpM`(w+W!>$PeX?Y zgCV%)GVt8{hy4VO5jGRh-Y~S+`ycizPzNxRZRW$ao`-$H@0VyVw@)}~?KlR{DOTe= zFjZ$@|KjXE;TxO}d5B;iZ4lPb=O$$b`Zg8EfIIAKllUWk@5gz_0P#q93g_=fAw1GJ zb{fvZgOh9!J|rLNDttpmpaV_HN4WOKINyQ&|3E>V>M@l2QNGT8Ym7CKcP`|d7ykcb z``<$-DEUWXiX;=WfB#SNv#3yh;2vVY^DV>Fm=LNO)QzB`s#;KB(@$(d1cO1%2+*bn zf~p$OLqYrs=z1_<;IAswpr#?}(lo?gxK$XshQpewYx0D^h1h}t+Uwe6BXWmY!tJsc zhM{ReBY-A@IHCu14GrQLsMGOJH_&h(WN0`9!cT<>3-^nzrck*+ zU785s52`^QR5TPI0t5KqW+EP&sv&d~s!&u#Q*e{)6R{>33I%YXN;Rm|O&V!AbW*Ffx2qG#1B%~*? zgz%r-K&r%&Bmx)buq0W_VTm51r?Svp#0�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 V(le`v$9st signInWithApple() async { + try { + final appleCredential = await SignInWithApple.getAppleIDCredential( + scopes: [ + AppleIDAuthorizationScopes.email, + AppleIDAuthorizationScopes.fullName, + ], + ); + + final oAuthProvider = OAuthProvider('apple.com'); + final credential = oAuthProvider.credential( + idToken: appleCredential.identityToken, + accessToken: appleCredential.authorizationCode, + ); + + UserCredential userCredential = + await _auth.signInWithCredential(credential); + return userCredential.user; + } catch (error) { + print("Error during Apple sign-in: $error"); + return null; + } + } + + void signOut() async { + await _auth.signOut(); + } +} diff --git a/lib/controller/auth/login_controller.dart b/lib/controller/auth/login_controller.dart index fa9a5c8..5937e42 100644 --- a/lib/controller/auth/login_controller.dart +++ b/lib/controller/auth/login_controller.dart @@ -66,8 +66,9 @@ class LoginController extends GetxController { if (jsonDecoeded['status'] == 'success' && jsonDecoeded['data'][0]['verified'] == 1) { // - box.write(BoxName.isVerified, 'true'); + box.write(BoxName.isVerified, '1'); box.write(BoxName.email, jsonDecoeded['data'][0]['email']); + box.write(BoxName.phone, jsonDecoeded['data'][0]['phone']); print(box.read(BoxName.tokenFCM)); var token = await CRUD().get(link: AppLink.getTokens, payload: { @@ -78,12 +79,14 @@ class LoginController extends GetxController { if (token != 'failure') { if (jsonDecode(token)['data'][0]['token'] != box.read(BoxName.tokenFCM)) { + print('token changed'); Get.put(FirebaseMessagesController()) .sendNotificationToAnyWithoutData( 'token change', 'change device', jsonDecode(token)['data'][0]['token'].toString(), ); + Future.delayed(const Duration(seconds: 1)); await CRUD().post(link: AppLink.addTokens, payload: { 'token': box.read(BoxName.tokenFCM), 'passengerID': box.read(BoxName.passengerID).toString() diff --git a/lib/controller/auth/register_controller.dart b/lib/controller/auth/register_controller.dart index a57771a..2f1b26c 100644 --- a/lib/controller/auth/register_controller.dart +++ b/lib/controller/auth/register_controller.dart @@ -116,7 +116,7 @@ class RegisterController extends GetxController { payload: payload, ); if (jsonDecode(res1)['status'] == 'success') { - box.write(BoxName.isVerified, 'true'); + box.write(BoxName.isVerified, '1'); box.write(BoxName.phone, '+2${phoneController.text}'); Get.offAll(const MapPagePassenger()); } diff --git a/lib/controller/firebase/firbase_messge.dart b/lib/controller/firebase/firbase_messge.dart index ca5ec03..3876172 100644 --- a/lib/controller/firebase/firbase_messge.dart +++ b/lib/controller/firebase/firbase_messge.dart @@ -94,12 +94,7 @@ class FirebaseMessagesController extends GetxController { Future getToken() async { fcmToken.getToken().then((token) { - if (box.read(BoxName.email) == null) { - box.write(BoxName.tokenDriver, token); - } else { - box.write(BoxName.tokenFCM, token); - } - print(token); + box.write(BoxName.tokenFCM, token); }); FirebaseMessaging.onMessage.listen((RemoteMessage message) { diff --git a/lib/controller/functions/launch.dart b/lib/controller/functions/launch.dart index c4a5668..3c170f3 100644 --- a/lib/controller/functions/launch.dart +++ b/lib/controller/functions/launch.dart @@ -13,24 +13,24 @@ void launchCommunication( String method, String contactInfo, String message) async { String url; + // Encode the message + String encodedMessage = Uri.encodeComponent(message); + if (Platform.isIOS) { switch (method) { case 'phone': url = 'tel:$contactInfo'; break; - case 'sms': - url = 'sms:$contactInfo?body=$message'; + url = 'sms:$contactInfo?body=$encodedMessage'; break; - case 'whatsapp': - url = 'https://api.whatsapp.com/send?phone=$contactInfo&text=$message'; + url = + 'https://api.whatsapp.com/send?phone=$contactInfo&text=$encodedMessage'; break; - case 'email': - url = 'mailto:$contactInfo?subject=Subject&body=$message'; + url = 'mailto:$contactInfo?subject=Subject&body=$encodedMessage'; break; - default: print('Method not supported on iOS'); return; @@ -40,19 +40,15 @@ void launchCommunication( case 'phone': url = 'tel:$contactInfo'; break; - case 'sms': - url = 'sms:$contactInfo?body=$message'; + url = 'sms:$contactInfo?body=$encodedMessage'; break; - case 'whatsapp': - url = 'whatsapp://send?phone=$contactInfo&text=$message'; + url = 'whatsapp://send?phone=$contactInfo&text=$encodedMessage'; break; - case 'email': - url = 'mailto:$contactInfo?subject=Subject&body=$message'; + url = 'mailto:$contactInfo?subject=Subject&body=$encodedMessage'; break; - default: print('Method not supported on Android'); return; @@ -62,8 +58,8 @@ void launchCommunication( return; } - if (await canLaunchUrl(Uri.parse(url))) { - launchUrl(Uri.parse(url)); + if (await canLaunch(url)) { + await launch(url); } else { print('Could not launch $url'); } diff --git a/lib/controller/home/map_passenger_controller.dart b/lib/controller/home/map_passenger_controller.dart index 2853a78..47fa470 100644 --- a/lib/controller/home/map_passenger_controller.dart +++ b/lib/controller/home/map_passenger_controller.dart @@ -479,14 +479,13 @@ class MapPassengerController extends GetxController { void sendWhatsapp(String to) async { // Get the driver's phone number. - // String driverPhone = - // dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString(); + // String driverPhone = dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString(); // Format the message. String message = '${'${'Hi! This is'.tr} ${box.read(BoxName.name)}.\n${' I am using'.tr}'} ${AppInformation.appName}${' to ride with'.tr} $firstName${' as the driver.'.tr} $firstName \n${'is driving a '.tr}$model\n${' with license plate '.tr}$licensePlate.\n${' I am currently located at '.tr} https://www.google.com/maps/place/${passengerLocation.latitude},${passengerLocation.longitude}.\n${' If you need to reach me, please contact the driver directly at'.tr}\n\n $driverPhone.'; - // Launch the URL to send the SMS. + // Launch the URL to send the WhatsApp message. launchCommunication('whatsapp', to, message); } @@ -889,7 +888,7 @@ class MapPassengerController extends GetxController { driverPhone = dataCarsLocationByPassenger['message'][carsOrder]['phone'].toString(); firstName = dataCarsLocationByPassenger['message'][carsOrder] - ['driverName'] + ['first_name'] // driverName .toString(); carColor = dataCarsLocationByPassenger['message'][carsOrder]['color'].toString(); @@ -1338,7 +1337,9 @@ class MapPassengerController extends GetxController { for (var i = 0; i < loopCount; i++) { // Wait for 50 seconds. await Future.delayed(const Duration(seconds: 4)); - await getDriverCarsLocationToPassengerAfterApplied(); + if (isRideFinished == true) { + await getDriverCarsLocationToPassengerAfterApplied(); + } reloadMarkerDriverCarsLocationToPassengerAfterApplied(); } } @@ -1352,7 +1353,9 @@ class MapPassengerController extends GetxController { // Wait for 50 seconds. print('loop is $i from $loopCount'); await Future.delayed(const Duration(seconds: 4)); - await getDriverCarsLocationToPassengerAfterApplied(); + if (isRideFinished == true) { + await getDriverCarsLocationToPassengerAfterApplied(); + } reloadMarkerDriverCarsLocationToPassengerAfterApplied(); } } @@ -1642,7 +1645,7 @@ class MapPassengerController extends GetxController { Future getPlaces() async { var url = // '${AppLink.googleMapsLink}place/nearbysearch/json?location=${mylocation.longitude}&radius=25000&language=ar&keyword=&key=${placeController.text}${AK.mapAPIKEY}'; - '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeDestinationController.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=${box.read(BoxName.lang)}&key=${AK.mapAPIKEY.toString()}'; + '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeDestinationController.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=ar&key=${AK.mapAPIKEY.toString()}'; var response = await CRUD().getGoogleApi(link: url, payload: {}); @@ -1654,7 +1657,7 @@ class MapPassengerController extends GetxController { Future getPlacesStart() async { var url = // '${AppLink.googleMapsLink}place/nearbysearch/json?location=${mylocation.longitude}&radius=25000&language=ar&keyword=&key=${placeController.text}${AK.mapAPIKEY}'; - '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeStartController.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=${box.read(BoxName.lang)}&key=${AK.mapAPIKEY.toString()}'; + '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${placeStartController.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=ar&key=${AK.mapAPIKEY.toString()}'; var response = await CRUD().getGoogleApi(link: url, payload: {}); @@ -1665,7 +1668,7 @@ class MapPassengerController extends GetxController { Future getPlacesListsWayPoint(int index) async { var url = - '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint0Controller.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=${box.read(BoxName.lang)}&key=${AK.mapAPIKEY.toString()}'; + '${AppLink.googleMapsLink}place/nearbysearch/json?keyword=${wayPoint0Controller.text}&location=${passengerLocation.latitude},${passengerLocation.longitude}&radius=50000&language=ar&key=${AK.mapAPIKEY.toString()}'; var response = await CRUD().getGoogleApi(link: url, payload: {}); @@ -2619,6 +2622,7 @@ class MapPassengerController extends GetxController { startMarkerReloading(); Get.put(TextToSpeechController()); box.write(BoxName.carType, 'yet'); + box.write(BoxName.tipPercentage, '0'); // await getNearestDriverByPassengerLocation(); initilizeGetStorage(); diff --git a/lib/controller/home/splash_screen_controlle.dart b/lib/controller/home/splash_screen_controlle.dart index 5475688..4ea2eb9 100644 --- a/lib/controller/home/splash_screen_controlle.dart +++ b/lib/controller/home/splash_screen_controlle.dart @@ -45,12 +45,16 @@ class SplashScreenController extends GetxController } void startTimer() async { + print(box.read(BoxName.email)); + print(box.read(BoxName.phone)); + print(box.read(BoxName.isVerified)); + print('---------'); Timer(const Duration(seconds: 5), () async { box.read(BoxName.onBoarding) == null ? Get.off(() => OnBoardingPage()) : box.read(BoxName.email) != null && box.read(BoxName.phone) != null && - box.read(BoxName.isVerified) == 'true' + box.read(BoxName.isVerified) == '1' // ? Get.off(() => const MapPagePassenger()) ? await Get.put(LoginController()).loginFromSignInGoogle( box.read(BoxName.passengerID).toString(), diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 69db08e..889156e 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -10,6 +10,7 @@ import 'package:SEFER/views/home/map_page_passenger.dart'; import 'package:SEFER/views/widgets/elevated_btn.dart'; import '../firebase/firbase_messge.dart'; +import '../payment/payment_controller.dart'; // import '../home/captin/home_captain_controller.dart'; @@ -78,7 +79,7 @@ class RateController extends GetxController { titleStyle: AppStyle.title, middleText: '', confirm: MyElevatedButton(title: 'Ok', onPressed: () => Get.back())); - } else { + } else if (Get.find().isWalletChecked == true) { var tip = (Get.find().totalPassenger) * (double.parse(box.read(BoxName.tipPercentage.toString()))); var res = await CRUD().post(link: AppLink.addTips, payload: { @@ -108,17 +109,16 @@ class RateController extends GetxController { Get.find().driverToken.toString(), ); } - - await CRUD().post(link: AppLink.addRateToDriver, payload: { - 'passenger_id': box.read(BoxName.passengerID).toString(), - 'driver_id': driverId, - 'ride_id': rideId, - 'rating': selectedRateItemId.toString(), - 'comment': comment.text, - }).then((value) { - Get.find().restCounter(); - Get.offAll(const MapPagePassenger()); - }); } + await CRUD().post(link: AppLink.addRateToDriver, payload: { + 'passenger_id': box.read(BoxName.passengerID).toString(), + 'driver_id': driverId, + 'ride_id': rideId, + 'rating': selectedRateItemId.toString(), + 'comment': comment.text, + }).then((value) { + Get.find().restCounter(); + Get.offAll(const MapPagePassenger()); + }); } } diff --git a/lib/views/Rate/rate_captain.dart b/lib/views/Rate/rate_captain.dart index aae1db2..0312af1 100644 --- a/lib/views/Rate/rate_captain.dart +++ b/lib/views/Rate/rate_captain.dart @@ -108,11 +108,9 @@ class RateDriverFromPassenger extends StatelessWidget { textAlign: TextAlign.center, ), ), - (Get.find().isCashChecked == - false && - Get.find() - .isWalletChecked == - true) + (Get.find() + .isWalletChecked == + true) ? const DriverTipWidget() : const SizedBox(), ], diff --git a/lib/views/auth/login_page.dart b/lib/views/auth/login_page.dart index 0dee108..7d5fd77 100644 --- a/lib/views/auth/login_page.dart +++ b/lib/views/auth/login_page.dart @@ -1,7 +1,9 @@ import 'dart:convert'; +import 'dart:io'; import 'package:SEFER/views/auth/sms_verfy_page.dart'; import 'package:animated_text_kit/animated_text_kit.dart'; +import 'package:firebase_auth/firebase_auth.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; @@ -15,6 +17,7 @@ import 'package:SEFER/views/widgets/my_scafold.dart'; import '../../constant/info.dart'; import '../../constant/links.dart'; +import '../../controller/auth/apple_signin_controller.dart'; import '../../controller/auth/google_sign.dart'; import '../../controller/auth/login_controller.dart'; import '../../controller/firebase/firbase_messge.dart'; @@ -25,6 +28,7 @@ import 'register_page.dart'; class LoginPage extends StatelessWidget { final controller = Get.put(LoginController()); + final AuthController authController = Get.put(AuthController()); LoginPage({super.key}); @@ -219,15 +223,30 @@ class LoginPage extends StatelessWidget { }, kolor: AppColor.blueColor, ), - // MyElevatedButton( - // title: 'Sign In by Google'.tr, - // onPressed: () async { - // print(box.read(BoxName.email)); - // print(box.read(BoxName.phone)); - // print(box.read(BoxName.isVerified)); - // }, - // kolor: AppColor.blueColor, - // ), + !Platform.isAndroid + ? MyElevatedButton( + title: 'Sign In by Apple'.tr, + onPressed: () async { + User? user = + await authController.signInWithApple(); + if (user != null) { + print( + "Successfully signed in: ${user.email}"); + print( + "Successfully signed in: ${user.uid}"); + box.write(BoxName.driverID, user.uid); + box.write( + BoxName.emailDriver, user.email); + await GoogleSignInHelper + .signInFromLogin(); + // Navigate to another screen or perform other actions + } else { + print("Sign-in failed"); + } + }, + kolor: AppColor.primaryColor, + ) + : const SizedBox(), ], ), )), diff --git a/lib/views/home/map_widget.dart/ride_begin_passenger.dart b/lib/views/home/map_widget.dart/ride_begin_passenger.dart index 82260ef..9e09228 100644 --- a/lib/views/home/map_widget.dart/ride_begin_passenger.dart +++ b/lib/views/home/map_widget.dart/ride_begin_passenger.dart @@ -1,3 +1,4 @@ +import 'package:SEFER/constant/links.dart'; import 'package:SEFER/views/home/profile/feed_back_page.dart'; import 'package:SEFER/views/widgets/elevated_btn.dart'; import 'package:flutter/material.dart'; @@ -45,7 +46,7 @@ class RideBeginPassenger extends StatelessWidget { CircleAvatar( radius: 30, backgroundImage: NetworkImage( - 'https://ride.mobile-app.store/portrate_captain_image/${controller.driverId}.jpg'), + '${AppLink.server}/portrate_captain_image/${controller.driverId}.jpg'), ), Column( children: [ diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 0806438..ad6a21e 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -9,6 +9,7 @@ import agora_rtc_engine import audio_session import device_info_plus import file_selector_macos +import firebase_auth import firebase_core import firebase_messaging import flutter_local_notifications @@ -22,6 +23,7 @@ import location import package_info_plus import path_provider_foundation import record_darwin +import sign_in_with_apple import sqflite import url_launcher_macos import video_player_avfoundation @@ -32,6 +34,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) + FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) FLTFirebaseMessagingPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseMessagingPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) @@ -45,6 +48,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin")) + SignInWithApplePlugin.register(with: registry.registrar(forPlugin: "SignInWithApplePlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) FVPVideoPlayerPlugin.register(with: registry.registrar(forPlugin: "FVPVideoPlayerPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 27feefc..58012b9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: _flutterfire_internals - sha256: f5628cd9c92ed11083f425fd1f8f1bc60ecdda458c81d73b143aeda036c35fe7 + sha256: e4be6711f96d3d4eebe79728897d645b7a5585bbfdd6d534878d202c171266d7 url: "https://pub.dev" source: hosted - version: "1.3.16" + version: "1.3.34" agora_rtc_engine: dependency: "direct main" description: @@ -146,7 +146,7 @@ packages: source: hosted version: "8.8.1" cached_network_image: - dependency: "direct main" + dependency: transitive description: name: cached_network_image sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f @@ -177,46 +177,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.0.6" - camera: - dependency: "direct main" - description: - name: camera - sha256: "7fa53bb1c2059e58bf86b7ab506e3b2a78e42f82d365b44b013239b975a166ef" - url: "https://pub.dev" - source: hosted - version: "0.10.5+7" - camera_android: - dependency: transitive - description: - name: camera_android - sha256: "7215e38fa0be58cc3203a6e48de3636fb9b1bf93d6eeedf667f882d51b3a4bf3" - url: "https://pub.dev" - source: hosted - version: "0.10.8+15" - camera_avfoundation: - dependency: transitive - description: - name: camera_avfoundation - sha256: "3c8dd395f18722f01b5f325ddd7f5256e9bcdce538fb9243b378ba759df3283c" - url: "https://pub.dev" - source: hosted - version: "0.9.13+8" - camera_platform_interface: - dependency: transitive - description: - name: camera_platform_interface - sha256: b6a568984254cadaca41a6b896d87d3b2e79a2e5791afa036f8d524c6783b93a - url: "https://pub.dev" - source: hosted - version: "2.7.0" - camera_web: - dependency: transitive - description: - name: camera_web - sha256: d4c2c571c7af04f8b10702ca16bb9ed2a26e64534171e8f75c9349b2c004d8f1 - url: "https://pub.dev" - source: hosted - version: "0.3.2+3" characters: dependency: transitive description: @@ -313,14 +273,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.6" - custom_searchable_dropdown: - dependency: "direct main" - description: - name: custom_searchable_dropdown - sha256: c2676b1ee55f0b71a7cd890ae473cf97651f018b2695b3bf57c8c28a14e2fa95 - url: "https://pub.dev" - source: hosted - version: "2.1.1" dart_style: dependency: transitive description: @@ -338,7 +290,7 @@ packages: source: hosted version: "0.7.10" device_info_plus: - dependency: "direct main" + dependency: transitive description: name: device_info_plus sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6" @@ -433,14 +385,38 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.3+1" + firebase_auth: + dependency: "direct main" + description: + name: firebase_auth + sha256: ea95cd29e27e8ec1971af263d74b208ce85dbc7df9197d8b5eab2aa7de7cfea8 + url: "https://pub.dev" + source: hosted + version: "4.19.6" + firebase_auth_platform_interface: + dependency: transitive + description: + name: firebase_auth_platform_interface + sha256: c252d2c97a02cf03fbf3595c5f7edf2a731062356b09d2c338f0b3d63567239f + url: "https://pub.dev" + source: hosted + version: "7.2.7" + firebase_auth_web: + dependency: transitive + description: + name: firebase_auth_web + sha256: "5db2319d59b4bb08cf0cc26e0f110f9ae1cf9cf775ce516e5cc38cd6704253de" + url: "https://pub.dev" + source: hosted + version: "5.11.6" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "96607c0e829a581c2a483c658f04e8b159964c3bae2730f73297070bc85d40bb" + sha256: "4b5100e2dbc3fe72c2d4241a046d3f01457fe11293283a324f5c52575e3406f8" url: "https://pub.dev" source: hosted - version: "2.24.2" + version: "2.31.1" firebase_core_platform_interface: dependency: transitive description: @@ -453,10 +429,10 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: d585bdf3c656c3f7821ba1bd44da5f13365d22fcecaf5eb75c4295246aaa83c0 + sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.17.0" firebase_messaging: dependency: "direct main" description: @@ -816,22 +792,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.2" - google_fonts: - dependency: "direct main" - description: - name: google_fonts - sha256: "6b6f10f0ce3c42f6552d1c70d2c28d764cf22bb487f50f66cca31dcd5194f4d6" - url: "https://pub.dev" - source: hosted - version: "4.0.4" - google_generative_ai: - dependency: "direct main" - description: - name: google_generative_ai - sha256: "946f37c947bbc3591ed1c2878f8a41a0f75e74468dae791f84f14db3df3f3551" - url: "https://pub.dev" - source: hosted - version: "0.0.1-dev" google_identity_services_web: dependency: transitive description: @@ -985,7 +945,7 @@ packages: source: hosted version: "4.0.2" image: - dependency: "direct main" + dependency: transitive description: name: image sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" @@ -1256,14 +1216,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - lottie: - dependency: "direct main" - description: - name: lottie - sha256: a93542cc2d60a7057255405f62252533f8e8956e7e06754955669fd32fb4b216 - url: "https://pub.dev" - source: hosted - version: "2.7.0" matcher: dependency: transitive description: @@ -1616,6 +1568,30 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.4" + sign_in_with_apple: + dependency: "direct main" + description: + name: sign_in_with_apple + sha256: b0abd9c0d0407140829b12cd99a250f10b20352573ff08c7e0c5174c64b4973e + url: "https://pub.dev" + source: hosted + version: "6.1.0" + sign_in_with_apple_platform_interface: + dependency: transitive + description: + name: sign_in_with_apple_platform_interface + sha256: c2ef2ce6273fce0c61acd7e9ff5be7181e33d7aa2b66508b39418b786cca2119 + url: "https://pub.dev" + source: hosted + version: "1.1.0" + sign_in_with_apple_web: + dependency: transitive + description: + name: sign_in_with_apple_web + sha256: c009e9beeb6c376e86aaa154fcc8b4e075d4bad90c56286b9668a51cdb6129ea + url: "https://pub.dev" + source: hosted + version: "2.1.0" sky_engine: dependency: transitive description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index a63026f..b3b998c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -18,16 +18,13 @@ dependencies: google_maps_flutter: ^2.5.0 sqflite: ^2.3.0 path: ^1.8.3 - lottie: ^2.5.0 intl: ^0.18.1 - google_fonts: ^ 4.0.4 http: ^0.13.6 get: ^4.6.5 get_storage: ^2.1.1 url_launcher: ^6.1.12 location: ^5.0.2+1 google_polyline_algorithm: ^3.1.0 - custom_searchable_dropdown: ^2.1.1 animated_text_kit: ^4.2.2 flutter_secure_storage: ^9.0.0 geolocator: ^10.0.0 @@ -35,21 +32,20 @@ dependencies: flutter_launcher_icons: ^0.13.1 flutter_rating_bar: ^4.0.1 flutter_font_icons: ^2.2.5 - device_info_plus: ^9.1.0 image_picker: ^1.0.4 flutter_stripe: ^9.5.0+1 - camera: ^0.10.5+5 +# camera: ^0.10.5+5 #to be remove flutter_widget_from_html: ^0.14.6 local_auth: ^2.1.7 - image: ^4.1.3 +# image: ^4.1.3 #to be remove image_cropper: ^4.0.1 envied: ^0.5.2 - cached_network_image: ^3.3.0 +# cached_network_image: ^3.3.0 calendar_builder: ^0.0.6 agora_rtc_engine: ^6.2.6 flutter_tts: ^3.8.5 permission_handler: ^11.3.0 - google_generative_ai: ^0.0.1-dev +# google_generative_ai: ^0.0.1-dev vibration: ^1.8.4 wakelock_plus: record: ^5.0.5 @@ -58,6 +54,8 @@ dependencies: just_audio: ^0.9.37 share: ^2.0.4 google_sign_in: ^6.2.1 + sign_in_with_apple: ^6.1.0 + firebase_auth: ^4.19.6 @@ -96,6 +94,12 @@ flutter: - shorebird.yaml fonts: - - family: digital-counter-7 + - family: mohanad fonts: - - asset: assets/fonts/digital-counter-7.regular.ttf \ No newline at end of file + - asset: assets/fonts/mohanad.ttf + - family: josefin + fonts: + - asset: assets/fonts/josefin.ttf + - family: digit + fonts: + - asset: assets/fonts/digit.ttf \ No newline at end of file diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 8e8d77f..77a5f42 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -23,6 +24,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("AgoraRtcEnginePlugin")); FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); + FirebaseAuthPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FirebaseAuthPluginCApi")); FirebaseCorePluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 4a63bae..71a0a7a 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -5,6 +5,7 @@ list(APPEND FLUTTER_PLUGIN_LIST agora_rtc_engine file_selector_windows + firebase_auth firebase_core flutter_secure_storage_windows flutter_tts