5/10/1
This commit is contained in:
@@ -15,13 +15,13 @@
|
|||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||||
|
C60CA7372BE9EF38002095B2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C60CA7362BE9EF38002095B2 /* GoogleService-Info.plist */; };
|
||||||
C624C4642BD56D34002834AF /* tone1.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = C624C45C2BD56D34002834AF /* tone1.mp3 */; };
|
C624C4642BD56D34002834AF /* tone1.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = C624C45C2BD56D34002834AF /* tone1.mp3 */; };
|
||||||
C624C4652BD56D34002834AF /* start.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C45D2BD56D34002834AF /* start.wav */; };
|
C624C4652BD56D34002834AF /* start.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C45D2BD56D34002834AF /* start.wav */; };
|
||||||
C624C4672BD56D34002834AF /* promo.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C45F2BD56D34002834AF /* promo.wav */; };
|
C624C4672BD56D34002834AF /* promo.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C45F2BD56D34002834AF /* promo.wav */; };
|
||||||
C624C4682BD56D34002834AF /* cancel.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4602BD56D34002834AF /* cancel.wav */; };
|
C624C4682BD56D34002834AF /* cancel.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4602BD56D34002834AF /* cancel.wav */; };
|
||||||
C624C4692BD56D34002834AF /* iphone_ringtone.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4612BD56D34002834AF /* iphone_ringtone.wav */; };
|
C624C4692BD56D34002834AF /* iphone_ringtone.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4612BD56D34002834AF /* iphone_ringtone.wav */; };
|
||||||
C624C46A2BD56D34002834AF /* order1.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4622BD56D34002834AF /* order1.wav */; };
|
C624C46A2BD56D34002834AF /* order1.wav in Resources */ = {isa = PBXBuildFile; fileRef = C624C4622BD56D34002834AF /* order1.wav */; };
|
||||||
C690B4752A80554500E1D66E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C690B4742A80554500E1D66E /* GoogleService-Info.plist */; };
|
|
||||||
C6B15AA12B5FB24600746405 /* order.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15A9F2B5FB24600746405 /* order.wav */; };
|
C6B15AA12B5FB24600746405 /* order.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15A9F2B5FB24600746405 /* order.wav */; };
|
||||||
C6B15AA22B5FB24600746405 /* tone2.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15AA02B5FB24600746405 /* tone2.wav */; };
|
C6B15AA22B5FB24600746405 /* tone2.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15AA02B5FB24600746405 /* tone2.wav */; };
|
||||||
D529E7C8240CCC30BB7358A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */; };
|
D529E7C8240CCC30BB7358A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */; };
|
||||||
@@ -72,13 +72,13 @@
|
|||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
|
C60CA7362BE9EF38002095B2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "../../../../../Downloads/GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
C624C45C2BD56D34002834AF /* tone1.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = tone1.mp3; path = ../../android/app/src/main/res/raw/tone1.mp3; sourceTree = "<group>"; };
|
C624C45C2BD56D34002834AF /* tone1.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = tone1.mp3; path = ../../android/app/src/main/res/raw/tone1.mp3; sourceTree = "<group>"; };
|
||||||
C624C45D2BD56D34002834AF /* start.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = start.wav; path = ../../android/app/src/main/res/raw/start.wav; sourceTree = "<group>"; };
|
C624C45D2BD56D34002834AF /* start.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = start.wav; path = ../../android/app/src/main/res/raw/start.wav; sourceTree = "<group>"; };
|
||||||
C624C45F2BD56D34002834AF /* promo.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = promo.wav; path = ../../android/app/src/main/res/raw/promo.wav; sourceTree = "<group>"; };
|
C624C45F2BD56D34002834AF /* promo.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = promo.wav; path = ../../android/app/src/main/res/raw/promo.wav; sourceTree = "<group>"; };
|
||||||
C624C4602BD56D34002834AF /* cancel.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = cancel.wav; path = ../../android/app/src/main/res/raw/cancel.wav; sourceTree = "<group>"; };
|
C624C4602BD56D34002834AF /* cancel.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = cancel.wav; path = ../../android/app/src/main/res/raw/cancel.wav; sourceTree = "<group>"; };
|
||||||
C624C4612BD56D34002834AF /* iphone_ringtone.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = iphone_ringtone.wav; path = ../../android/app/src/main/res/raw/iphone_ringtone.wav; sourceTree = "<group>"; };
|
C624C4612BD56D34002834AF /* iphone_ringtone.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = iphone_ringtone.wav; path = ../../android/app/src/main/res/raw/iphone_ringtone.wav; sourceTree = "<group>"; };
|
||||||
C624C4622BD56D34002834AF /* order1.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = order1.wav; path = ../../android/app/src/main/res/raw/order1.wav; sourceTree = "<group>"; };
|
C624C4622BD56D34002834AF /* order1.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = order1.wav; path = ../../android/app/src/main/res/raw/order1.wav; sourceTree = "<group>"; };
|
||||||
C690B4742A80554500E1D66E /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
|
||||||
C69588332A8C1F6B00C3AC67 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
|
C69588332A8C1F6B00C3AC67 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = "<group>"; };
|
||||||
C6B15A9F2B5FB24600746405 /* order.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = order.wav; sourceTree = "<group>"; };
|
C6B15A9F2B5FB24600746405 /* order.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = order.wav; sourceTree = "<group>"; };
|
||||||
C6B15AA02B5FB24600746405 /* tone2.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = tone2.wav; sourceTree = "<group>"; };
|
C6B15AA02B5FB24600746405 /* tone2.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = tone2.wav; sourceTree = "<group>"; };
|
||||||
@@ -175,7 +175,7 @@
|
|||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */,
|
97C146FD1CF9000F007C117D /* Assets.xcassets */,
|
||||||
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
|
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
|
||||||
97C147021CF9000F007C117D /* Info.plist */,
|
97C147021CF9000F007C117D /* Info.plist */,
|
||||||
C690B4742A80554500E1D66E /* GoogleService-Info.plist */,
|
C60CA7362BE9EF38002095B2 /* GoogleService-Info.plist */,
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
||||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
|
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
|
||||||
@@ -297,11 +297,11 @@
|
|||||||
C624C4682BD56D34002834AF /* cancel.wav in Resources */,
|
C624C4682BD56D34002834AF /* cancel.wav in Resources */,
|
||||||
C6B15AA12B5FB24600746405 /* order.wav in Resources */,
|
C6B15AA12B5FB24600746405 /* order.wav in Resources */,
|
||||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
|
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
|
||||||
C690B4752A80554500E1D66E /* GoogleService-Info.plist in Resources */,
|
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
|
||||||
C624C4692BD56D34002834AF /* iphone_ringtone.wav in Resources */,
|
C624C4692BD56D34002834AF /* iphone_ringtone.wav in Resources */,
|
||||||
C624C4642BD56D34002834AF /* tone1.mp3 in Resources */,
|
C624C4642BD56D34002834AF /* tone1.mp3 in Resources */,
|
||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
|
||||||
|
C60CA7372BE9EF38002095B2 /* GoogleService-Info.plist in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ class AppColor {
|
|||||||
static const Color primaryColor = Colors.black;
|
static const Color primaryColor = Colors.black;
|
||||||
static const Color secondaryColor = Colors.white;
|
static const Color secondaryColor = Colors.white;
|
||||||
static const Color accentColor = Colors.grey;
|
static const Color accentColor = Colors.grey;
|
||||||
|
static const Color pink = Colors.purpleAccent;
|
||||||
static const Color redColor = Color(0xFFEA4335); // Google Red
|
static const Color redColor = Color(0xFFEA4335); // Google Red
|
||||||
static const Color greenColor = Color(0xFF34A853); // Google Green
|
static const Color greenColor = Color(0xFF34A853); // Google Green
|
||||||
static const Color blueColor = Color(0xFF4285F4); // Google Blue
|
static const Color blueColor = Color(0xFF4285F4); // Google Blue
|
||||||
|
|||||||
@@ -110,6 +110,20 @@ class FirebaseMessagesController extends GetxController {
|
|||||||
fireBaseTitles(message);
|
fireBaseTitles(message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
FirebaseMessaging.onBackgroundMessage((RemoteMessage message) async {
|
||||||
|
// Handle background message
|
||||||
|
if (message.data.isNotEmpty && message.notification != null) {
|
||||||
|
print(message.notification?.title);
|
||||||
|
fireBaseTitles(message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
|
||||||
|
if (message.data.isNotEmpty && message.notification != null) {
|
||||||
|
print(message.notification?.title);
|
||||||
|
fireBaseTitles(message);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void fireBaseTitles(RemoteMessage message) {
|
void fireBaseTitles(RemoteMessage message) {
|
||||||
|
|||||||
@@ -215,6 +215,7 @@ class MapPassengerController extends GetxController {
|
|||||||
late double totalCostPassenger = 0;
|
late double totalCostPassenger = 0;
|
||||||
late double totalPassengerComfort = 0;
|
late double totalPassengerComfort = 0;
|
||||||
late double totalPassengerComfortDiscount = 0;
|
late double totalPassengerComfortDiscount = 0;
|
||||||
|
late double totalPassengerLadyDiscount = 0;
|
||||||
late double totalPassengerSpeedDiscount = 0;
|
late double totalPassengerSpeedDiscount = 0;
|
||||||
late double totalPassengerMotoDelivery = 0;
|
late double totalPassengerMotoDelivery = 0;
|
||||||
late double totalDriver = 0;
|
late double totalDriver = 0;
|
||||||
@@ -1215,14 +1216,24 @@ class MapPassengerController extends GetxController {
|
|||||||
carsLocationByPassenger = [];
|
carsLocationByPassenger = [];
|
||||||
LatLngBounds bounds = calculateBounds(
|
LatLngBounds bounds = calculateBounds(
|
||||||
passengerLocation.latitude, passengerLocation.longitude, 7000);
|
passengerLocation.latitude, passengerLocation.longitude, 7000);
|
||||||
|
var res;
|
||||||
var res =
|
if (box.read(BoxName.carType) == 'Lady') {
|
||||||
await CRUD().get(link: AppLink.getCarsLocationByPassenger, payload: {
|
res = await CRUD()
|
||||||
'southwestLat': bounds.southwest.latitude.toString(),
|
.get(link: AppLink.getFemalDriverLocationByPassenger, payload: {
|
||||||
'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(),
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
res = await CRUD()
|
||||||
|
.get(link: AppLink.getCarsLocationByPassenger, payload: {
|
||||||
|
'southwestLat': bounds.southwest.latitude.toString(),
|
||||||
|
'southwestLon': bounds.southwest.longitude.toString(),
|
||||||
|
'northeastLat': bounds.northeast.latitude.toString(),
|
||||||
|
'northeastLon': bounds.northeast.longitude.toString(),
|
||||||
|
});
|
||||||
|
}
|
||||||
if (res == 'failure') {
|
if (res == 'failure') {
|
||||||
noCarString = true;
|
noCarString = true;
|
||||||
dataCarsLocationByPassenger = res;
|
dataCarsLocationByPassenger = res;
|
||||||
@@ -2358,6 +2369,7 @@ class MapPassengerController extends GetxController {
|
|||||||
|
|
||||||
double costForDriver = 0;
|
double costForDriver = 0;
|
||||||
double totalPassengerSpeed = 0;
|
double totalPassengerSpeed = 0;
|
||||||
|
double totalPassengerLady = 0;
|
||||||
Future bottomSheet() async {
|
Future bottomSheet() async {
|
||||||
if (data.isNotEmpty) {
|
if (data.isNotEmpty) {
|
||||||
durationToAdd = Duration(seconds: durationToRide);
|
durationToAdd = Duration(seconds: durationToRide);
|
||||||
@@ -2374,7 +2386,7 @@ class MapPassengerController extends GetxController {
|
|||||||
print('costDistance----- $costDistance');
|
print('costDistance----- $costDistance');
|
||||||
print(
|
print(
|
||||||
'passengerWalletTotal----- ${box.read(BoxName.passengerWalletTotal)}');
|
'passengerWalletTotal----- ${box.read(BoxName.passengerWalletTotal)}');
|
||||||
double costComfort, costSpeed, costDelivery, costMashwari = 0;
|
double costComfort, costSpeed, costDelivery, costMashwari, costLady = 0;
|
||||||
update();
|
update();
|
||||||
if (currentTime.hour >= 22 && currentTime.hour < 5) {
|
if (currentTime.hour >= 22 && currentTime.hour < 5) {
|
||||||
// costDistance = distance * latePrice;
|
// costDistance = distance * latePrice;
|
||||||
@@ -2382,6 +2394,7 @@ class MapPassengerController extends GetxController {
|
|||||||
costMashwari = (distance * mashwariPrice) + costDuration * latePrice;
|
costMashwari = (distance * mashwariPrice) + costDuration * latePrice;
|
||||||
costSpeed = (distance * speedPrice) + costDuration * latePrice;
|
costSpeed = (distance * speedPrice) + costDuration * latePrice;
|
||||||
costDelivery = (distance * deliveryPrice) + costDuration * latePrice;
|
costDelivery = (distance * deliveryPrice) + costDuration * latePrice;
|
||||||
|
costLady = (distance * comfortPrice + 2) + costDuration * latePrice;
|
||||||
|
|
||||||
update();
|
update();
|
||||||
} else if (currentTime.hour >= 13 && currentTime.hour <= 16) {
|
} else if (currentTime.hour >= 13 && currentTime.hour <= 16) {
|
||||||
@@ -2391,6 +2404,7 @@ class MapPassengerController extends GetxController {
|
|||||||
costMashwari = (distance * mashwariPrice) + costDuration * heavyPrice;
|
costMashwari = (distance * mashwariPrice) + costDuration * heavyPrice;
|
||||||
costSpeed = (distance * speedPrice) + costDuration * heavyPrice;
|
costSpeed = (distance * speedPrice) + costDuration * heavyPrice;
|
||||||
costDelivery = (distance * deliveryPrice) + costDuration * heavyPrice;
|
costDelivery = (distance * deliveryPrice) + costDuration * heavyPrice;
|
||||||
|
costLady = (distance * comfortPrice + 2) + costDuration * heavyPrice;
|
||||||
|
|
||||||
update();
|
update();
|
||||||
// } /
|
// } /
|
||||||
@@ -2400,6 +2414,7 @@ class MapPassengerController extends GetxController {
|
|||||||
costMashwari = (distance * mashwariPrice) + costDuration;
|
costMashwari = (distance * mashwariPrice) + costDuration;
|
||||||
costSpeed = (distance * speedPrice) + costDuration;
|
costSpeed = (distance * speedPrice) + costDuration;
|
||||||
costDelivery = (distance * deliveryPrice) + costDuration;
|
costDelivery = (distance * deliveryPrice) + costDuration;
|
||||||
|
costLady = (distance * comfortPrice + 2) + costDuration;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
//print('cost $cost');
|
//print('cost $cost');
|
||||||
@@ -2409,14 +2424,23 @@ class MapPassengerController extends GetxController {
|
|||||||
totalPassenger = costSpeed + (costSpeed * kazan / 100);
|
totalPassenger = costSpeed + (costSpeed * kazan / 100);
|
||||||
totalPassengerComfort =
|
totalPassengerComfort =
|
||||||
(costComfort + (costComfort * kazan / 100)).ceilToDouble();
|
(costComfort + (costComfort * kazan / 100)).ceilToDouble();
|
||||||
|
totalPassengerLady = (costLady + (costLady * kazan / 100)).ceilToDouble();
|
||||||
totalPassengerSpeed =
|
totalPassengerSpeed =
|
||||||
(costSpeed + (costSpeed * kazan / 100)).ceilToDouble();
|
(costSpeed + (costSpeed * kazan / 100)).ceilToDouble();
|
||||||
totalPassengerComfortDiscount =
|
totalPassengerComfortDiscount =
|
||||||
totalPassengerComfort + totalPassengerComfort * (kazan - 0) / 100;
|
totalPassengerComfort + totalPassengerComfort * (kazan - 0) / 100;
|
||||||
|
totalPassengerLadyDiscount =
|
||||||
|
totalPassengerLady + totalPassengerLady * (kazan - 0) / 100;
|
||||||
totalPassengerSpeedDiscount =
|
totalPassengerSpeedDiscount =
|
||||||
totalPassengerSpeed + totalPassengerSpeed * (kazan - 2) / 100;
|
totalPassengerSpeed + totalPassengerSpeed * (kazan - 2) / 100;
|
||||||
totalPassengerMotoDelivery =
|
totalPassengerMotoDelivery =
|
||||||
(costDelivery + (costDelivery * kazan / 100)).ceilToDouble();
|
(costDelivery + (costDelivery * kazan / 100)).ceilToDouble();
|
||||||
|
totalPassengerComfort = totalPassengerComfortDiscount -
|
||||||
|
(totalPassengerComfortDiscount * kazan / 100);
|
||||||
|
totalPassengerSpeed = totalPassengerSpeedDiscount -
|
||||||
|
(totalPassengerSpeedDiscount * kazan / 100);
|
||||||
|
totalPassengerLady = totalPassengerLadyDiscount -
|
||||||
|
(totalPassengerLadyDiscount * kazan / 100);
|
||||||
totalDriver = totalDriver1 + (totalDriver1 * kazan / 100);
|
totalDriver = totalDriver1 + (totalDriver1 * kazan / 100);
|
||||||
tax = totalCostPassenger * kazan / 100;
|
tax = totalCostPassenger * kazan / 100;
|
||||||
totalME = totalCostPassenger - tax;
|
totalME = totalCostPassenger - tax;
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ class MyTranslation extends Translations {
|
|||||||
@override
|
@override
|
||||||
Map<String, Map<String, String>> get keys => {
|
Map<String, Map<String, String>> get keys => {
|
||||||
"ar": {
|
"ar": {
|
||||||
|
'Pick or Tap to confirm': "اختر أو اضغط للتأكيد",
|
||||||
|
"To use Wallet charge it": "لاستخدام المحفظة، قم بشحنها.",
|
||||||
|
'\$ Next as Cash \$!': '\$ Cash \$ ',
|
||||||
|
'This trip just for girls only': "هذه الرحلة فقط للفتيات ",
|
||||||
'How do I request a ride?': 'كيف يمكنني طلب رحلة؟',
|
'How do I request a ride?': 'كيف يمكنني طلب رحلة؟',
|
||||||
'Step-by-step instructions on how to request a ride through the Sefer app.':
|
'Step-by-step instructions on how to request a ride through the Sefer app.':
|
||||||
'تعليمات خطوة بخطوة حول كيفية طلب رحلة من خلال تطبيق Sefer.',
|
'تعليمات خطوة بخطوة حول كيفية طلب رحلة من خلال تطبيق Sefer.',
|
||||||
@@ -31,7 +35,7 @@ class MyTranslation extends Translations {
|
|||||||
'ما هي التدابير الأمنية التي يقدمها Sefer؟',
|
'ما هي التدابير الأمنية التي يقدمها Sefer؟',
|
||||||
'Sefer prioritizes your safety. We offer features like driver verification, in-app trip tracking, and emergency contact options.':
|
'Sefer prioritizes your safety. We offer features like driver verification, in-app trip tracking, and emergency contact options.':
|
||||||
'يعمل Sefer على أولوية سلامتك. نحن نقدم ميزات مثل التحقق من السائق، وتتبع الرحلة داخل التطبيق، وخيارات الاتصال بالطوارئ.',
|
'يعمل Sefer على أولوية سلامتك. نحن نقدم ميزات مثل التحقق من السائق، وتتبع الرحلة داخل التطبيق، وخيارات الاتصال بالطوارئ.',
|
||||||
'Frequently questions': 'الأسئلة المتكررة ',
|
'Frequently Questions': 'الأسئلة المتكررة ',
|
||||||
'About Us': 'عننا',
|
'About Us': 'عننا',
|
||||||
'SEFER is a ride-sharing app designed with your safety and affordability in mind. We connect you with reliable drivers in your area, ensuring a convenient and stress-free travel experience.\n\nHere are some of the key features that set us apart:':
|
'SEFER is a ride-sharing app designed with your safety and affordability in mind. We connect you with reliable drivers in your area, ensuring a convenient and stress-free travel experience.\n\nHere are some of the key features that set us apart:':
|
||||||
"سفر هو تطبيق مشاركة رحلات مصمم مع وضع سلامتك وإمكانياتك المادية في الاعتبار. نوفر لك اتصالًا بسائقين موثوقين في منطقتك ، مما يضمن تجربة سفر مريحة وخالية من التوتر.\n\n فيما يلي بعض الميزات الرئيسية التي تميزنا:",
|
"سفر هو تطبيق مشاركة رحلات مصمم مع وضع سلامتك وإمكانياتك المادية في الاعتبار. نوفر لك اتصالًا بسائقين موثوقين في منطقتك ، مما يضمن تجربة سفر مريحة وخالية من التوتر.\n\n فيما يلي بعض الميزات الرئيسية التي تميزنا:",
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class HomePage extends StatelessWidget {
|
|||||||
ListTile(
|
ListTile(
|
||||||
leading: const Icon(Icons.question_answer),
|
leading: const Icon(Icons.question_answer),
|
||||||
title: Text(
|
title: Text(
|
||||||
'Frequently questions'.tr,
|
'Frequently Questions'.tr,
|
||||||
style: AppStyle.headTitle2,
|
style: AppStyle.headTitle2,
|
||||||
),
|
),
|
||||||
subtitle:
|
subtitle:
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ List<CarType> carTypes = [
|
|||||||
carType: 'Speed',
|
carType: 'Speed',
|
||||||
carDetail: 'Closest & Cheapest'.tr,
|
carDetail: 'Closest & Cheapest'.tr,
|
||||||
image: 'assets/images/carspeed.png'),
|
image: 'assets/images/carspeed.png'),
|
||||||
|
CarType(
|
||||||
|
carType: 'Lady',
|
||||||
|
carDetail: 'Lady Captain for girls'.tr,
|
||||||
|
image: 'assets/images/blob.png'),
|
||||||
CarType(
|
CarType(
|
||||||
carType: 'Delivery',
|
carType: 'Delivery',
|
||||||
carDetail: 'Delivery service'.tr,
|
carDetail: 'Delivery service'.tr,
|
||||||
@@ -91,7 +95,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
height: 50,
|
height: 50,
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
width: Get.width * .4,
|
width: Get.width * .25,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
@@ -100,32 +104,36 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
fontSize: 20),
|
fontSize: 20),
|
||||||
),
|
),
|
||||||
Text(
|
// Text(
|
||||||
carType.carDetail,
|
// carType.carDetail,
|
||||||
style: AppStyle.subtitle,
|
// style: AppStyle.subtitle,
|
||||||
),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Column(
|
Text(
|
||||||
children: [
|
carType.carType == 'Comfort'
|
||||||
Text(
|
? mapPassengerController
|
||||||
carType.carType == 'Comfort'
|
.totalPassengerComfort
|
||||||
|
.toStringAsFixed(2)
|
||||||
|
: carType.carType == 'Speed'
|
||||||
? mapPassengerController
|
? mapPassengerController
|
||||||
.totalPassengerComfort
|
.totalPassengerSpeed
|
||||||
.toStringAsFixed(2)
|
.toStringAsFixed(2)
|
||||||
: carType.carType == 'Speed'
|
: carType.carType == 'Delivery'
|
||||||
? mapPassengerController
|
? mapPassengerController
|
||||||
.totalPassengerSpeed
|
.totalPassengerMotoDelivery
|
||||||
.toStringAsFixed(2)
|
.toStringAsFixed(2)
|
||||||
: carType.carType == 'Delivery'
|
: carType.carType == 'Lady'
|
||||||
? mapPassengerController
|
? mapPassengerController
|
||||||
.totalPassengerMotoDelivery
|
.totalPassengerLady
|
||||||
.toStringAsFixed(2)
|
.toStringAsFixed(2)
|
||||||
: '50',
|
: '50',
|
||||||
style: AppStyle.title
|
style:
|
||||||
.copyWith(fontSize: 20),
|
AppStyle.title.copyWith(fontSize: 20),
|
||||||
),
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
carType.carType == 'Comfort' &&
|
carType.carType == 'Comfort' &&
|
||||||
(mapPassengerController
|
(mapPassengerController
|
||||||
.totalPassengerSpeed >
|
.totalPassengerSpeed >
|
||||||
@@ -192,9 +200,45 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
: const SizedBox(
|
: carType.carType == 'Lady' &&
|
||||||
width: 3,
|
(mapPassengerController
|
||||||
),
|
.totalPassengerLady >
|
||||||
|
20)
|
||||||
|
? Row(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
decoration: AppStyle
|
||||||
|
.boxDecoration1,
|
||||||
|
child: Text(
|
||||||
|
'-10%',
|
||||||
|
style: AppStyle
|
||||||
|
.subtitle
|
||||||
|
.copyWith(
|
||||||
|
color: AppColor
|
||||||
|
.greenColor),
|
||||||
|
)),
|
||||||
|
const SizedBox(
|
||||||
|
width: 10,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
mapPassengerController
|
||||||
|
.totalPassengerLadyDiscount
|
||||||
|
.toStringAsFixed(
|
||||||
|
2),
|
||||||
|
style: AppStyle.title
|
||||||
|
.copyWith(
|
||||||
|
color: AppColor
|
||||||
|
.redColor,
|
||||||
|
decoration:
|
||||||
|
TextDecoration
|
||||||
|
.lineThrough, // Strikethrough line
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
)
|
||||||
|
: const SizedBox(
|
||||||
|
width: 3,
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const SizedBox(
|
const SizedBox(
|
||||||
@@ -283,7 +327,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
}));
|
}));
|
||||||
} else if (mapPassengerController
|
} else if (mapPassengerController
|
||||||
.selectedIndex ==
|
.selectedIndex ==
|
||||||
2) {
|
3) {
|
||||||
box.write(BoxName.carType, 'Delivery');
|
box.write(BoxName.carType, 'Delivery');
|
||||||
mapPassengerController.totalPassenger =
|
mapPassengerController.totalPassenger =
|
||||||
mapPassengerController
|
mapPassengerController
|
||||||
@@ -317,7 +361,7 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
}));
|
}));
|
||||||
} else if (mapPassengerController
|
} else if (mapPassengerController
|
||||||
.selectedIndex ==
|
.selectedIndex ==
|
||||||
3) {
|
4) {
|
||||||
box.write(BoxName.carType, 'Mashwari');
|
box.write(BoxName.carType, 'Mashwari');
|
||||||
mapPassengerController.totalPassenger = 50;
|
mapPassengerController.totalPassenger = 50;
|
||||||
Get.defaultDialog(
|
Get.defaultDialog(
|
||||||
@@ -347,49 +391,49 @@ class CarDetailsTypeToChoose extends StatelessWidget {
|
|||||||
onPressed: () {
|
onPressed: () {
|
||||||
Get.back();
|
Get.back();
|
||||||
}));
|
}));
|
||||||
|
} else if (mapPassengerController
|
||||||
|
.selectedIndex ==
|
||||||
|
2) {
|
||||||
|
box.write(BoxName.carType, 'Lady');
|
||||||
|
mapPassengerController.totalPassenger =
|
||||||
|
mapPassengerController
|
||||||
|
.totalPassengerSpeed;
|
||||||
|
Get.defaultDialog(
|
||||||
|
title: 'Lady',
|
||||||
|
titleStyle: AppStyle.title,
|
||||||
|
content: CarDialogue(
|
||||||
|
textToSpeechController:
|
||||||
|
textToSpeechController,
|
||||||
|
image: 'assets/images/blob.png',
|
||||||
|
text: 'This trip just for girls only'
|
||||||
|
.tr),
|
||||||
|
confirm: MyElevatedButton(
|
||||||
|
kolor: AppColor.greenColor,
|
||||||
|
title: 'Next'.tr,
|
||||||
|
onPressed: () {
|
||||||
|
Get.back();
|
||||||
|
mapPassengerController
|
||||||
|
.isBottomSheetShown = false;
|
||||||
|
mapPassengerController.update();
|
||||||
|
mapPassengerController
|
||||||
|
.changeCashConfirmPageShown();
|
||||||
|
}),
|
||||||
|
cancel: MyElevatedButton(
|
||||||
|
title: 'Cancel'.tr,
|
||||||
|
kolor: AppColor.redColor,
|
||||||
|
onPressed: () {
|
||||||
|
Get.back();
|
||||||
|
}));
|
||||||
|
} else {
|
||||||
|
Get.snackbar('You should select one'.tr, '',
|
||||||
|
backgroundColor: AppColor.redColor);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
Get.snackbar('You should select one'.tr, '',
|
|
||||||
backgroundColor: AppColor.redColor);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// MyElevatedButton(
|
|
||||||
// title: 'Next'.tr,
|
|
||||||
// onPressed: () {
|
|
||||||
// if (mapPassengerController.selectedIndex != -1) {
|
|
||||||
// // Get.snackbar('You should select one'.tr, '',
|
|
||||||
// // backgroundColor: AppColor.greenColor);
|
|
||||||
// if (mapPassengerController.selectedIndex == 0) {
|
|
||||||
// box.write(BoxName.carType, 'Comfort');
|
|
||||||
// mapPassengerController.totalPassenger =
|
|
||||||
// mapPassengerController.totalPassengerComfort;
|
|
||||||
// } else if (mapPassengerController.selectedIndex ==
|
|
||||||
// 1) {
|
|
||||||
// box.write(BoxName.carType, 'Speed');
|
|
||||||
// } else if (mapPassengerController.selectedIndex ==
|
|
||||||
// 2) {
|
|
||||||
// box.write(BoxName.carType, 'Delivery');
|
|
||||||
// mapPassengerController.totalPassenger =
|
|
||||||
// mapPassengerController
|
|
||||||
// .totalPassengerMotoDelivery;
|
|
||||||
// } else if (mapPassengerController.selectedIndex ==
|
|
||||||
// 3) {
|
|
||||||
// box.write(BoxName.carType, 'FreeRide');
|
|
||||||
// mapPassengerController.totalPassenger = 50;
|
|
||||||
// }
|
|
||||||
// mapPassengerController.isBottomSheetShown = false;
|
|
||||||
// mapPassengerController.update();
|
|
||||||
// mapPassengerController.changeCashConfirmPageShown();
|
|
||||||
// // mapPassengerController.confirmRideForFirstDriver();
|
|
||||||
// } else {
|
|
||||||
// Get.snackbar('You should select one'.tr, '',
|
|
||||||
// backgroundColor: AppColor.redColor);
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -29,7 +29,9 @@ class CashConfirmPageShown extends StatelessWidget {
|
|||||||
? controller.cashConfirmPageShown
|
? controller.cashConfirmPageShown
|
||||||
: 0,
|
: 0,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: AppColor.secondaryColor,
|
color: box.read(BoxName.carType) == 'Lady'
|
||||||
|
? Colors.pink.shade100
|
||||||
|
: AppColor.secondaryColor,
|
||||||
borderRadius: BorderRadius.circular(15)),
|
borderRadius: BorderRadius.circular(15)),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 20),
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
||||||
@@ -70,7 +72,7 @@ class CashConfirmPageShown extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
// '${'Your Wallet balance is '.tr}JD ',
|
// '${'Your Wallet balance is '.tr}JD ',
|
||||||
'${'Your Wallet balance is '.tr} ${box.read(BoxName.passengerWalletTotal).toString()}${' \$'.tr}',
|
'${'Your Wallet balance is '.tr} ${box.read(BoxName.passengerWalletTotal).toString()} ${box.read(BoxName.countryCode) == 'Egypt' ? 'LE'.tr : 'JOD'.tr}',
|
||||||
style: AppStyle.subtitle,
|
style: AppStyle.subtitle,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -159,7 +161,7 @@ class CashConfirmPageShown extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
MyElevatedButton(
|
MyElevatedButton(
|
||||||
kolor: AppColor.greenColor,
|
kolor: AppColor.greenColor,
|
||||||
title: 'Next as Cash \$\$!'.tr,
|
title: '\$ Next as Cash \$!'.tr,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
paymentController.isCashChecked = true;
|
paymentController.isCashChecked = true;
|
||||||
paymentController.isWalletChecked = false;
|
paymentController.isWalletChecked = false;
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ class MainBottomMenuMap extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
controller.changeMainBottomMenuMap();
|
// controller.changeMainBottomMenuMap();
|
||||||
},
|
},
|
||||||
icon: controller.isMainBottomMenuMap
|
icon: controller.isMainBottomMenuMap
|
||||||
? const Icon(
|
? const Icon(
|
||||||
|
|||||||
Reference in New Issue
Block a user