12/18/1
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:SEFER/constant/colors.dart';
|
||||
import 'package:SEFER/constant/style.dart';
|
||||
import 'package:SEFER/controller/notification/ride_available_controller.dart';
|
||||
import 'package:SEFER/views/widgets/my_scafold.dart';
|
||||
import 'package:SEFER/views/widgets/mycircular.dart';
|
||||
import 'package:sefer_driver/constant/colors.dart';
|
||||
import 'package:sefer_driver/constant/style.dart';
|
||||
import 'package:sefer_driver/controller/notification/ride_available_controller.dart';
|
||||
import 'package:sefer_driver/views/widgets/my_scafold.dart';
|
||||
import 'package:sefer_driver/views/widgets/mycircular.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
@@ -25,19 +25,115 @@ class AvailableRidesPage extends StatelessWidget {
|
||||
Get.put(RideAvailableController());
|
||||
return GetBuilder<RideAvailableController>(
|
||||
builder: (rideAvailableController) {
|
||||
// rideAvailableController.sortRidesByDistance();
|
||||
return MyScafolld(
|
||||
title: 'Available for rides'.tr,
|
||||
body: [
|
||||
rideAvailableController.isLoading
|
||||
? const MyCircularProgressIndicator()
|
||||
: ListView.builder(
|
||||
:
|
||||
// : ListView.builder(
|
||||
// itemCount: rideAvailableController
|
||||
// .rideAvailableMap['message']
|
||||
// .where((rideInfo) {
|
||||
// var driverType =
|
||||
// box.read(BoxName.carTypeOfDriver).toString();
|
||||
// return (driverType == 'Comfort' &&
|
||||
// ['Speed', 'Comfort']
|
||||
// .contains(rideInfo['carType'])) ||
|
||||
// (driverType == 'Speed' &&
|
||||
// rideInfo['carType'] == 'Speed') ||
|
||||
// (driverType == 'Scooter' &&
|
||||
// rideInfo['carType'] == 'Scooter') ||
|
||||
// (driverType == 'Awfar Car' &&
|
||||
// rideInfo['carType'] == 'Awfar Car') ||
|
||||
// (driverType == 'Lady' &&
|
||||
// ['Comfort', 'Speed', 'Lady']
|
||||
// .contains(rideInfo['carType']));
|
||||
// }).length,
|
||||
// itemBuilder: (context, index) {
|
||||
// var filteredRides = rideAvailableController
|
||||
// .rideAvailableMap['message']
|
||||
// .where((rideInfo) {
|
||||
// var driverType =
|
||||
// box.read(BoxName.carTypeOfDriver).toString();
|
||||
// return (driverType == 'Comfort' &&
|
||||
// ['Speed', 'Comfort']
|
||||
// .contains(rideInfo['carType'])) ||
|
||||
// (driverType == 'Speed' &&
|
||||
// rideInfo['carType'] == 'Speed') ||
|
||||
// (driverType == 'Awfar Car' &&
|
||||
// rideInfo['carType'] == 'Awfar Car') ||
|
||||
// (driverType == 'Scooter' &&
|
||||
// rideInfo['carType'] == 'Scooter') ||
|
||||
// (driverType == 'Lady' &&
|
||||
// ['Comfort', 'Speed', 'Lady']
|
||||
// .contains(rideInfo['carType']));
|
||||
// }).toList();
|
||||
|
||||
// return RideAvailableCard(
|
||||
// rideInfo: filteredRides[index],
|
||||
// );
|
||||
// },
|
||||
// )
|
||||
ListView.builder(
|
||||
itemCount: rideAvailableController
|
||||
.rideAvailableMap['message'].length,
|
||||
itemBuilder: (context, index) => RideAvailableCard(
|
||||
rideInfo: rideAvailableController
|
||||
.rideAvailableMap['message'][index],
|
||||
),
|
||||
.rideAvailableMap['message']
|
||||
.where((rideInfo) {
|
||||
var driverType =
|
||||
box.read(BoxName.carTypeOfDriver).toString();
|
||||
switch (driverType) {
|
||||
case 'Comfort':
|
||||
return ['Speed', 'Comfort']
|
||||
.contains(rideInfo['carType']);
|
||||
case 'Speed':
|
||||
case 'Scooter':
|
||||
case 'Awfar Car':
|
||||
return rideInfo['carType'] == driverType;
|
||||
case 'Lady':
|
||||
return ['Comfort', 'Speed', 'Lady']
|
||||
.contains(rideInfo['carType']);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}).length,
|
||||
itemBuilder: (context, index) {
|
||||
var filteredRides = rideAvailableController
|
||||
.rideAvailableMap['message']
|
||||
.where((rideInfo) {
|
||||
var driverType =
|
||||
box.read(BoxName.carTypeOfDriver).toString();
|
||||
switch (driverType) {
|
||||
case 'Comfort':
|
||||
return ['Speed', 'Comfort']
|
||||
.contains(rideInfo['carType']);
|
||||
case 'Speed':
|
||||
case 'Scooter':
|
||||
case 'Awfar Car':
|
||||
return rideInfo['carType'] == driverType;
|
||||
case 'Lady':
|
||||
return ['Comfort', 'Speed', 'Lady']
|
||||
.contains(rideInfo['carType']);
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}).toList();
|
||||
|
||||
return RideAvailableCard(
|
||||
rideInfo: filteredRides[index],
|
||||
);
|
||||
},
|
||||
)
|
||||
// rideAvailableController.isLoading
|
||||
// ? const MyCircularProgressIndicator()
|
||||
// : ListView.builder(
|
||||
// itemCount: rideAvailableController
|
||||
// .rideAvailableMap['message'].length,
|
||||
// itemBuilder: (context, index) => RideAvailableCard(
|
||||
// rideInfo: rideAvailableController
|
||||
// .rideAvailableMap['message'][index],
|
||||
// ),
|
||||
// )
|
||||
],
|
||||
isleading: true);
|
||||
});
|
||||
@@ -181,6 +277,14 @@ class RideAvailableCard extends StatelessWidget {
|
||||
'order_id': rideInfo['id'],
|
||||
'status': 'Apply'
|
||||
});
|
||||
await CRUD().post(link: AppLink.updateRides, payload: {
|
||||
'id': rideInfo['id'],
|
||||
'DriverIsGoingToPassenger': DateTime.now().toString(),
|
||||
'status': 'Applied'
|
||||
});
|
||||
await CRUD().post(
|
||||
link: AppLink.updateWaitingRide,
|
||||
payload: {'id': rideInfo['id'], 'status': 'Applied'});
|
||||
if (AppLink.endPoint.toString() != AppLink.seferCairoServer) {
|
||||
CRUD().postFromDialogue(
|
||||
link: '${AppLink.endPoint}/driver_order/add.php',
|
||||
@@ -190,29 +294,17 @@ class RideAvailableCard extends StatelessWidget {
|
||||
'order_id': rideInfo['id'],
|
||||
'status': 'Apply'
|
||||
});
|
||||
}
|
||||
await CRUD().post(link: AppLink.updateRides, payload: {
|
||||
'id': rideInfo['id'],
|
||||
'DriverIsGoingToPassenger': DateTime.now().toString(),
|
||||
'status': 'Applied'
|
||||
});
|
||||
if (AppLink.endPoint.toString() != AppLink.seferCairoServer) {
|
||||
CRUD().post(link: '${AppLink.endPoint}/rides/update.php', payload: {
|
||||
'id': rideInfo['id'],
|
||||
'DriverIsGoingToPassenger': DateTime.now().toString(),
|
||||
'status': 'Applied'
|
||||
});
|
||||
}
|
||||
|
||||
await CRUD().post(
|
||||
link: AppLink.updateWaitingRide,
|
||||
payload: {'id': rideInfo['id'], 'status': 'Applied'});
|
||||
if (AppLink.endPoint.toString() != AppLink.seferCairoServer) {
|
||||
CRUD().post(
|
||||
link:
|
||||
"${AppLink.endPoint}/ride/notificationCaptain/updateWaitingTrip.php",
|
||||
payload: {'id': rideInfo['id'], 'status': 'Applied'});
|
||||
}
|
||||
|
||||
FirebaseMessagesController().sendNotificationToPassengerToken(
|
||||
'Apply Ride',
|
||||
'your ride is applied'.tr,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:SEFER/controller/notification/notification_captain_controller.dart';
|
||||
import 'package:sefer_driver/controller/notification/notification_captain_controller.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class NotificationCaptain extends StatelessWidget {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:SEFER/constant/colors.dart';
|
||||
import 'package:SEFER/constant/style.dart';
|
||||
import 'package:sefer_driver/constant/colors.dart';
|
||||
import 'package:sefer_driver/constant/style.dart';
|
||||
|
||||
import '../../controller/notification/passenger_notification_controller.dart';
|
||||
import '../widgets/elevated_btn.dart';
|
||||
|
||||
Reference in New Issue
Block a user