This commit is contained in:
Hamza-Ayed
2023-11-27 00:08:10 +03:00
parent a8d6c509c1
commit e095cf564a
19 changed files with 782 additions and 305 deletions

View File

@@ -9,7 +9,6 @@ import '../../../constant/box_name.dart';
import '../../../constant/style.dart';
import '../../../controller/auth/captin/ml_google_doc.dart';
import '../../../controller/auth/captin/register_captin_controller.dart';
import '../../../main.dart';
import '../../widgets/elevated_btn.dart';
import '../../widgets/my_scafold.dart';

View File

@@ -0,0 +1,102 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/controller/auth/captin/history_captain.dart';
import 'package:ride/views/home/Captin/history/history_details_page.dart';
import 'package:ride/views/widgets/elevated_btn.dart';
import 'package:ride/views/widgets/my_scafold.dart';
import 'package:ride/views/widgets/mycircular.dart';
class HistoryCaptain extends StatelessWidget {
const HistoryCaptain({super.key});
@override
Widget build(BuildContext context) {
Get.put(HistoryCaptainController());
return MyScafolld(
title: 'History Page'.tr,
body: [
GetBuilder<HistoryCaptainController>(
builder: (historyCaptainController) => Expanded(
child: historyCaptainController.isloading
? const MyCircularProgressIndicator()
: ListView.builder(
itemCount: historyCaptainController
.historyData['message'].length,
itemBuilder: (BuildContext context, int index) {
var list = historyCaptainController
.historyData['message'][index];
return InkWell(
onTap: () {
list['status'] != 'Cancel'
? historyCaptainController
.getHistoryDetails(list['order_id'])
: Get.defaultDialog(
title: 'This Trip Cancelled'.tr,
middleText: '',
titleStyle: AppStyle.title,
confirm: MyElevatedButton(
title: 'Ok'.tr,
onPressed: () => Get.back()));
},
child: Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
'OrderID',
style: AppStyle.title,
),
Text(
list['order_id'],
style: AppStyle.subtitle,
),
],
),
Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
'created_at',
style: AppStyle.title,
),
Text(
list['created_at'],
style: AppStyle.subtitle,
),
],
),
Text(
list['status'],
style: list['status'] == 'Apply'
? AppStyle.title.copyWith(
color: AppColor.greenColor)
: list['status'] == 'Refused'
? AppStyle.title.copyWith(
color: AppColor.redColor)
: AppStyle.title.copyWith(
color:
AppColor.yellowColor),
),
],
),
),
),
);
},
),
))
],
isleading: true,
);
}
}

View File

@@ -0,0 +1,155 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/controller/auth/captin/history_captain.dart';
import 'package:ride/controller/functions/launch.dart';
import 'package:ride/views/widgets/my_scafold.dart';
import '../../../widgets/mycircular.dart';
class HistoryDetailsPage extends StatelessWidget {
HistoryDetailsPage({super.key});
HistoryCaptainController historyCaptainController =
Get.put(HistoryCaptainController());
@override
Widget build(BuildContext context) {
return MyScafolld(
title: 'Trip Detail'.tr,
body: [
GetBuilder<HistoryCaptainController>(
builder: (historyCaptainController) {
var res = historyCaptainController.historyDetailsData['data'];
return Expanded(
child: historyCaptainController.isloading
? const MyCircularProgressIndicator()
: SingleChildScrollView(
child: Column(
children: [
Container(
width: Get.width * .8,
decoration: BoxDecoration(
border: Border.all(
color: AppColor.blueColor, width: 2)),
child: TextButton(
onPressed: () {
String mapUrl =
'https://www.google.com/maps/dir/${res['start_location']}/${res['end_location']}/';
print(mapUrl);
launchUrl1(mapUrl);
},
child: Text(
'Trip on Map Click here'.tr,
style: AppStyle.title,
),
),
),
const SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text(
'Order ID ${res['id']}',
style: AppStyle.title,
),
Text(
res['date'].toString(),
style: AppStyle.title,
),
],
),
const SizedBox(
height: 10,
),
Container(
width: Get.width * .8,
decoration: BoxDecoration(
border: Border.all(
color: AppColor.greenColor, width: 2)),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
Text(
'Price is ${res['price_for_driver']}',
style: AppStyle.title,
),
Text(
'Distance is ${res['distance']} KM',
style: AppStyle.title,
),
],
),
),
const SizedBox(
height: 10,
),
Text(
'Times of Trip'.tr,
style: AppStyle.title,
),
const SizedBox(
height: 10,
),
Container(
width: Get.width * .8,
decoration: BoxDecoration(
border: Border.all(
color: AppColor.redColor, width: 2)),
child: Column(
children: [
Text(
'To Passenger is ${res['DriverIsGoingToPassenger']}',
style: AppStyle.title,
),
Text(
'TimeStart is ${res['rideTimeStart']}',
style: AppStyle.title,
),
Text(
'Time Finish is ${res['rideTimeFinish']}',
style: AppStyle.title,
),
],
),
),
const SizedBox(
height: 10,
),
Container(
width: Get.width * .8,
decoration: BoxDecoration(
border: Border.all(
color: AppColor.greenColor, width: 2)),
child: Center(
child: Text(
'Passenger Name is ${res['first_name']} ${res['last_name']} ',
style: AppStyle.title,
),
),
),
const SizedBox(
height: 10,
),
Container(
width: Get.width * .8,
decoration: BoxDecoration(
border: Border.all(
color: AppColor.yellowColor, width: 2)),
child: Center(
child: Text(
'Status is ${res['status']}',
style: AppStyle.title,
),
),
),
],
),
));
})
],
isleading: true,
);
}
}

