7/31/1
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:SEFER/constant/box_name.dart';
|
||||
import 'package:SEFER/constant/colors.dart';
|
||||
import 'package:SEFER/constant/links.dart';
|
||||
import 'package:SEFER/controller/functions/crud.dart';
|
||||
import 'package:SEFER/controller/home/payment/captain_wallet_controller.dart';
|
||||
import 'package:SEFER/views/widgets/mydialoug.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_contacts/contact.dart';
|
||||
import 'package:flutter_contacts/flutter_contacts.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../main.dart';
|
||||
import '../../../print.dart';
|
||||
import '../../functions/launch.dart';
|
||||
import '../../notification/notification_captain_controller.dart';
|
||||
|
||||
@@ -38,6 +42,40 @@ class InviteController extends GetxController {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> pickContact() async {
|
||||
try {
|
||||
print('Requesting contact permission...');
|
||||
if (await FlutterContacts.requestPermission(readonly: true)) {
|
||||
print('Permission granted. Opening external contact picker...');
|
||||
final Contact? contact = await FlutterContacts.openExternalPick();
|
||||
if (contact != null) {
|
||||
print('Contact picked: ${contact.displayName}');
|
||||
if (contact.phones.isNotEmpty) {
|
||||
print('Phone number found: ${contact.phones.first.number}');
|
||||
invitePhoneController.text = contact.phones.first.number;
|
||||
update();
|
||||
} else {
|
||||
print('Selected contact has no phone number.');
|
||||
Get.snackbar('No phone number'.tr,
|
||||
'The selected contact does not have a phone number.'.tr);
|
||||
}
|
||||
} else {
|
||||
print('No contact selected or picker was cancelled.');
|
||||
Get.snackbar('No contact selected'.tr, 'Please select a contact'.tr);
|
||||
}
|
||||
} else {
|
||||
print('Permission denied by user or system.');
|
||||
Get.snackbar('Permission denied'.tr,
|
||||
'Contact permission is required to pick a contact'.tr);
|
||||
}
|
||||
} catch (e) {
|
||||
print('Error picking contact: $e');
|
||||
print('Stack trace: ${StackTrace.current}');
|
||||
Get.snackbar(
|
||||
'Error'.tr, 'An error occurred while picking a contact: $e'.tr);
|
||||
}
|
||||
}
|
||||
|
||||
void onSelectDriverInvitation(int index) async {
|
||||
MyDialog().getDialog(
|
||||
driverInvitationData[index]['countOfInvitDriver'] < 100
|
||||
@@ -89,7 +127,7 @@ class InviteController extends GetxController {
|
||||
"driverId": box.read(BoxName.driverID),
|
||||
"inviterDriverPhone": '+2${invitePhoneController.text}'
|
||||
});
|
||||
|
||||
Log.print('response: ${response}');
|
||||
if (response != 'failure') {
|
||||
var d = jsonDecode(response);
|
||||
Get.snackbar('Success', 'Invite sent successfully'.tr);
|
||||
@@ -109,7 +147,9 @@ class InviteController extends GetxController {
|
||||
|
||||
invitePhoneController.clear();
|
||||
} else {
|
||||
Get.snackbar('Error', 'Failed to send invite'.tr);
|
||||
Get.snackbar('Error'.tr, "Invite code already used".tr,
|
||||
backgroundColor: AppColor.redColor,
|
||||
duration: const Duration(seconds: 4));
|
||||
}
|
||||
// } catch (e) {
|
||||
// print('Error sending invite: $e');
|
||||
|
||||
Reference in New Issue
Block a user