12/18/1
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
import 'dart:math';
|
||||
import 'package:SEFER/constant/box_name.dart';
|
||||
import 'package:SEFER/constant/info.dart';
|
||||
import 'package:SEFER/constant/links.dart';
|
||||
import 'package:SEFER/constant/style.dart';
|
||||
import 'package:SEFER/controller/auth/captin/login_captin_controller.dart';
|
||||
import 'package:SEFER/controller/functions/crud.dart';
|
||||
import 'package:SEFER/controller/functions/device_info.dart';
|
||||
import 'package:SEFER/main.dart';
|
||||
import 'package:SEFER/views/home/Captin/home_captain/home_captin.dart';
|
||||
import 'package:SEFER/views/widgets/error_snakbar.dart';
|
||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
||||
import 'package:sefer_driver/constant/box_name.dart';
|
||||
import 'package:sefer_driver/constant/info.dart';
|
||||
import 'package:sefer_driver/constant/links.dart';
|
||||
import 'package:sefer_driver/constant/style.dart';
|
||||
import 'package:sefer_driver/controller/auth/captin/login_captin_controller.dart';
|
||||
import 'package:sefer_driver/controller/firebase/firbase_messge.dart';
|
||||
import 'package:sefer_driver/controller/firebase/local_notification.dart';
|
||||
import 'package:sefer_driver/controller/functions/crud.dart';
|
||||
import 'package:sefer_driver/controller/functions/device_info.dart';
|
||||
import 'package:sefer_driver/controller/notification/notification_captain_controller.dart';
|
||||
import 'package:sefer_driver/main.dart';
|
||||
import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart';
|
||||
import 'package:sefer_driver/views/widgets/error_snakbar.dart';
|
||||
import 'package:sefer_driver/views/widgets/mydialoug.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:image_cropper/image_cropper.dart';
|
||||
@@ -50,6 +54,31 @@ class AI extends GetxController {
|
||||
bool isInviteDriverFound = false;
|
||||
final invitationCodeController = TextEditingController();
|
||||
final formKey = GlobalKey<FormState>();
|
||||
bool isTimerComplete = false;
|
||||
double progressValue = 1.0;
|
||||
int remainingSeconds = 30;
|
||||
|
||||
void startTimer() {
|
||||
Timer.periodic(const Duration(seconds: 1), (timer) {
|
||||
if (remainingSeconds == 0) {
|
||||
timer.cancel();
|
||||
isTimerComplete = true;
|
||||
update(); // Notify the UI
|
||||
} else {
|
||||
remainingSeconds--;
|
||||
progressValue = remainingSeconds / 30.0; // Update progress
|
||||
update(); // Notify the UI
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void resetTimer() {
|
||||
isTimerComplete = false;
|
||||
progressValue = 1.0;
|
||||
remainingSeconds = 40;
|
||||
update(); // Notify the UI
|
||||
startTimer(); // Restart the timer
|
||||
}
|
||||
|
||||
void setApproved() {
|
||||
approved = true;
|
||||
@@ -57,17 +86,32 @@ class AI extends GetxController {
|
||||
}
|
||||
|
||||
Future updateInvitationCodeFromRegister() async {
|
||||
if (formKey.currentState!.validate()) {
|
||||
var res = await CRUD().post(
|
||||
link: AppLink.updateInvitationCodeFromRegister,
|
||||
payload: {"inviteCode": invitationCodeController.text});
|
||||
if (res != 'failure') {
|
||||
isInviteDriverFound = true;
|
||||
update();
|
||||
mySnackbarSuccess("Code approved".tr);
|
||||
} else {
|
||||
mySnackeBarError("Code not approved".tr);
|
||||
}
|
||||
var res = await CRUD().post(
|
||||
link: AppLink.updateDriverInvitationDirectly,
|
||||
payload: {
|
||||
"inviterDriverPhone": '+2${box.read(BoxName.phoneDriver).toString()}',
|
||||
"driverId": box.read(BoxName.driverID).toString(),
|
||||
},
|
||||
);
|
||||
|
||||
if (res != 'failure') {
|
||||
isInviteDriverFound = true;
|
||||
update();
|
||||
// mySnackbarSuccess("Code approved".tr); // Localized success message
|
||||
box.write(BoxName.isInstall, '1');
|
||||
NotificationController().showNotification(
|
||||
"Code approved".tr, "Code approved".tr, 'tone2', '');
|
||||
// Notification text with dynamic token
|
||||
FirebaseMessagesController().sendNotificationToDriverMAP(
|
||||
'You have received a gift token!'.tr,
|
||||
'for '.tr + box.read(BoxName.phoneDriver).toString(),
|
||||
jsonDecode(res)['message'][0]['token'].toString(),
|
||||
[],
|
||||
'tone2', // Type of notification
|
||||
);
|
||||
} else {
|
||||
// mySnackeBarError(
|
||||
// "You dont have invitation code".tr); // Localized error message
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,7 +441,7 @@ class AI extends GetxController {
|
||||
}
|
||||
}
|
||||
|
||||
addCriminalDeocuments() async {
|
||||
addCriminalDocuments() async {
|
||||
var res = await CRUD().post(link: AppLink.addCriminalDocuments, payload: {
|
||||
"driverId": box.read(BoxName.driverID),
|
||||
"IssueDate": responseCriminalRecordEgypt['IssueDate'],
|
||||
|
||||
Reference in New Issue
Block a user