View File

@@ -1,16 +0,0 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:ride/views/widgets/my_scafold.dart';
class HistoryCaptain extends StatelessWidget {
const HistoryCaptain({super.key});
@override
Widget build(BuildContext context) {
return MyScafolld(
title: 'History Page'.tr,
body: [],
isleading: true,
);
}
}

View File

@@ -4,7 +4,7 @@ import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/colors.dart';
import 'package:ride/main.dart';
import 'package:ride/views/auth/captin/logout_captain.dart';
import 'package:ride/views/home/Captin/history_captain.dart';
import 'package:ride/views/home/Captin/history/history_captain.dart';
import 'package:ride/views/home/Captin/home_captain/help_captain.dart';
import 'package:ride/views/home/Captin/settings_captain.dart';
import 'package:ride/views/home/my_wallet/walet_captain.dart';

View File

@@ -1,5 +1,11 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:path/path.dart';
import 'package:ride/constant/box_name.dart';
import 'package:ride/constant/style.dart';
import 'package:ride/env/env.dart';
import 'package:ride/main.dart';
import 'package:ride/views/widgets/my_scafold.dart';
class ProfileCaptain extends StatelessWidget {
@@ -9,7 +15,73 @@ class ProfileCaptain extends StatelessWidget {
Widget build(BuildContext context) {
return MyScafolld(
title: 'My Profile'.tr,
body: [],
body: [
Padding(
padding: const EdgeInsets.all(16.0),
child: SingleChildScrollView(
child: Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
CircleAvatar(
radius: Get.width * 0.26,
backgroundColor: Colors.white,
backgroundImage: CachedNetworkImageProvider(
"${Env.serverPHP}/card_image/${box.read(BoxName.driverID)}.jpg",
),
),
const SizedBox(height: 8.0),
Text(
box.read(BoxName.nameDriver) +
' ' +
box.read(BoxName.lastNameDriver).toString(),
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Email is :${box.read(BoxName.emailDriver)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Phone Number is :${box.read(BoxName.phoneDriver)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Date of Birth is :${box.read(BoxName.dobDriver)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Sex is :${box.read(BoxName.sexDriver)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
const Divider(
// height: 2,
endIndent: 1,
indent: 2,
thickness: 2,
),
const SizedBox(height: 8.0),
Text('Car Details'.tr, style: AppStyle.headtitle2),
const SizedBox(height: 8.0),
Text('VIN is :${box.read(BoxName.vin)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Color is :${box.read(BoxName.color)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Make is :${box.read(BoxName.make)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Model is :${box.read(BoxName.model)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Year is :${box.read(BoxName.year)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
Text('Expiration Date :${box.read(BoxName.expirationDate)}',
style: AppStyle.title),
const SizedBox(height: 8.0),
],
),
),
),
),
],
isleading: true,
);
}