This commit is contained in:
Hamza-Ayed
2024-05-20 17:01:31 +03:00
parent a953aabd9c
commit 453863aa5d
73 changed files with 751 additions and 242 deletions

View File

@@ -1,6 +1,7 @@
import 'dart:convert';
import 'dart:math';
import 'package:SEFER/views/home/map_page_passenger.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:SEFER/constant/links.dart';
@@ -9,10 +10,14 @@ import 'package:SEFER/controller/functions/crud.dart';
import 'package:SEFER/views/auth/login_page.dart';
import 'package:SEFER/views/widgets/elevated_btn.dart';
import '../../constant/box_name.dart';
import '../../main.dart';
import '../../views/auth/verify_email_page.dart';
import '../functions/sms_controller.dart';
class RegisterController extends GetxController {
final formKey = GlobalKey<FormState>();
final formKey3 = GlobalKey<FormState>();
TextEditingController firstNameController = TextEditingController();
TextEditingController lastNameController = TextEditingController();
@@ -21,6 +26,10 @@ class RegisterController extends GetxController {
TextEditingController passwordController = TextEditingController();
TextEditingController siteController = TextEditingController();
TextEditingController verfyCode = TextEditingController();
TextEditingController verifyCode = TextEditingController();
bool isSent = false;
bool isLoading = false;
String birthDate = 'Birth Date'.tr;
String gender = 'Male'.tr;
@@ -59,6 +68,64 @@ class RegisterController extends GetxController {
update();
}
sendOtpMessage() async {
SmsEgyptController smsEgyptController = Get.put(SmsEgyptController());
int randomNumber = Random().nextInt(100000) + 1;
isLoading = true;
update();
if (formKey3.currentState!.validate()) {
if (box.read(BoxName.countryCode) == 'Egypt') {
await CRUD().post(link: AppLink.sendVerifyOtpMessage, payload: {
'phone_number': '+2${phoneController.text}',
'token': randomNumber.toString(),
});
// await smsEgyptController.sendSmsEgypt(
// phoneController.text.toString(), randomNumber.toString());
isSent = true;
isLoading = false;
update();
}
}
}
verifySMSCode() async {
if (formKey3.currentState!.validate()) {
var res = await CRUD().post(link: AppLink.verifyOtpMessage, payload: {
'phone_number': '+2${phoneController.text}',
'token': verifyCode.text.toString(),
});
if (res != 'failure') {
// var dec = jsonDecode(res);
box.write(BoxName.phoneDriver, '+2${phoneController.text}');
var payload = {
'id': box.read(BoxName.passengerID),
'phone': '+2${phoneController.text}',
'email': box.read(BoxName.email),
'password': 'unknown',
'gender': 'unknown',
'birthdate': '2002-01-01',
'site': 'unknown',
'first_name': box.read(BoxName.name).toString().split(' ')[0],
'last_name': box.read(BoxName.name).toString().split(' ')[1],
};
var res1 = await CRUD().post(
link: AppLink.signUp,
payload: payload,
);
if (jsonDecode(res1)['status'] == 'success') {
box.write(BoxName.isVerified, 'true');
Get.offAll(const MapPagePassenger());
}
} else {
print(res);
Get.snackbar('Error'.tr, '', backgroundColor: Colors.redAccent);
}
}
}
sendVerifications() async {
var res = await CRUD().post(link: AppLink.verifyEmail, payload: {
'email': emailController.text,