showAuthScreen function

Future<String?> showAuthScreen(
  1. BuildContext context, {
  2. required String apiKey,
  3. required String senderName,
  4. String? appName,
  5. String? demoOTP,
  6. String? demoPhoneNumber,
  7. int? otpLength,
  8. MonSmsProAuthStyle? style,
  9. Future<bool> beforeSendOTP(
    1. String phoneNumber
    )?,
  10. String? onBeforeSendOTPError,
  11. void onCompleted(
    1. String phoneNumber
    )?,
  12. MonSmsProAuthNavigationMode navigationMode = MonSmsProAuthNavigationMode.push,
})

Implementation

Future<String?> showAuthScreen(
  BuildContext context, {
  required String apiKey,
  required String senderName,
  String? appName,
  String? demoOTP,
  String? demoPhoneNumber,
  int? otpLength,
  MonSmsProAuthStyle? style,
  Future<bool> Function(String phoneNumber)? beforeSendOTP,
  String? onBeforeSendOTPError,
  void Function(String phoneNumber)? onCompleted,
  MonSmsProAuthNavigationMode navigationMode = MonSmsProAuthNavigationMode.push,
}) async {
  return await Navigator.push(
    context,
    MaterialPageRoute(
      builder: (context) => MonSmsProAuthScreen(
        apiKey: apiKey,
        senderName: senderName,
        appName: appName,
        demoOTP: demoOTP,
        demoPhoneNumber: demoPhoneNumber,
        otpLength: otpLength ?? 4,
        beforeSendOTP: beforeSendOTP,
        onBeforeSendOTPError: onBeforeSendOTPError ?? "",
        onCompleted: onCompleted,
        style: style ??
            MonSmsProAuthStyle(
              paddingSize: 15,
              mainColor: Theme.of(context).primaryColor,
            ),
      ),
    ),
  );
}