12/9/1
This commit is contained in:
@@ -41,11 +41,8 @@ class SosConnect extends StatelessWidget {
|
||||
onTap: () {
|
||||
launchCommunication(
|
||||
'whatsapp',
|
||||
'962' +
|
||||
box.read(BoxName
|
||||
.phoneDriver), //todo add number from driver
|
||||
'Hello this is Captain'.tr +
|
||||
' ${box.read(BoxName.nameDriver)}');
|
||||
'+962${box.read(BoxName.phoneDriver)}', //todo add number from driver
|
||||
'${'Hello this is Captain'.tr} ${box.read(BoxName.nameDriver)}');
|
||||
},
|
||||
child: const Icon(
|
||||
FontAwesome.whatsapp,
|
||||
|
||||
@@ -11,7 +11,7 @@ import 'map_widget.dart/cash_confirm_bottom_page.dart';
|
||||
import 'map_widget.dart/driver_card_from_passenger.dart';
|
||||
import 'map_widget.dart/google_map_passenger_widget.dart';
|
||||
import 'map_widget.dart/left_main_menu_icons.dart'; //Ml@6Pt@11
|
||||
import 'map_widget.dart/main_bottom_Menu_map.dart';
|
||||
import 'map_widget.dart/main_bottom_menu_map.dart';
|
||||
import 'map_widget.dart/map_menu_widget.dart';
|
||||
import 'map_widget.dart/menu_map_page.dart';
|
||||
import 'map_widget.dart/payment_method.page.dart';
|
||||
@@ -99,17 +99,19 @@ class PickerIconOnMap extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GetBuilder<MapPassengerController>(
|
||||
builder: (controller) => Positioned(
|
||||
bottom: 0,
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: controller.isPickerShown
|
||||
? const Icon(
|
||||
Icons.add_location,
|
||||
color: Colors.purple,
|
||||
)
|
||||
: const SizedBox(),
|
||||
));
|
||||
builder: (controller) => controller.isPickerShown
|
||||
? Positioned(
|
||||
bottom: 0,
|
||||
top: 0,
|
||||
left: 0,
|
||||
right: 0,
|
||||
child: controller.isPickerShown
|
||||
? const Icon(
|
||||
Icons.add_location,
|
||||
color: Colors.purple,
|
||||
)
|
||||
: const SizedBox(),
|
||||
)
|
||||
: const SizedBox());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,16 @@ GetBuilder<MapPassengerController> formSearchPlaces() {
|
||||
const BoxDecoration(color: AppColor.secondaryColor),
|
||||
child: TextField(
|
||||
decoration: InputDecoration(
|
||||
border: const OutlineInputBorder(
|
||||
borderRadius: BorderRadius.only(),
|
||||
gapPadding: 4,
|
||||
borderSide: BorderSide(
|
||||
color: AppColor.redColor,
|
||||
width: 2,
|
||||
)),
|
||||
suffixIcon: const Icon(Icons.search),
|
||||
hintText: 'Type here Place'.tr,
|
||||
hintText: 'Search for your destination'.tr,
|
||||
hintStyle: AppStyle.title,
|
||||
hintMaxLines: 1,
|
||||
prefixIcon: IconButton(
|
||||
onPressed: () {
|
||||
@@ -46,6 +54,19 @@ GetBuilder<MapPassengerController> formSearchPlaces() {
|
||||
),
|
||||
),
|
||||
),
|
||||
controller.places.isEmpty
|
||||
? InkWell(
|
||||
onTap: () {
|
||||
controller.changeMainBottomMenuMap();
|
||||
controller.changePickerShown();
|
||||
},
|
||||
child: Text(
|
||||
'Choose from Map'.tr,
|
||||
style:
|
||||
AppStyle.title.copyWith(color: AppColor.blueColor),
|
||||
),
|
||||
)
|
||||
: const SizedBox(),
|
||||
Container(
|
||||
height: controller.places.isNotEmpty ? controller.height : 0,
|
||||
color: AppColor.secondaryColor,
|
||||
@@ -60,6 +81,7 @@ GetBuilder<MapPassengerController> formSearchPlaces() {
|
||||
title:
|
||||
'${'Are You sure to ride to'.tr} ${res['name']}',
|
||||
middleText: '',
|
||||
titleStyle: AppStyle.title,
|
||||
confirm: MyElevatedButton(
|
||||
title: 'Confirm'.tr,
|
||||
onPressed: () async {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import 'package:animated_text_kit/animated_text_kit.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:ride/constant/box_name.dart';
|
||||
@@ -67,80 +66,139 @@ class MainBottomMenuMap extends StatelessWidget {
|
||||
child: DefaultTextStyle(
|
||||
style: AppStyle.title,
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 30,
|
||||
child: Text(
|
||||
'${'Where to'.tr} ${box.read(BoxName.name)}')
|
||||
// AnimatedTextKit(
|
||||
// animatedTexts: [
|
||||
// ScaleAnimatedText(
|
||||
// '${'Where to'.tr} ${box.read(BoxName.name)}'),
|
||||
// // WavyAnimatedText(
|
||||
// // '${'Where to'.tr} ${box.read(BoxName.name)}'),
|
||||
// // FlickerAnimatedText(
|
||||
// // '${'Where to'.tr} ${box.read(BoxName.name)}'),
|
||||
// // WavyAnimatedText(
|
||||
// // '${'Where to'.tr} ${box.read(BoxName.name)}'),
|
||||
// ],
|
||||
// isRepeatingAnimation: true,
|
||||
// onTap: () {
|
||||
// print("Tap Event");
|
||||
// },
|
||||
// ),
|
||||
child: controller.isPickerShown
|
||||
? TextButton(
|
||||
onPressed: () async {
|
||||
controller.clearPolyline();
|
||||
controller.data = [];
|
||||
await controller.getMap(
|
||||
'${controller.myLocation.latitude},${controller.myLocation.longitude}',
|
||||
'${controller.newMyLocation.latitude},${controller.newMyLocation.longitude}',
|
||||
);
|
||||
controller.places = [];
|
||||
controller.placeController.clear();
|
||||
|
||||
controller.showBottomSheet1();
|
||||
Get.back();
|
||||
controller.showBottomSheet1();
|
||||
// controller.changeMainBottomMenuMap();
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
controller
|
||||
.changeMainBottomMenuMap();
|
||||
},
|
||||
icon:
|
||||
controller.isMainBottomMenuMap
|
||||
? const Icon(
|
||||
Icons
|
||||
.arrow_circle_up_rounded,
|
||||
size: 35,
|
||||
)
|
||||
: const Icon(
|
||||
Icons
|
||||
.arrow_circle_down_rounded,
|
||||
size: 35,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
"Click here to go to this location"
|
||||
.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
controller.noCarString == false
|
||||
? Text(
|
||||
'Nearest Car for you about '.tr)
|
||||
: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius.circular(12),
|
||||
color: AppColor.redColor,
|
||||
),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.all(6),
|
||||
child: Text(
|
||||
'No Car in your site. Sorry!'
|
||||
.tr,
|
||||
style: AppStyle.title
|
||||
.copyWith(
|
||||
color: AppColor
|
||||
.secondaryColor),
|
||||
)
|
||||
: Column(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 30,
|
||||
child: Row(
|
||||
children: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
controller
|
||||
.changeMainBottomMenuMap();
|
||||
},
|
||||
icon: controller
|
||||
.isMainBottomMenuMap
|
||||
? const Icon(
|
||||
Icons
|
||||
.arrow_circle_up_rounded,
|
||||
size: 35,
|
||||
)
|
||||
: const Icon(
|
||||
Icons
|
||||
.arrow_circle_down_rounded,
|
||||
size: 35,
|
||||
),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'${'Where to'.tr} ${box.read(BoxName.name)}'),
|
||||
],
|
||||
)),
|
||||
Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment.center,
|
||||
children: [
|
||||
const SizedBox(
|
||||
width: 10,
|
||||
),
|
||||
controller.noCarString == false
|
||||
? Container(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
controller.noCarString == false
|
||||
? Text(
|
||||
'Nearest Car for you about '
|
||||
.tr)
|
||||
: Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(12),
|
||||
color:
|
||||
AppColor.redColor,
|
||||
width: 3)),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.all(4),
|
||||
child: Text((controller
|
||||
.nearestCar !=
|
||||
null
|
||||
? controller
|
||||
.durationByPassenger
|
||||
.toString()
|
||||
: 'N/A')),
|
||||
),
|
||||
)
|
||||
: const SizedBox(),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets
|
||||
.all(6),
|
||||
child: Text(
|
||||
'No Car in your site. Sorry!'
|
||||
.tr,
|
||||
style: AppStyle.title
|
||||
.copyWith(
|
||||
color: AppColor
|
||||
.secondaryColor),
|
||||
),
|
||||
),
|
||||
),
|
||||
controller.noCarString == false
|
||||
? Container(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: AppColor
|
||||
.redColor,
|
||||
width: 3)),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets
|
||||
.all(4),
|
||||
child: Text((controller
|
||||
.nearestCar !=
|
||||
null
|
||||
? controller
|
||||
.durationByPassenger
|
||||
.toString()
|
||||
: 'N/A')),
|
||||
),
|
||||
)
|
||||
: const SizedBox(),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
)),
|
||||
),
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_font_icons/flutter_font_icons.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:get/get_rx/src/rx_typedefs/rx_typedefs.dart';
|
||||
import 'package:ride/constant/style.dart';
|
||||
import 'package:ride/views/auth/captin/register_captin.dart';
|
||||
import 'package:ride/views/home/my_wallet/passenger_wallet.dart';
|
||||
import 'package:ride/views/home/profile/feed_back_page.dart';
|
||||
import 'package:ride/views/home/profile/order_history.dart';
|
||||
@@ -159,9 +161,11 @@ class MapMenuWidget extends StatelessWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: [
|
||||
IconMainPageMap(
|
||||
onTap: () {},
|
||||
title: 'Settings',
|
||||
icon: Icons.settings,
|
||||
onTap: () {
|
||||
Get.to(const RegisterCaptin());
|
||||
},
|
||||
title: 'Captain',
|
||||
icon: WeatherIcons.wi_moon_14,
|
||||
),
|
||||
IconMainPageMap(
|
||||
onTap: () {
|
||||
|
||||
@@ -126,7 +126,7 @@ class MyCreditCardWidget extends StatelessWidget {
|
||||
Get.put(CreditCardController());
|
||||
return GetBuilder<CreditCardController>(
|
||||
builder: (controller) => Container(
|
||||
height: Get.height * .35,
|
||||
height: Get.height * .4,
|
||||
width: Get.width * .9,
|
||||
decoration: const BoxDecoration(
|
||||
color: AppColor.secondaryColor,
|
||||
@@ -344,6 +344,9 @@ class MyCreditCardWidget extends StatelessWidget {
|
||||
),
|
||||
],
|
||||
),
|
||||
// const SizedBox(
|
||||
// height: 20,
|
||||
// ),
|
||||
MyElevatedButton(
|
||||
title: 'Save'.tr,
|
||||
onPressed: () {
|
||||
|
||||
@@ -150,7 +150,7 @@ class RideBeginPassenger extends StatelessWidget {
|
||||
}));
|
||||
} else {
|
||||
controller.sendWhatsapp(
|
||||
box.read(BoxName.sosPhonePassenger));
|
||||
box.read(BoxName.sosPhonePassenger).toString());
|
||||
}
|
||||
},
|
||||
icon: const Icon(
|
||||
|
||||
@@ -78,37 +78,37 @@ class PassengerWallet extends StatelessWidget {
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
GetBuilder<CreditCardController>(
|
||||
builder: (creditCardController) => Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
MyElevatedButton(
|
||||
title: 'Save Credit Card'.tr,
|
||||
onPressed: () async {
|
||||
if (controller.formKey.currentState!
|
||||
.validate()) {
|
||||
SecureStorage().saveData(
|
||||
BoxName.cardNumber,
|
||||
creditCardController
|
||||
.cardNumberController.text);
|
||||
SecureStorage().saveData(
|
||||
BoxName.cardHolderName,
|
||||
creditCardController
|
||||
.cardHolderNameController.text);
|
||||
SecureStorage().saveData(
|
||||
BoxName.cvvCode,
|
||||
creditCardController
|
||||
.cvvCodeController.text);
|
||||
SecureStorage().saveData(
|
||||
BoxName.expiryDate,
|
||||
creditCardController
|
||||
.expiryDateController.text);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
)),
|
||||
// MyElevatedButton(
|
||||
// GetBuilder<CreditCardController>(
|
||||
// builder: (creditCardController) => Row(
|
||||
// mainAxisAlignment: MainAxisAlignment.center,
|
||||
// children: [
|
||||
// MyElevatedButton(
|
||||
// title: 'Save Credit Card'.tr,
|
||||
// onPressed: () async {
|
||||
// if (controller.formKey.currentState!
|
||||
// .validate()) {
|
||||
// SecureStorage().saveData(
|
||||
// BoxName.cardNumber,
|
||||
// creditCardController
|
||||
// .cardNumberController.text);
|
||||
// SecureStorage().saveData(
|
||||
// BoxName.cardHolderName,
|
||||
// creditCardController
|
||||
// .cardHolderNameController.text);
|
||||
// SecureStorage().saveData(
|
||||
// BoxName.cvvCode,
|
||||
// creditCardController
|
||||
// .cvvCodeController.text);
|
||||
// SecureStorage().saveData(
|
||||
// BoxName.expiryDate,
|
||||
// creditCardController
|
||||
// .expiryDateController.text);
|
||||
// }
|
||||
// },
|
||||
// ),
|
||||
// ],
|
||||
// )),
|
||||
// // MyElevatedButton(
|
||||
// title: 'Charge your Wallet',
|
||||
// onPressed: () {
|
||||
// Get.defaultDialog(
|
||||
@@ -197,7 +197,23 @@ class PassengerWallet extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
)),
|
||||
PassengerWalletDialoge()
|
||||
PassengerWalletDialoge(),
|
||||
GetBuilder<PaymentController>(
|
||||
builder: (controller) => Positioned(
|
||||
top: 440,
|
||||
right: 100,
|
||||
left: 100,
|
||||
child: Column(
|
||||
children: [
|
||||
MyElevatedButton(
|
||||
title: 'createConnectAccount',
|
||||
onPressed: () {
|
||||
controller.createConnectAccount();
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
))
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ class PassengerWalletDialoge extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
Text(
|
||||
'10 and get 4% discount'.tr,
|
||||
'10\$ and get 3% discount'.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
@@ -78,7 +78,7 @@ class PassengerWalletDialoge extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
Text(
|
||||
'20 and get 6% discount'.tr,
|
||||
'20\$ and get 4% discount'.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
@@ -98,7 +98,7 @@ class PassengerWalletDialoge extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
Text(
|
||||
'40 and get 8% discount'.tr,
|
||||
'40\$ and get 6% discount'.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
@@ -118,7 +118,7 @@ class PassengerWalletDialoge extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
Text(
|
||||
'100 and get 11% discount'.tr,
|
||||
'100\$ and get 9% discount'.tr,
|
||||
style: AppStyle.title,
|
||||
),
|
||||
],
|
||||
@@ -142,9 +142,12 @@ class PassengerWalletDialoge extends StatelessWidget {
|
||||
onPressed: () {
|
||||
if (controller.selectedAmount != 0) {
|
||||
controller.makePaymentStripe(
|
||||
controller.selectedAmount as int,
|
||||
'USD',
|
||||
() => controller.addPassengerWallet());
|
||||
controller.selectedAmount as int, 'USD',
|
||||
() {
|
||||
controller.addPassengerWallet();
|
||||
controller.changePromoSheetDialogue();
|
||||
controller.getPassengerWallet();
|
||||
});
|
||||
} else {
|
||||
Toast.show(
|
||||
context,
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:ride/constant/box_name.dart';
|
||||
import 'package:ride/constant/colors.dart';
|
||||
import 'package:ride/constant/style.dart';
|
||||
import 'package:ride/controller/home/payment/captain_wallet_controller.dart';
|
||||
import 'package:ride/controller/home/payment/credit_card_controller.dart';
|
||||
import 'package:ride/views/home/map_widget.dart/payment_method.page.dart';
|
||||
import 'package:ride/controller/payment/payment_controller.dart';
|
||||
import 'package:ride/main.dart';
|
||||
import 'package:ride/views/widgets/elevated_btn.dart';
|
||||
import 'package:ride/views/widgets/mycircular.dart';
|
||||
|
||||
import '../../../controller/payment/payment_controller.dart';
|
||||
import '../../widgets/my_scafold.dart';
|
||||
import 'points_captain.dart';
|
||||
|
||||
@@ -88,6 +90,33 @@ class WaletCaptain extends StatelessWidget {
|
||||
),
|
||||
],
|
||||
)),
|
||||
const SizedBox(
|
||||
height: 30,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
MyElevatedButton(
|
||||
title: 'Create Wallet to recive your money',
|
||||
onPressed: () async {
|
||||
PaymentController paymentController =
|
||||
Get.find<PaymentController>();
|
||||
paymentController.createConnectAccount();
|
||||
}),
|
||||
],
|
||||
),
|
||||
TextButton(
|
||||
onPressed: () async {
|
||||
PaymentController paymentController =
|
||||
Get.put(PaymentController());
|
||||
await paymentController.createTransactionToCaptain(
|
||||
'1000',
|
||||
box.read(BoxName.accountIdStripeConnect));
|
||||
},
|
||||
child: const Text(
|
||||
"Pay to Captain",
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
))
|
||||
|
||||
@@ -58,14 +58,12 @@ class OrderHistory extends StatelessWidget {
|
||||
onTap: () {
|
||||
String mapUrl =
|
||||
'https://www.google.com/maps/dir/${rides['start_location']}/${rides['end_location']}/';
|
||||
print(mapUrl);
|
||||
// print(mapUrl);
|
||||
launchUrl1(mapUrl);
|
||||
},
|
||||
child: Column(
|
||||
children: [
|
||||
Text(rides['start_location']),
|
||||
Text(rides['end_location']),
|
||||
],
|
||||
child: Text(
|
||||
'Click here to Show it in Map',
|
||||
style: AppStyle.title,
|
||||
),
|
||||
),
|
||||
Column(
|
||||
@@ -81,12 +79,13 @@ class OrderHistory extends StatelessWidget {
|
||||
Text(
|
||||
rides['status'],
|
||||
style: rides['status'] != 'Canceled'
|
||||
? AppStyle.subtitle
|
||||
? AppStyle.subtitle.copyWith(
|
||||
color: AppColor.greenColor)
|
||||
: AppStyle.subtitle
|
||||
.copyWith(color: AppColor.redColor),
|
||||
),
|
||||
Text(
|
||||
rides['price'],
|
||||
'Price is ${rides['price']}',
|
||||
style: AppStyle.subtitle,
|
||||
),
|
||||
],
|
||||
|
||||
@@ -20,11 +20,6 @@ class PassengerProfilePage extends StatelessWidget {
|
||||
Get.put(ProfileController());
|
||||
return MyScafolld(
|
||||
isleading: true,
|
||||
action: MyElevatedButton(
|
||||
title: 'Delete My Account'.tr,
|
||||
onPressed: () {
|
||||
LogOut().deleteMyAccount(box.read(BoxName.passengerID).toString());
|
||||
}),
|
||||
title: 'My Profile'.tr,
|
||||
body: [
|
||||
GetBuilder<ProfileController>(
|
||||
@@ -184,6 +179,7 @@ class PassengerProfilePage extends StatelessWidget {
|
||||
controller.prfoileData['sosPhone']);
|
||||
},
|
||||
),
|
||||
// const Spacer(),
|
||||
],
|
||||
),
|
||||
),
|
||||
@@ -191,13 +187,24 @@ class PassengerProfilePage extends StatelessWidget {
|
||||
)),
|
||||
Positioned(
|
||||
left: 70,
|
||||
bottom: 5,
|
||||
bottom: 240,
|
||||
right: 70,
|
||||
child: MyElevatedButton(
|
||||
title: 'Sign Out'.tr,
|
||||
onPressed: () {
|
||||
LogOut().logOut();
|
||||
}),
|
||||
),
|
||||
Positioned(
|
||||
left: 70,
|
||||
bottom: 140,
|
||||
right: 70,
|
||||
child: MyElevatedButton(
|
||||
title: 'Delete My Account'.tr,
|
||||
onPressed: () {
|
||||
LogOut()
|
||||
.deleteMyAccount(box.read(BoxName.passengerID).toString());
|
||||
}),
|
||||
)
|
||||
],
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user