9/8/1
This commit is contained in:
@@ -1,12 +1,14 @@
|
||||
import 'package:SEFER/constant/colors.dart';
|
||||
import 'package:SEFER/constant/style.dart';
|
||||
import 'package:SEFER/controller/home/map_passenger_controller.dart';
|
||||
import 'package:SEFER/env/env.dart';
|
||||
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../constant/api_key.dart';
|
||||
import '../../../print.dart';
|
||||
|
||||
class CupertinoDriverListWidget extends StatelessWidget {
|
||||
MapPassengerController mapPassengerController =
|
||||
@@ -30,7 +32,7 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
leading: CircleAvatar(
|
||||
radius: 25,
|
||||
backgroundImage: NetworkImage(
|
||||
'${AK.serverPHP}/portrate_captain_image/${driver['id']}.jpg',
|
||||
'${Env.seferCairoServer}/portrate_captain_image/${driver['id']}.jpg',
|
||||
),
|
||||
backgroundColor: CupertinoColors.systemGrey5,
|
||||
),
|
||||
@@ -138,6 +140,7 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
showDateTimePickerDialog(driver);
|
||||
Log.print('driver: ${driver}');
|
||||
}));
|
||||
print('${'Selected driver'.tr}: ${driver['NAME']}');
|
||||
// Get.back(); // Close the dialog
|
||||
@@ -150,9 +153,18 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
}
|
||||
|
||||
Color hexToColor(String hexColor) {
|
||||
if (hexColor == null || hexColor.isEmpty || hexColor == 'null') {
|
||||
// Return a default color if the hex color is invalid
|
||||
return Colors.grey;
|
||||
}
|
||||
hexColor = hexColor.replaceAll("#", "");
|
||||
String colorString = "ff$hexColor";
|
||||
return Color(int.parse(colorString, radix: 16));
|
||||
if (hexColor.length == 6) {
|
||||
hexColor = "ff$hexColor";
|
||||
} else if (hexColor.length != 8) {
|
||||
// Return a default color if the hex color is not in the valid format
|
||||
return Colors.grey;
|
||||
}
|
||||
return Color(int.parse(hexColor, radix: 16));
|
||||
}
|
||||
|
||||
void showDriverSelectionDialog(Map<String, dynamic> driver) {
|
||||
@@ -192,7 +204,23 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> confirmTripData(
|
||||
Map<String, dynamic> driver, DateTime selectedDateTime) async {
|
||||
try {
|
||||
// Save trip data and set up notifications
|
||||
// Log.print('selectedDateTime: $selectedDateTime');
|
||||
// Log.print('driver: $driver');
|
||||
await mapPassengerController.saveTripData(driver, selectedDateTime);
|
||||
Get.back(); // Close the dialog
|
||||
} catch (e) {
|
||||
// Handle any errors that occur during the save process
|
||||
Log.print('Error saving trip data: $e');
|
||||
Get.snackbar('Error', 'Failed to save trip data');
|
||||
}
|
||||
}
|
||||
|
||||
void showDateTimePickerDialog(Map<String, dynamic> driver) {
|
||||
Log.print('driver: ${driver}');
|
||||
DateTime selectedDateTime = DateTime.now();
|
||||
|
||||
Get.defaultDialog(
|
||||
@@ -209,12 +237,10 @@ class CupertinoDriverListWidget extends StatelessWidget {
|
||||
),
|
||||
confirm: MyElevatedButton(
|
||||
title: 'Confirm Trip'.tr,
|
||||
onPressed: () async {
|
||||
onPressed: () {
|
||||
DateTime selectedDateTime =
|
||||
mapPassengerController.selectedDateTime.value;
|
||||
// Save trip data and set up notifications
|
||||
Get.back();
|
||||
await mapPassengerController.saveTripData(driver, selectedDateTime);
|
||||
confirmTripData(driver, selectedDateTime);
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user