This commit is contained in:
Hamza-Ayed
2023-11-09 18:26:11 +03:00
parent 8238323dd3
commit ebde8bb44d
29 changed files with 1667 additions and 819 deletions

View File

@@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:get/get.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:ride/constant/box_name.dart';
import 'dart:async';
@@ -15,13 +16,24 @@ class HomeCaptainController extends GetxController {
Duration activeDuration = Duration.zero;
Timer? activeTimer;
Map data = {};
bool isLoading = true;
String totalMoneyToday = '0';
String totalMoneyInSEFER = '0';
String totalDurationToday = '0';
Timer? timer;
bool mapType = false;
bool mapTrafficON = false;
double widthMapTypeAndTraffic = 50;
// Inject the LocationController class
final locationController = Get.find<LocationController>();
final locationController = Get.put(LocationController());
String formatDuration(Duration duration) {
String twoDigits(int n) => n.toString().padLeft(2, "0");
String twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60));
String twoDigitSeconds = twoDigits(duration.inSeconds.remainder(60));
return "${duration.inHours}:$twoDigitMinutes:$twoDigitSeconds";
}
String stringActiveDuration = '';
void onButtonSelected() {
isActive = !isActive;
if (isActive) {
@@ -29,6 +41,7 @@ class HomeCaptainController extends GetxController {
activeStartTime = DateTime.now();
activeTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
activeDuration = DateTime.now().difference(activeStartTime!);
stringActiveDuration = formatDuration(activeDuration);
update();
});
} else {
@@ -42,6 +55,27 @@ class HomeCaptainController extends GetxController {
update();
}
void changeMapType() {
mapType = !mapType;
// heightButtomSheetShown = isButtomSheetShown == true ? 240 : 0;
update();
}
void changeMapTraffic() {
mapTrafficON = !mapTrafficON;
update();
}
GoogleMapController? mapHomeCaptaiController;
void onMapCreated(GoogleMapController controller) {
mapHomeCaptaiController = controller;
controller.getVisibleRegion();
controller.animateCamera(
CameraUpdate.newLatLng(locationController.myLocation),
);
update();
}
void savePeriod(Duration period) {
final periods = box.read<List<dynamic>>(BoxName.periods) ?? [];
periods.add(period.inSeconds);
@@ -72,7 +106,9 @@ class HomeCaptainController extends GetxController {
@override
void onInit() async {
addToken();
onButtonSelected();
getPaymentToday();
getAllPayment();
startPeriodicExecution();
super.onInit();
}
@@ -91,6 +127,16 @@ class HomeCaptainController extends GetxController {
payload: {'driverID': box.read(BoxName.driverID).toString()});
data = jsonDecode(res);
totalMoneyToday = data['message'][0]['todayAmount'];
update();
}
getAllPayment() async {
var res = await CRUD().get(
link: AppLink.getAllPayment,
payload: {'driverID': box.read(BoxName.driverID).toString()});
data = jsonDecode(res);
totalMoneyInSEFER = data['message'][0]['total_amount'];
update();
}