Skip to content
Snippets Groups Projects
Commit bd309ae2 authored by Rakshitha Salian's avatar Rakshitha Salian
Browse files

Integration of verify otp screen

parent ef7757e7
Branches integrating-verify-otp-screen
No related tags found
1 merge request!5Integration of verify otp screen
......@@ -28,8 +28,7 @@ class BaseController extends GetxController with WidgetsBindingObserver {
///verifyOtp
RxString generatedOtp="".obs;
//todo-Fetch the phone number from welcome screen
RxString userPhoneNumber="919945215727".obs;
......
......@@ -8,6 +8,7 @@ import 'package:exide_crr/data/app_env.dart';
import 'package:exide_crr/preferences/app_shared_preferences.dart';
import 'package:exide_crr/serverRequest/app_exception.dart';
import 'package:exide_crr/utils/custom_toast.dart';
import 'package:exide_crr/views/loginScreen/controller/login_controller.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:get/get.dart';
import 'package:get/get_core/src/get_main.dart';
......@@ -16,6 +17,7 @@ import 'package:shared_preferences/shared_preferences.dart';
import '../appLocalization/language_key.dart';
import '../model/verifyOtp.dart';
import '../routes/routes_name.dart';
final httpClient = http.Client();
......@@ -145,6 +147,12 @@ class AllHttpRequest {
Future sendOtp() async {
try {
final baseController = Get.find<BaseController>();
final loginController = Get.find<LoginController>();
///Get the phone number from login controller if null direct back to login screen
// if(loginController.dealerData["phone"]==null){
// Get.back();
// }
///Locally generated 4 digit otp
baseController.generatedOtp.value = Miscellaneous.generateOTP();
......@@ -153,7 +161,7 @@ class AllHttpRequest {
var smsContent='$smsData ${baseController.generatedOtp.value} -EXIDE';
///Set up POST request arguments
String url = '$baseUrlForSendOtp/sendsms?to=${baseController.userPhoneNumber}&from=ExideB&text=$smsContent';
String url = '$baseUrlForSendOtp/sendsms?to=${loginController.dealerData["phone"]}&from=ExideB&text=$smsContent';
Map<String, String>? headers = {
"Content-type": "application/json",
"Authorization": "Bearer ${generatedAuth.token}",
......@@ -162,7 +170,8 @@ class AllHttpRequest {
var response = await http.post(uri, headers: headers);
if (response.statusCode == 200) {
///If success do nothing
Get.toNamed(RoutesName.verifyOtp);
///If success redirect to verify OTP screen
} else {
Fluttertoast.showToast(msg: apiError.tr);
log("Error generate auth--${response.statusCode}");
......
......@@ -8,6 +8,7 @@ import 'package:get/get_rx/src/rx_types/rx_types.dart';
import 'package:get/get_state_manager/src/simple/get_controllers.dart';
import '../../../model/condition_data.dart';
import '../../../serverRequest/all_request.dart';
class LoginController extends GetxController {
FirebaseService firebaseService = FirebaseService.instance;
......@@ -38,4 +39,8 @@ class LoginController extends GetxController {
isLoginLoading.value = false;
}
}
onClickHandler(){
AllHttpRequest().generateAuth();
}
}
......@@ -14,6 +14,8 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:get/get_utils/src/extensions/internacionalization.dart';
import '../../../routes/routes_name.dart';
class LoginScreen extends StatefulWidget {
const LoginScreen({super.key});
......@@ -103,9 +105,7 @@ class _LoginScreenState extends State<LoginScreen> {
Obx(
() => CustomButton(
buttonName: next.tr,
onTap: () {
// Get.offNamed(RoutesName.loginScreen);
},
onTap: loginController.onClickHandler,
activeBackgroundColor: AppColor.darkRed,
width: Get.width,
isActive: loginController.dealerData["phone"] != null,
......
......@@ -20,7 +20,7 @@ class VerifyOtpController extends GetxController {
@override
void onInit() {
startTimer();
AllHttpRequest().generateAuth();
super.onInit();
}
......
......@@ -6,6 +6,7 @@ import '../../../appLocalization/language_key.dart';
import '../../../constants/image_constants.dart';
import '../../../customWidget/app_text.dart';
import '../../../res/app_color_text_size.dart';
import '../../../routes/routes_name.dart';
Widget screenHeader() {
return Column(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment