From bd309ae211b2df64b37977424957b94707726d71 Mon Sep 17 00:00:00 2001 From: Rakshitha Salian <rakshitha.salian@niveus.com> Date: Fri, 31 May 2024 15:16:08 +0530 Subject: [PATCH] Integration of verify otp screen --- lib/controller/base_controller.dart | 3 +-- lib/serverRequest/all_request.dart | 13 +++++++++++-- .../loginScreen/controller/login_controller.dart | 5 +++++ lib/views/loginScreen/view/login_screen.dart | 6 +++--- .../verifyOTP/controller/verify_otp_controller.dart | 2 +- lib/views/verifyOTP/widgets/screen_header.dart | 1 + 6 files changed, 22 insertions(+), 8 deletions(-) diff --git a/lib/controller/base_controller.dart b/lib/controller/base_controller.dart index 0059bb2..3eed81a 100644 --- a/lib/controller/base_controller.dart +++ b/lib/controller/base_controller.dart @@ -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; + diff --git a/lib/serverRequest/all_request.dart b/lib/serverRequest/all_request.dart index a1934d7..f830717 100644 --- a/lib/serverRequest/all_request.dart +++ b/lib/serverRequest/all_request.dart @@ -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}"); diff --git a/lib/views/loginScreen/controller/login_controller.dart b/lib/views/loginScreen/controller/login_controller.dart index 9845166..93a6f30 100644 --- a/lib/views/loginScreen/controller/login_controller.dart +++ b/lib/views/loginScreen/controller/login_controller.dart @@ -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(); + } } diff --git a/lib/views/loginScreen/view/login_screen.dart b/lib/views/loginScreen/view/login_screen.dart index 9908d83..80ebefd 100644 --- a/lib/views/loginScreen/view/login_screen.dart +++ b/lib/views/loginScreen/view/login_screen.dart @@ -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, diff --git a/lib/views/verifyOTP/controller/verify_otp_controller.dart b/lib/views/verifyOTP/controller/verify_otp_controller.dart index 475862f..1e8af1e 100644 --- a/lib/views/verifyOTP/controller/verify_otp_controller.dart +++ b/lib/views/verifyOTP/controller/verify_otp_controller.dart @@ -20,7 +20,7 @@ class VerifyOtpController extends GetxController { @override void onInit() { startTimer(); - AllHttpRequest().generateAuth(); + super.onInit(); } diff --git a/lib/views/verifyOTP/widgets/screen_header.dart b/lib/views/verifyOTP/widgets/screen_header.dart index 38b3d2b..3275341 100644 --- a/lib/views/verifyOTP/widgets/screen_header.dart +++ b/lib/views/verifyOTP/widgets/screen_header.dart @@ -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( -- GitLab