@os1-platform/dispatch-mobile 3.0.4 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +38 -9
- package/android/gradle.properties +17 -2
- package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +467 -287
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js +270 -0
- package/lib/commonjs/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js +99 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js +195 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js +106 -0
- package/lib/commonjs/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js +68 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +12 -5
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +61 -0
- package/lib/commonjs/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js +235 -114
- package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/commonjs/components/utils/Scale.js +22 -0
- package/lib/commonjs/components/utils/Scale.js.map +1 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js +47 -0
- package/lib/commonjs/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/commonjs/components/widgets/SnackBarCustom.js +36 -4
- package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/commonjs/components/widgets/SplitTextInput.js +48 -18
- package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/commonjs/constants/apiConstants.js +4 -1
- package/lib/commonjs/constants/apiConstants.js.map +1 -1
- package/lib/commonjs/constants/constants.js +2 -1
- package/lib/commonjs/constants/constants.js.map +1 -1
- package/lib/commonjs/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/commonjs/icons/icFailed.gif +0 -0
- package/lib/commonjs/icons/icRadioChecked.svg +4 -0
- package/lib/commonjs/icons/icRadioUnchecked.svg +4 -0
- package/lib/commonjs/icons/icSuccess.gif +0 -0
- package/lib/commonjs/icons/index.js +28 -0
- package/lib/commonjs/icons/index.js.map +1 -0
- package/lib/commonjs/index.js +19 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js +5 -4
- package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/commonjs/manager/sdk/callbacksHandler.js +9 -2
- package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/constants.js +3 -1
- package/lib/commonjs/manager/syncmanager/constants.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/models/sdk.js +1 -0
- package/lib/commonjs/models/sdk.js.map +1 -1
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js +132 -12
- package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/commonjs/utils/ApiUtils.js +122 -3
- package/lib/commonjs/utils/ApiUtils.js.map +1 -1
- package/lib/commonjs/utils/ExecTaskUtils.js +67 -7
- package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
- package/lib/commonjs/utils/context/valdiateOTPContext.js +11 -0
- package/lib/commonjs/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/commonjs/utils/helper.js.map +1 -1
- package/lib/commonjs/utils/hooks/useTimer.js +68 -30
- package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
- package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
- package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js +1 -1
- package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js +480 -290
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js +14 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOTPSchema.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js +264 -0
- package/lib/module/components/executiontasks/validateOTP/ValidateOtpStyles.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js +88 -0
- package/lib/module/components/executiontasks/validateOTP/components/ContactListView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js +194 -0
- package/lib/module/components/executiontasks/validateOTP/components/OTPView.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js +96 -0
- package/lib/module/components/executiontasks/validateOTP/components/VerificationComplete.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/constants.js +11 -4
- package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js +59 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ContactCard.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js +11 -5
- package/lib/module/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js +52 -0
- package/lib/module/components/executiontasks/validateOTP/sub-components/ResendOTPButton.js.map +1 -0
- package/lib/module/components/executiontasks/validateOTP/utils.js +219 -108
- package/lib/module/components/executiontasks/validateOTP/utils.js.map +1 -1
- package/lib/module/components/utils/Scale.js +14 -0
- package/lib/module/components/utils/Scale.js.map +1 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js +40 -0
- package/lib/module/components/widgets/ConfirmCancelModal.js.map +1 -0
- package/lib/module/components/widgets/SnackBarCustom.js +36 -4
- package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
- package/lib/module/components/widgets/SplitTextInput.js +48 -19
- package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
- package/lib/module/constants/apiConstants.js +4 -1
- package/lib/module/constants/apiConstants.js.map +1 -1
- package/lib/module/constants/constants.js +1 -0
- package/lib/module/constants/constants.js.map +1 -1
- package/lib/module/icons/icExclamationcircleo_dark.svg +3 -0
- package/lib/module/icons/icFailed.gif +0 -0
- package/lib/module/icons/icRadioChecked.svg +4 -0
- package/lib/module/icons/icRadioUnchecked.svg +4 -0
- package/lib/module/icons/icSuccess.gif +0 -0
- package/lib/module/icons/index.js +5 -0
- package/lib/module/icons/index.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/manager/sdk/DispatchSDKManager.js +5 -3
- package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
- package/lib/module/manager/sdk/callbacksHandler.js +12 -3
- package/lib/module/manager/sdk/callbacksHandler.js.map +1 -1
- package/lib/module/manager/syncmanager/constants.js +2 -0
- package/lib/module/manager/syncmanager/constants.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js +3 -2
- package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +70 -80
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/models/sdk.js +2 -0
- package/lib/module/models/sdk.js.map +1 -1
- package/lib/module/ui/screens/ValidateOTPScreen.js +139 -11
- package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
- package/lib/module/utils/ApiUtils.js +118 -2
- package/lib/module/utils/ApiUtils.js.map +1 -1
- package/lib/module/utils/ExecTaskUtils.js +66 -7
- package/lib/module/utils/ExecTaskUtils.js.map +1 -1
- package/lib/module/utils/context/valdiateOTPContext.js +4 -0
- package/lib/module/utils/context/valdiateOTPContext.js.map +1 -0
- package/lib/module/utils/helper.js +1 -0
- package/lib/module/utils/helper.js.map +1 -1
- package/lib/module/utils/hooks/useTimer.js +67 -30
- package/lib/module/utils/hooks/useTimer.js.map +1 -1
- package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +3 -3
- package/lib/typescript/components/executiontasks/deliver/DeliverETInput.d.ts +0 -1
- package/lib/typescript/components/executiontasks/scan/modalConstant.d.ts +0 -1
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPET.d.ts +3 -3
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOTPSchema.d.ts +169 -5
- package/lib/typescript/components/executiontasks/validateOTP/ValidateOtpStyles.d.ts +255 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/ContactListView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/OTPView.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/components/VerificationComplete.d.ts +3 -0
- package/lib/typescript/components/executiontasks/validateOTP/constants.d.ts +11 -4
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ContactCard.d.ts +8 -0
- package/lib/typescript/components/executiontasks/validateOTP/sub-components/ResendOTPButton.d.ts +12 -0
- package/lib/typescript/components/executiontasks/validateOTP/utils.d.ts +31 -7
- package/lib/typescript/components/utils/Scale.d.ts +4 -0
- package/lib/typescript/components/widgets/ConfirmCancelModal.d.ts +9 -0
- package/lib/typescript/components/widgets/SnackBarCustom.d.ts +4 -8
- package/lib/typescript/components/widgets/SplitTextInput.d.ts +1 -1
- package/lib/typescript/components/widgets/Timer.d.ts +3 -3
- package/lib/typescript/constants/apiConstants.d.ts +3 -0
- package/lib/typescript/constants/constants.d.ts +1 -0
- package/lib/typescript/icons/index.d.ts +4 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/manager/sdk/callbacksHandler.d.ts +4 -1
- package/lib/typescript/manager/syncmanager/constants.d.ts +2 -0
- package/lib/typescript/models/execTasks/ETConfig.d.ts +1 -1
- package/lib/typescript/models/sdk.d.ts +3 -0
- package/lib/typescript/network/GraphQLClient.d.ts +4 -4
- package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +2 -2
- package/lib/typescript/ui/screens/HttpRequestScreen.d.ts +0 -1
- package/lib/typescript/utils/ApiUtils.d.ts +6 -2
- package/lib/typescript/utils/ExecTaskUtils.d.ts +1 -0
- package/lib/typescript/utils/context/paymentContext.d.ts +0 -1
- package/lib/typescript/utils/context/valdiateOTPContext.d.ts +6 -0
- package/lib/typescript/utils/hooks/useModal.d.ts +0 -2
- package/lib/typescript/utils/hooks/useTimer.d.ts +7 -5
- package/package.json +46 -44
- package/src/components/dispatch/DispatchExecNavigator.tsx +1 -1
- package/src/components/executiontasks/forms/widgets/DateTimeWidget.tsx +2 -2
- package/src/components/executiontasks/imageCapture/CaptureUtils.ts +1 -1
- package/src/components/executiontasks/validateOTP/ValidateOTPET.tsx +654 -381
- package/src/components/executiontasks/validateOTP/ValidateOTPSchema.ts +193 -8
- package/src/components/executiontasks/validateOTP/ValidateOtpStyles.ts +296 -0
- package/src/components/executiontasks/validateOTP/components/ContactListView.tsx +109 -0
- package/src/components/executiontasks/validateOTP/components/OTPView.tsx +216 -0
- package/src/components/executiontasks/validateOTP/components/VerificationComplete.tsx +124 -0
- package/src/components/executiontasks/validateOTP/constants.ts +11 -4
- package/src/components/executiontasks/validateOTP/sub-components/ContactCard.tsx +72 -0
- package/src/components/executiontasks/validateOTP/sub-components/OTPInput.tsx +13 -7
- package/src/components/executiontasks/validateOTP/sub-components/ResendOTPButton.tsx +86 -0
- package/src/components/executiontasks/validateOTP/utils.ts +313 -143
- package/src/components/utils/Scale.ts +13 -0
- package/src/components/widgets/ConfirmCancelModal.tsx +49 -0
- package/src/components/widgets/SnackBarCustom.tsx +37 -13
- package/src/components/widgets/SplitTextInput.tsx +58 -21
- package/src/constants/apiConstants.ts +3 -0
- package/src/constants/constants.ts +2 -2
- package/src/icons/icExclamationcircleo_dark.svg +3 -0
- package/src/icons/icFailed.gif +0 -0
- package/src/icons/icRadioChecked.svg +4 -0
- package/src/icons/icRadioUnchecked.svg +4 -0
- package/src/icons/icSuccess.gif +0 -0
- package/src/icons/index.ts +5 -0
- package/src/index.tsx +2 -0
- package/src/manager/sdk/DispatchSDKManager.ts +6 -5
- package/src/manager/sdk/callbacksHandler.ts +29 -12
- package/src/manager/syncmanager/constants.ts +2 -0
- package/src/manager/syncmanager/document/DocumentHttpClient.ts +29 -29
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +75 -84
- package/src/models/sdk.ts +6 -0
- package/src/ui/screens/ValidateOTPScreen.tsx +194 -32
- package/src/utils/ApiUtils.ts +131 -3
- package/src/utils/ExecTaskUtils.ts +77 -15
- package/src/utils/context/valdiateOTPContext.ts +9 -0
- package/src/utils/helper.ts +0 -1
- package/src/utils/hooks/useTimer.ts +94 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Text","StyleSheet","BackHandler","Platform","React","useState","useLayoutEffect","Button","Provider","SvgXml","OTPInput","useTimer","CommonStyles","Fonts","generateOTP","parseRetryConfig","checkForValidation","ERROR_GENERATING_OTP","INVALID_OTP","INVALID_OTP_LENGTH","mobileSVG","EntityCode","ExecutionTaskID","getBaseETResponse","getEventCodeByET","SnackBarCustom","SnackBarType","Icon","GO_BACK_EVENT_CODE","hasGoBackConnector","GoBackModal","useFocusEffect","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ValidateOTPET","props","_props$generationLogi","_props$generationLogi2","showBackModal","setShowBackModal","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","VALIDATE_OTP_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","retryConfig","generationLogic","initialMinute","Math","floor","delay","initialSeconds","parseInt","toFixed","timer","resetTimer","sendOTP","setSendOTP","Boolean","generateOnLoad","retryCount","setRetryCount","userInput","setUserInput","captureInput","otpCode","setOTPCode","hasError","setHasError","errorMessage","setErrorMessage","snackBar","setSnackBar","show","type","SUCCESS","message","renderButtons","styles","bottomView","nextButton","width","marginStart","labelStyle","nextButtonLabel","mode","uppercase","_props$generationLogi3","response","api","FAILURE","length","replace","isValid","validation","_props$applicableReas","onSubmitET","VALIDATE_OTP_ET","success","mergedObjectiveId","cancelButton","marginEnd","cancelButtonLabel","_props$applicableReas2","failure","renderRetryButton","_props$generationLogi4","enableRetry","retryButton","disabled","maxAttempt","buttonTitle","renderErrorMessage","renderModal","showModal","setShowModal","onSuccess","onFailure","mainContainer","flex","justifyContent","alignItems","marginHorizontal","marginBottom","OS","xml","marginTop","titleText","visible","onDismiss","_props$captureInput","otpContainer","otpTitle","input","create","flexDirection","padding","backgroundColor","fontFamily","IBMPlexSans_400Regular","fontStyle","fontSize","lineHeight","letterSpacing","textAlign","marginVertical","subText","modalContent","modalView","borderRadius"],"sources":["ValidateOTPET.tsx"],"sourcesContent":["import { View, Text, StyleSheet, BackHandler, Platform } from 'react-native';\nimport React, { useState, useLayoutEffect } from 'react';\nimport { Button, Modal, Portal, Provider } from 'react-native-paper';\nimport { SvgXml } from 'react-native-svg';\nimport OTPInput from './sub-components/OTPInput';\nimport type { ValidateOTPInput } from './ValidateOTPSchema';\nimport useTimer from '../../../utils/hooks/useTimer';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport { generateOTP, parseRetryConfig } from './utils';\nimport { checkForValidation } from './utils';\nimport {\n ERROR_GENERATING_OTP,\n INVALID_OTP,\n INVALID_OTP_LENGTH,\n mobileSVG,\n} from './constants';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport SnackBarCustom, {\n SnackBarType,\n} from '../../../components/widgets/SnackBarCustom';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst ValidateOTPET = (props: ValidateOTPInput) => {\n const [showBackModal, setShowBackModal] = useState(false);\n\n // Handle back-button click\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n const cta = 'Arrow Back';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN, cta: cta }); \n \n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const retryConfig = parseRetryConfig(props.generationLogic?.retryConfig);\n\n const initialMinute = Math.floor(retryConfig.delay / 60);\n const initialSeconds = parseInt((retryConfig.delay % 60).toFixed(0));\n const [timer, resetTimer] = useTimer({\n initialMinute,\n initialSeconds,\n });\n\n const [sendOTP, setSendOTP] = useState(\n Boolean(props.generationLogic?.generateOnLoad)\n );\n const [retryCount, setRetryCount] = useState(0);\n\n const [userInput, setUserInput] = useState({\n captureInput: '',\n });\n const { captureInput: otpCode } = userInput;\n\n const setOTPCode = (otpCode: string) => {\n setUserInput({ ...userInput, captureInput: otpCode });\n };\n\n const [hasError, setHasError] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n\n const [snackBar, setSnackBar] = useState({\n show: false,\n type: SnackBarType.SUCCESS,\n message: '',\n });\n\n const renderButtons = () => {\n return (\n <View style={styles.bottomView}>\n <View>\n <Button\n style={[CommonStyles.nextButton, { width: 165, marginStart: 10 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n mode={'contained'}\n uppercase={false}\n onPress={async () => {\n // send OTP Generation using props\n if (\n sendOTP &&\n props.generationLogic &&\n props.generationLogic?.generateOnLoad\n ) {\n const response = await generateOTP(props.generationLogic.api);\n resetTimer();\n if (response) setSendOTP(false);\n else\n setSnackBar({\n show: true,\n message: ERROR_GENERATING_OTP,\n type: SnackBarType.FAILURE,\n });\n }\n // check for Validation\n else if (!sendOTP) {\n if (otpCode.length < props.captureInput.length) {\n setSnackBar({\n show: true,\n message: INVALID_OTP_LENGTH.replace(\n '<length>',\n `${props.captureInput.length}`\n ),\n type: SnackBarType.FAILURE,\n });\n } else {\n const isValid = await checkForValidation(\n otpCode,\n props.validation,\n { userInput }\n );\n\n if (!isValid) {\n setErrorMessage(INVALID_OTP);\n setHasError(true);\n } else {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.VALIDATE_OTP_ET,\n true,\n getEventCodeByET(\n ExecutionTaskID.VALIDATE_OTP_ET,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.VALIDATE_OTP_ET\n )),\n });\n }\n }\n }\n const cta = 'Proceed';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN, cta: cta }); \n \n }}\n >\n Proceed\n </Button>\n </View>\n <View>\n <Button\n style={[CommonStyles.cancelButton, { width: 165, marginEnd: 10 }]}\n labelStyle={CommonStyles.cancelButtonLabel}\n mode={'outlined'}\n uppercase={false}\n onPress={async () => {\n // Cancel the ET\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.VALIDATE_OTP_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.VALIDATE_OTP_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.VALIDATE_OTP_ET\n )),\n });\n const cta = 'Skip';\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN, cta: cta }); \n \n }}\n >\n Skip\n </Button>\n </View>\n </View>\n );\n };\n\n const renderRetryButton = () => {\n const generationLogic = props.generationLogic;\n const enableRetry = props.generationLogic?.enableRetry;\n\n if (generationLogic && enableRetry) {\n return (\n <View style={styles.retryButton}>\n <Button\n disabled={Boolean(timer) || retryCount === retryConfig.maxAttempt}\n uppercase={false}\n onPress={async () => {\n setOTPCode('');\n setRetryCount((retryCount) => retryCount + 1);\n await generateOTP(generationLogic.api);\n resetTimer();\n const cta = retryConfig.buttonTitle;\n fireEventWithScreenName({ severityLevel: SeverityLevelValue.LOG, eventName: SentryEventNameSdkConstants.BUTTON_CLICKED, screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN, cta: cta }); \n \n }}\n >{`${retryConfig.buttonTitle} ${timer ? `in ${timer}` : ''}`}</Button>\n </View>\n );\n } else return null;\n };\n\n const renderErrorMessage = () => {\n return errorMessage ? (\n <Text style={styles.errorMessage}>{errorMessage}</Text>\n ) : null;\n };\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.VALIDATE_OTP_ET,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.VALIDATE_OTP_ET\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n if (sendOTP) {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n <View\n style={{\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n marginHorizontal: 18,\n }}\n >\n <View style={{ marginBottom: 16 }}>\n {Platform.OS === 'android' && <SvgXml xml={mobileSVG} /> }\n </View>\n <View style={{ marginTop: 16 }}>\n <Text style={styles.titleText}>\n Do you want to proceed to OTP verification? This will send a\n verification code to your consignee.\n </Text>\n </View>\n </View>\n {renderButtons()}\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n />\n </View>\n </Provider>\n );\n }\n if (!sendOTP) {\n return (\n <Provider>\n <View style={CommonStyles.mainContainer}>\n {renderModal()}\n <View style={styles.otpContainer}>\n <View style={styles.otpTitle}>\n <Text>\n Enter the {props.captureInput?.length} digit OTP sent to the\n consignee to confirm order completion\n </Text>\n </View>\n <OTPInput\n input={props.captureInput}\n otpCode={otpCode}\n setOTPCode={setOTPCode}\n hasError={hasError}\n setHasError={setHasError}\n setErrorMessage={setErrorMessage}\n />\n {renderErrorMessage()}\n {renderRetryButton()}\n </View>\n {renderButtons()}\n <SnackBarCustom\n type={snackBar.type}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.SUCCESS,\n });\n }}\n />\n </View>\n </Provider>\n );\n }\n return null;\n};\n\nexport default ValidateOTPET;\n\nconst styles = StyleSheet.create({\n bottomView: {\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n padding: 16,\n backgroundColor: 'white',\n },\n titleText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n textAlign: 'center',\n color: '#3D445C',\n marginBottom: 10,\n },\n otpTitle: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n otpContainer: {\n marginTop: 20,\n marginBottom: 40,\n marginHorizontal: 10,\n flex: 1,\n },\n retryButton: {\n alignItems: 'flex-start',\n marginVertical: 10,\n },\n errorMessage: {\n marginTop: 16,\n marginHorizontal: 10,\n color: '#DC2626',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontSize: 12,\n lineHeight: 16,\n },\n subText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useState","useLayoutEffect","useEffect","useContext","View","Text","Platform","ActivityIndicator","Button","Portal","Provider","getBaseETResponse","hasGoBackConnector","countType","generateOTP","getCount","parseResendConfig","updateResendCount","updateRetryCount","VALIDATE_OTP_SCREENS","verifyOTP","getEventCodeByET","EntityCode","ExecutionTaskID","ValidateOTPContext","InputType","OtpDeliveryMethodTypes","ValidationType","GO_BACK_EVENT_CODE","ERROR_GENERATING_OTP","ERROR_VALIDATE_OTP","INVALID_OTP","INVALID_OTP_LENGTH","INVALID_OTP_ONE_ATTEMPT_LEFT","OTP_SENT_SUCCESSFULLY","UNABLE_TO_SEND_OTP","SnackBarCustom","SnackBarType","GoBackModal","ConfirmCancelModal","OTPView","ContactListView","VerificationComplete","ProgressDialog","styles","CommonStyles","Fonts","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","fireEventWithScreenName","ValidateOTPET","props","_validateConfigContex","contacts","navigation","validateConfigContext","domain","sdkConfig","validateOtpDomain","resendConfig","resendOTP","otpInputConfig","inputType","NUMBER","length","otpLength","validationRegex","contactList","setContactList","selectedContact","setSelectedContact","isContactVisited","setIsContactVisited","doorstepOTP","userInput","setUserInput","captureInput","otpCode","setOTPCode","code","retryCount","setRetryCount","resendCount","setResendCount","disableProceedBtn","setDisableProceedBtn","showBackModal","setShowBackModal","showCancelModal","setShowCancelModal","loading","setLoading","hasError","setHasError","errorMessage","setErrorMessage","success","setSuccess","shouldNavigateBack","setShouldNavigateBack","currentScreen","setCurrentScreen","CONTACT_LIST","OTP_VIEW","snackBar","setSnackBar","show","type","OTP_SUCCESS","message","fetchCounts","RETRY","RESEND","setOptions","headerStyle","display","filteredContacts","filter","contact","_contact$mode","_props$otpDeliveryMet","otpDeliveryMethod","BOTH","mode","toLowerCase","map","index","isSelected","goBack","handleBackNavigation","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","onProceedCancel","_props$applicableReas","onSubmitET","VALIDATE_OTP_ET","failure","mergedObjectiveId","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","VALIDATE_OTP_ET_SCREEN","handleContactListProceed","_props$orderData$","_props$orderData","_response$data3","_response$additionalI","payload","jobId","orderData","refId","objectiveId","workflowId","contactInfo","id","meta","orderIds","order","_order$displayInfo","displayInfo","orderId","response","status","_response$data","data","result","OTP_FAILED","_response$data2","resendCountValue","Number","additionalInfo","error","console","handleOTPViewProceed","_props$otpValidation","_ValidationType$ONLIN","_response$result","_response$additionalI2","replace","otp","isOnlineValidation","otpValidation","toString","ONLINE","offlineOtpValue","retryCountValue","maxRetries","setTimeout","VERIFICATION_COMPLETE","onProceed","onCancelET","handleSelectContact","contactDetails","prevContactList","value","renderGoBackModal","createElement","showModal","setShowModal","onSuccess","onFailure","renderCancelModal","renderButtons","style","bottomView","mainBtnStyles","nextButton","borderRadius","backgroundColor","labelStyle","nextButtonLabel","activeBtnText","color","uppercase","disabled","onPress","restrictCancel","allowCancel","isSelfLoop","cancelButton","cancelButtonLabel","cancelBtnText","renderLoadingCard","flex","justifyContent","loadingCard","size","loadingText","renderSnackBar","marginHorizontal","duration","customBottom","visible","onDismiss","renderContent","_extends","customModalContentStyle","paddingVertical","label","fontWeight","marginTop","fontFamily","OS","IBMPlexSans_400Regular","letterSpacing","mainContainer"],"sources":["ValidateOTPET.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-native/no-inline-styles */\n// External Libraries\nimport React, {\n useState,\n useLayoutEffect,\n useEffect,\n FC,\n useContext,\n} from 'react';\nimport { View, Text, Platform } from 'react-native';\n\n// UI Libraries and Icons\nimport {\n ActivityIndicator,\n Button,\n Portal,\n Provider,\n} from 'react-native-paper';\n\n// Utility Functions and Hooks\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport {\n countType,\n generateOTP,\n getCount,\n parseResendConfig,\n updateResendCount,\n updateRetryCount,\n VALIDATE_OTP_SCREENS,\n verifyOTP,\n} from './utils';\n\n// Dispatch Codes and Models\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { ValidateOTPContext } from '../../../utils/context/valdiateOTPContext';\n\n// Schema and Types\nimport {\n ContactTypes,\n InputType,\n OtpDeliveryMethodTypes,\n OtpInputConfigType,\n ResendOTPConfigType,\n SetSnackBarType,\n ValidationType,\n type ValidateOTPInput,\n} from './ValidateOTPSchema';\n\n// Constants\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport {\n ERROR_GENERATING_OTP,\n ERROR_VALIDATE_OTP,\n INVALID_OTP,\n INVALID_OTP_LENGTH,\n INVALID_OTP_ONE_ATTEMPT_LEFT,\n OTP_SENT_SUCCESSFULLY,\n UNABLE_TO_SEND_OTP,\n} from './constants';\n\n// Components\nimport SnackBarCustom, {\n SnackBarType,\n} from '../../../components/widgets/SnackBarCustom';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport ConfirmCancelModal from '../../../components/widgets/ConfirmCancelModal';\nimport { OTPView } from './components/OTPView';\nimport { ContactListView } from './components/ContactListView';\nimport VerificationComplete from './components/VerificationComplete';\nimport ProgressDialog from '../../widgets/ProgressDialog';\n\n// Styles\nimport styles from './ValidateOtpStyles';\nimport {\n CommonStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\n\n// Analytics\nimport {\n ScreenNameSdkConstants,\n SentryEventNameSdkConstants,\n SeverityLevelValue,\n} from '../../../analytics/sentry/SentrySdkConstants';\nimport { fireEventWithScreenName } from '../../../analytics/sentry/SentryAnalyticsUtils';\n\nconst ValidateOTPET: FC<ValidateOTPInput> = (props) => {\n const { contacts, navigation } = props;\n // Context\n const validateConfigContext = useContext(ValidateOTPContext);\n const domain = validateConfigContext?.sdkConfig?.validateOtpDomain ?? '';\n\n // Configurations\n const resendConfig: ResendOTPConfigType = parseResendConfig(props.resendOTP);\n const otpInputConfig: OtpInputConfigType = {\n inputType: props.inputType || InputType.NUMBER,\n length: props.otpLength || 6,\n validationRegex: `^[0-9]+$`,\n };\n\n // State: Contact Management\n const [contactList, setContactList] = useState<ContactTypes[]>(contacts);\n const [selectedContact, setSelectedContact] = useState<ContactTypes>(\n contactList[0] || null\n );\n const [isContactVisited, setIsContactVisited] = useState<boolean>(\n props.doorstepOTP\n );\n\n // State: OTP Handling\n const [userInput, setUserInput] = useState({\n captureInput: '',\n });\n const { captureInput: otpCode } = userInput;\n const setOTPCode = (code: string) => {\n setUserInput({ ...userInput, captureInput: code });\n };\n const [retryCount, setRetryCount] = useState<number>(0);\n const [resendCount, setResendCount] = useState<number>(0);\n const [disableProceedBtn, setDisableProceedBtn] = useState(false);\n\n // State: UI and Navigation\n const [showBackModal, setShowBackModal] = useState<boolean>(false);\n const [showCancelModal, setShowCancelModal] = useState<boolean>(false);\n const [loading, setLoading] = useState<boolean>(false);\n const [hasError, setHasError] = useState<boolean>(false);\n const [errorMessage, setErrorMessage] = useState<string>('');\n const [success, setSuccess] = useState<boolean>(false);\n const [shouldNavigateBack, setShouldNavigateBack] = useState<boolean>(false);\n const [currentScreen, setCurrentScreen] = useState<string>(\n props.doorstepOTP\n ? VALIDATE_OTP_SCREENS.CONTACT_LIST\n : VALIDATE_OTP_SCREENS.OTP_VIEW\n );\n\n // State: SnackBar\n const [snackBar, setSnackBar] = useState<SetSnackBarType>({\n show: false,\n type: SnackBarType.OTP_SUCCESS,\n message: '',\n });\n\n useEffect(() => {\n const fetchCounts = async () => {\n // eslint-disable-next-line no-shadow\n const retryCount = await getCount(countType.RETRY);\n // eslint-disable-next-line no-shadow\n const resendCount = await getCount(countType.RESEND);\n setRetryCount(retryCount);\n setResendCount(resendCount);\n };\n\n fetchCounts();\n }, []);\n\n // TO hide header for modal screen\n useLayoutEffect(() => {\n navigation.setOptions({\n // headerShown: loading ? false : true,\n headerStyle: {\n display: loading ? 'none' : 'flex', // Hide the header by setting its display to 'none'\n },\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading]);\n\n useEffect(() => {\n if (currentScreen === VALIDATE_OTP_SCREENS.OTP_VIEW) {\n setDisableProceedBtn(\n otpCode?.length !== otpInputConfig.length ||\n !selectedContact ||\n hasError\n );\n } else {\n setDisableProceedBtn(!selectedContact);\n }\n }, [\n currentScreen,\n hasError,\n otpCode?.length,\n otpInputConfig.length,\n selectedContact,\n ]);\n\n useEffect(() => {\n if (!contacts) return;\n\n // Filter contacts based on the delivery method, or use all contacts if BOTH\n const filteredContacts = contacts\n .filter((contact) =>\n props.otpDeliveryMethod === OtpDeliveryMethodTypes.BOTH\n ? true\n : contact.mode?.toLowerCase() ===\n props.otpDeliveryMethod?.toLowerCase()\n )\n .map((contact, index) => ({\n ...contact,\n isSelected: index === 0, // Select the first contact by default\n }));\n\n // Update the state with the filtered contacts\n setContactList(filteredContacts);\n if (props.doorstepOTP) {\n setSelectedContact(filteredContacts[0]);\n }\n }, [contacts, props.doorstepOTP, props.otpDeliveryMethod]);\n\n // Monitor shouldNavigateBack to trigger navigation if set\n useEffect(() => {\n if (shouldNavigateBack) {\n navigation.goBack();\n setOTPCode('');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [navigation, shouldNavigateBack]);\n\n const handleBackNavigation = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n } else {\n setShouldNavigateBack(true);\n }\n return true;\n };\n\n const onProceedCancel = async () => {\n // Cancel the ET\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.VALIDATE_OTP_ET,\n false,\n getEventCodeByET(\n ExecutionTaskID.VALIDATE_OTP_ET,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.VALIDATE_OTP_ET\n )),\n retryCount: retryCount,\n });\n const cta = 'Cancel';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,\n screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN,\n cta: cta,\n });\n };\n\n const handleContactListProceed = async () => {\n try {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.OTP_SUCCESS,\n });\n setLoading(true);\n\n const payload = {\n jobId: props.orderData[0]?.jobId,\n refId: props.refId,\n objectiveId: props.workflowId,\n contactInfo: {\n id: selectedContact.id,\n mode: selectedContact.mode,\n type: selectedContact.type,\n index: selectedContact.index,\n },\n meta: {\n orderIds: props.orderData?.map(\n (order) => order?.displayInfo?.orderId\n ),\n },\n };\n\n const response = await generateOTP(payload, { ...props, domain });\n\n if (!response?.status) {\n if (!response.status && response?.code === '101080001017') {\n setCurrentScreen(VALIDATE_OTP_SCREENS.OTP_VIEW);\n setLoading(false);\n setSnackBar({\n show: true,\n message: response?.data?.result?.message || UNABLE_TO_SEND_OTP,\n type: SnackBarType.OTP_FAILED,\n });\n } else {\n setLoading(false);\n setSnackBar({\n show: true,\n message: response?.data?.result?.message || ERROR_GENERATING_OTP,\n type: SnackBarType.OTP_FAILED,\n });\n }\n\n return;\n }\n\n const resendCountValue =\n Number(\n response?.data?.result?.resendCount ||\n response?.additionalInfo?.resendOTP\n ) || 0;\n\n setResendCount(resendCountValue);\n await updateResendCount(resendCountValue);\n setCurrentScreen(VALIDATE_OTP_SCREENS.OTP_VIEW);\n setLoading(false);\n setSnackBar({\n show: true,\n message: OTP_SENT_SUCCESSFULLY,\n type: SnackBarType.OTP_SUCCESS,\n });\n } catch (error) {\n setLoading(false);\n console.error('Error in handleContactListProceed:', error);\n setSnackBar({\n show: true,\n message: ERROR_GENERATING_OTP,\n type: SnackBarType.OTP_FAILED,\n });\n }\n };\n\n const handleOTPViewProceed = async () => {\n if (otpCode.length < props.otpLength) {\n // Show error if OTP length is invalid\n setSnackBar({\n show: true,\n message: INVALID_OTP_LENGTH.replace('<length>', `${props.otpLength}`),\n type: SnackBarType.OTP_FAILED,\n });\n return;\n }\n\n const payload = {\n refId: props.refId,\n otp: otpCode,\n };\n\n const isOnlineValidation = props?.otpValidation\n ? props?.otpValidation?.toString()?.toLowerCase() ===\n ValidationType.ONLINE?.toString()?.toLowerCase()\n : true;\n\n const response = isOnlineValidation\n ? await verifyOTP(payload, { ...props, domain })\n : otpCode === props.offlineOtpValue;\n\n const retryCountValue =\n Number(\n response?.result?.retryCount || response?.additionalInfo?.retryCount\n ) || retryCount + 1;\n\n if (response === false || response?.status === false || !response) {\n setOTPCode('');\n setRetryCount(retryCountValue);\n await updateRetryCount(retryCountValue);\n\n if (props.maxRetries - retryCountValue === 1) {\n setSnackBar({\n show: true,\n message: INVALID_OTP_ONE_ATTEMPT_LEFT,\n type: SnackBarType.OTP_FAILED,\n });\n } else if (retryCountValue >= props.maxRetries) {\n setSuccess(false);\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.OTP_SUCCESS,\n });\n setLoading(true);\n setTimeout(() => {\n setCurrentScreen(VALIDATE_OTP_SCREENS.VERIFICATION_COMPLETE);\n setLoading(false);\n }, 1000);\n } else {\n setSnackBar({\n show: true,\n message: INVALID_OTP.replace(\n '<length>',\n `${props.maxRetries - retryCountValue}`\n ),\n type: SnackBarType.OTP_FAILED,\n });\n }\n } else {\n setSuccess(true);\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.OTP_SUCCESS,\n });\n setLoading(true);\n setTimeout(() => {\n setCurrentScreen(VALIDATE_OTP_SCREENS.VERIFICATION_COMPLETE);\n setLoading(false);\n }, 1000);\n }\n };\n\n const onProceed = async () => {\n try {\n if (currentScreen === VALIDATE_OTP_SCREENS.CONTACT_LIST) {\n handleContactListProceed();\n } else {\n handleOTPViewProceed();\n }\n const cta = 'Proceed';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,\n screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN,\n cta: cta,\n });\n } catch (error) {\n setLoading(false);\n if (currentScreen === VALIDATE_OTP_SCREENS.CONTACT_LIST) {\n setSnackBar({\n show: true,\n message: ERROR_GENERATING_OTP,\n type: SnackBarType.OTP_FAILED,\n });\n }\n if (currentScreen === VALIDATE_OTP_SCREENS.OTP_VIEW) {\n setSnackBar({\n show: true,\n message: ERROR_VALIDATE_OTP,\n type: SnackBarType.OTP_FAILED,\n });\n }\n }\n\n return;\n };\n\n const onCancelET = () => {\n setShowCancelModal(true);\n };\n\n const handleSelectContact = (contactDetails: ContactTypes) => {\n setSelectedContact(contactDetails);\n setContactList((prevContactList) =>\n prevContactList.map((contact: ContactTypes) => ({\n ...contact,\n isSelected: contact?.value === contactDetails.value,\n }))\n );\n };\n\n // *Rendering components*\n const renderGoBackModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.VALIDATE_OTP_ET,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.VALIDATE_OTP_ET\n )),\n retryCount: retryCount,\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n const renderCancelModal = () => {\n return (\n <ConfirmCancelModal\n showModal={showCancelModal}\n setShowModal={setShowCancelModal}\n onSuccess={() => {\n onProceedCancel();\n setShowCancelModal(false);\n }}\n onFailure={() => setShowCancelModal(false)}\n />\n );\n };\n\n const renderButtons = () => {\n if (loading || currentScreen === VALIDATE_OTP_SCREENS.VERIFICATION_COMPLETE)\n return null;\n return (\n <View style={styles.bottomView}>\n <Button\n style={[\n styles.mainBtnStyles,\n CommonStyles.nextButton,\n { borderRadius: 6 },\n disableProceedBtn && { backgroundColor: '#E0E3EB' },\n ]}\n labelStyle={[\n CommonStyles.nextButtonLabel,\n styles.activeBtnText,\n disableProceedBtn && disableProceedBtn && { color: '#A3AAC2' },\n ]}\n mode={'contained'}\n uppercase={false}\n disabled={disableProceedBtn}\n onPress={onProceed}\n >\n Proceed\n </Button>\n {props.restrictCancel === true || props.allowCancel === false\n ? null\n : props.isSelfLoop == false && (\n <Button\n style={[\n styles.mainBtnStyles,\n CommonStyles.cancelButton,\n { borderRadius: 4 },\n ]}\n labelStyle={[\n CommonStyles.cancelButtonLabel,\n styles.cancelBtnText,\n ]}\n mode={'outlined'}\n uppercase={false}\n onPress={onCancelET}\n >\n Cancel\n </Button>\n )}\n </View>\n );\n };\n\n const renderLoadingCard = () => {\n return (\n <View\n style={{\n flex: 1,\n justifyContent: 'center',\n }}\n >\n <View style={styles.loadingCard}>\n <ActivityIndicator size=\"small\" color=\"rgba(107, 142, 255, 1)\" />\n <Text style={styles.loadingText}>Loading</Text>\n </View>\n </View>\n );\n };\n\n const renderSnackBar = () => {\n if (!snackBar.show) return null; // Show snackbar only when `snackBar.show` is true\n return (\n <View style={{ marginHorizontal: 6 }}>\n <SnackBarCustom\n duration={2000}\n type={snackBar.type}\n customBottom={80}\n message={`${snackBar.message}`}\n visible={snackBar.show}\n onDismiss={() => {\n setSnackBar({\n show: false,\n message: '',\n type: SnackBarType.OTP_SUCCESS,\n });\n }}\n />\n </View>\n );\n };\n\n const renderContent = () => {\n // if (loading) {\n // return renderLoadingCard;\n // }\n\n if (currentScreen === VALIDATE_OTP_SCREENS.VERIFICATION_COMPLETE) {\n return (\n <VerificationComplete\n {...props}\n setLoading={setLoading}\n success={success}\n retryCount={retryCount}\n />\n );\n }\n\n if (currentScreen === VALIDATE_OTP_SCREENS.CONTACT_LIST) {\n return (\n <ContactListView\n {...props}\n setIsContactVisited={setIsContactVisited}\n handleSelectContact={handleSelectContact}\n handleBackNavigation={handleBackNavigation}\n contactList={contactList}\n domain={domain}\n />\n );\n }\n\n if (currentScreen === VALIDATE_OTP_SCREENS.OTP_VIEW) {\n return (\n <OTPView\n {...props}\n isContactVisited={isContactVisited}\n otpCode={otpCode}\n otpInputConfig={otpInputConfig}\n selectedContact={selectedContact}\n setCurrentScreen={setCurrentScreen}\n setErrorMessage={setErrorMessage}\n setSnackBar={setSnackBar}\n errorMessage={errorMessage}\n setHasError={setHasError}\n setOTPCode={setOTPCode}\n setLoading={setLoading}\n handleBackNavigation={handleBackNavigation}\n hasError={hasError}\n doorstepOTP={props.doorstepOTP}\n setResendCount={setResendCount}\n resendCount={resendCount}\n resendConfig={resendConfig}\n domain={domain}\n />\n );\n }\n\n return null;\n };\n\n return (\n <Provider>\n <Portal>\n {loading ? (\n <ProgressDialog\n customModalContentStyle={{ paddingVertical: 32 }}\n visible={loading}\n label=\"Loading\"\n labelStyle={{\n fontWeight: '400',\n marginTop: 16,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n color: '#525B7A',\n letterSpacing: 0.25,\n }}\n />\n ) : currentScreen === VALIDATE_OTP_SCREENS.VERIFICATION_COMPLETE ? (\n <View style={[CommonStyles.mainContainer]}>\n <VerificationComplete\n {...props}\n setLoading={setLoading}\n success={success}\n retryCount={retryCount}\n />\n </View>\n ) : currentScreen === VALIDATE_OTP_SCREENS.CONTACT_LIST ? (\n <View style={[CommonStyles.mainContainer]}>\n {renderGoBackModal()}\n {renderCancelModal()}\n <ContactListView\n {...props}\n setIsContactVisited={setIsContactVisited}\n handleSelectContact={handleSelectContact}\n handleBackNavigation={handleBackNavigation}\n contactList={contactList}\n domain={domain}\n />\n {renderButtons()}\n {renderSnackBar()}\n </View>\n ) : currentScreen === VALIDATE_OTP_SCREENS.OTP_VIEW ? (\n <View style={[CommonStyles.mainContainer]}>\n {renderGoBackModal()}\n {renderCancelModal()}\n <OTPView\n {...props}\n isContactVisited={isContactVisited}\n otpCode={otpCode}\n otpInputConfig={otpInputConfig}\n selectedContact={selectedContact}\n setCurrentScreen={setCurrentScreen}\n setErrorMessage={setErrorMessage}\n setSnackBar={setSnackBar}\n errorMessage={errorMessage}\n setHasError={setHasError}\n setOTPCode={setOTPCode}\n setLoading={setLoading}\n handleBackNavigation={handleBackNavigation}\n hasError={hasError}\n doorstepOTP={props.doorstepOTP}\n setResendCount={setResendCount}\n resendCount={resendCount}\n resendConfig={resendConfig}\n domain={domain}\n />\n {renderButtons()}\n {renderSnackBar()}\n </View>\n ) : null}\n </Portal>\n </Provider>\n );\n};\n\nexport default ValidateOTPET;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
|
|
1
3
|
// Regex to validate strings
|
|
2
4
|
|
|
3
5
|
export let InputType = /*#__PURE__*/function (InputType) {
|
|
4
6
|
InputType["STRING"] = "string";
|
|
5
7
|
InputType["NUMBER"] = "number";
|
|
8
|
+
InputType["NUMERIC"] = "numeric";
|
|
6
9
|
return InputType;
|
|
7
10
|
}({});
|
|
11
|
+
export let OtpDeliveryMethodTypes = /*#__PURE__*/function (OtpDeliveryMethodTypes) {
|
|
12
|
+
OtpDeliveryMethodTypes["PHONE"] = "Phone";
|
|
13
|
+
OtpDeliveryMethodTypes["EMAIL"] = "Email";
|
|
14
|
+
OtpDeliveryMethodTypes["BOTH"] = "Both";
|
|
15
|
+
return OtpDeliveryMethodTypes;
|
|
16
|
+
}({});
|
|
17
|
+
export let ValidationType = /*#__PURE__*/function (ValidationType) {
|
|
18
|
+
ValidationType["ONLINE"] = "Online (from API)";
|
|
19
|
+
ValidationType["OFFLINE"] = "Offline (from Job)";
|
|
20
|
+
return ValidationType;
|
|
21
|
+
}({});
|
|
8
22
|
//# sourceMappingURL=ValidateOTPSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["InputType"],"sources":["ValidateOTPSchema.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":["InputType","OtpDeliveryMethodTypes","ValidationType"],"sources":["ValidateOTPSchema.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type {\n HTTPRequestBody,\n PathParams,\n QueryParams,\n} from '../../../utils/ApiUtils';\nimport type {\n BaseETRequest,\n BaseETResponse,\n} from '../../../models/execTasks/ETBaseModels';\nimport type { Headers, HTTPMethod } from '../httpRequest/HttpRequestETSchema';\nimport { SnackBarType } from 'src/components/widgets/SnackBarCustom';\n\nexport interface API {\n uri: string;\n timeout?: number;\n httpMethod: HTTPMethod;\n headers?: Headers[];\n requestBody?: HTTPRequestBody;\n queryParams?: QueryParams[];\n pathParams?: PathParams[];\n responseJsonPath: string | object;\n errorJsonPath: string | object;\n errorJsonLogic?: object | string;\n responseJsonLogic?: object | string;\n}\n\nexport type ValidationRegex = string; // Regex to validate strings\n\nexport interface RetryConfig {\n buttonTitle: string; // Button Title if retry is enabled\n maxAttempt: number; // Number of attempts allowed\n delay: number; // Delay in enabling resend again\n}\n\nexport interface GenerationLogic {\n generateOnLoad: boolean; // Need to generate to OTP\n enableRetry: boolean; // Need to enable retry\n api: API; // base API to generate OTP\n retryConfig?: RetryConfig; // Config for retry of OTP\n}\n\nexport enum InputType {\n STRING = 'string',\n NUMBER = 'number',\n NUMERIC = 'numeric',\n}\n\nexport interface CaptureInput {\n inputType: InputType; // Type of input to be captured\n length: number; // Max length of OTP\n validationRegex?: ValidationRegex; // Need to validate the input\n}\n\nexport interface Value {\n value: string;\n}\n\nexport type Logic = { api: API } | { value: Value };\n\nexport interface Validation {\n selectedIndex: number;\n logic: Logic;\n}\n\nexport enum OtpDeliveryMethodTypes {\n PHONE = 'Phone',\n EMAIL = 'Email',\n BOTH = 'Both',\n}\nexport interface ResendOTPConfigType {\n buttonTitle?: string;\n enableResends: boolean;\n enableDelay: number;\n maxResends: number;\n}\n\nexport type GenerateOtpPayloadType = {\n refId: string;\n jobId: string;\n objectiveId: string;\n contactInfo: {\n id: string; // Unique identifier for the contact (e.g., secure:1)\n mode: 'PHONE' | 'EMAIL' | string; // Indicates whether it's a phone or email\n type: 'PRIMARY' | 'SECONDARY' | string; // Indicates whether it's the primary or secondary contact\n index: number; // Index of the contact in its respective array};\n };\n pathParams?: PathParams[];\n meta: string | object;\n};\n\nexport interface ResendOTPPayloadType {\n refId: string;\n meta: string | object;\n contactInfo?: {\n id: string; // Unique identifier for the contact (e.g., secure:1)\n mode: 'PHONE' | 'EMAIL' | string; // Indicates whether it's a phone or email\n type: 'PRIMARY' | 'SECONDARY' | string; // Indicates whether it's the primary or secondary contact\n index: number; // Index of the contact in its respective array};\n };\n}\n\nexport type ResponseType = {\n status: boolean;\n data: {\n result: {\n resendCount: number;\n retryCount: number;\n message: string;\n };\n };\n};\n\nexport type ErrorResponseType = {\n code: string;\n description: string;\n additionalInfo: {\n resendCount: number;\n retryCount: number;\n message: string;\n };\n};\n\nexport type PhoneType = {\n number: string | null; // Can be null if missing\n countryCode: string | null; // Can be null if missing\n isMobile: boolean | null; // Can be null if missing\n muteNotif: boolean | null; // Explicitly nullable\n areaCode?: string | null;\n};\n\nexport type EmailType = {\n id: string | null; // Can be null if missing\n muteNotif: boolean | null; // Explicitly nullable\n};\n\nexport type EmailAndPhoneResponse = {\n id: string; // Always present\n name: string; // Always present, but defaults to 'Unknown' if missing\n phone: PhoneType; // Always present, but fields inside can be null\n email: string | null; // Can be null if no email is provided\n additionalPhone: PhoneType[] | null; // Can be null if no additional phones are provided\n primaryEmail: EmailType | null; // Can be null if no primary email is provided\n additionalEmail: EmailType[] | null; // Can be null if no additional emails are provided\n};\n\nexport interface ContactType {\n id: string; // Unique identifier for the contact (e.g., secure:1)\n mode: 'PHONE' | 'EMAIL' | string; // Indicates whether it's a phone or email\n type: 'PRIMARY' | 'SECONDARY' | string; // Indicates whether it's the primary or secondary contact\n index: number; // Index of the contact in its respective array\n value: string; // Actual phone number or email address\n orderId?: string | undefined | null; // Optional order ID associated with the contact\n}\n\nexport type ContactTypes = ContactType & {\n orderFrom?: string; // Optional source from which the order came\n contactId?: string; // Optional contact ID, might be different from `id`\n isSelected?: boolean; // Optional flag indicating if the contact is selected\n};\nexport interface OtpInputConfigType {\n inputType: InputType;\n length: number;\n validationRegex: string;\n}\n\nexport interface SetSnackBarType {\n show: boolean;\n message: string;\n type: SnackBarType;\n}\n\nexport type OTPViewPropTypes = BaseETRequest & {\n errorMessage: string;\n handleBackNavigation: () => void;\n setCurrentScreen: (screen: string) => void;\n setPrevScreen: (screen: string) => void;\n isContactVisited: boolean;\n selectedContact: ContactTypes;\n otpInputConfig: OtpInputConfigType;\n otpCode: string;\n setOTPCode: (otp: string) => void;\n hasError: boolean;\n setHasError: (value: boolean) => void;\n setErrorMessage: (screen: string) => void;\n loading: boolean;\n setLoading: (value: boolean) => void;\n setSnackBar: (values: SetSnackBarType) => void;\n resendConfig: ResendOTPConfigType; // Config for retry of OTP\n resendCount: number;\n setResendCount: React.Dispatch<React.SetStateAction<number>>;\n domain: string;\n};\n\nexport type ContactListViewPropTypes = BaseETRequest & {\n handleBackNavigation: () => boolean;\n handleSelectContact: (contactDetails: ContactTypes) => void;\n contactList: ContactTypes[];\n setIsContactVisited: (value: boolean) => void;\n domain: string;\n};\n\nexport type OTP_CONFIG_TYPE = 'OS1 Configured API' | 'Custom';\n\nexport enum ValidationType {\n ONLINE = 'Online (from API)',\n OFFLINE = 'Offline (from Job)',\n}\n\nexport type OTP_VALIDATION_TYPE =\n | ValidationType.OFFLINE\n | ValidationType.ONLINE;\n\nexport type ValidateOTPInput = BaseETRequest &\n OTPViewPropTypes &\n ContactListViewPropTypes & {\n generationLogic?: GenerationLogic;\n captureInput: CaptureInput;\n validation: Validation;\n onSubmitET: (validateOTPOutput: ValidateOTPOutput) => void;\n otpLength: number;\n inputType: InputType;\n generateMessage: string;\n validateMessage: string;\n allowCancel?: boolean;\n restrictCancel?: boolean;\n allowBack?: boolean;\n doorstepOTP: boolean;\n otpDeliveryMethod: OtpDeliveryMethodTypes;\n resendOTP: ResendOTPConfigType;\n contacts: ContactType[] | any[];\n otpConfig: OTP_CONFIG_TYPE;\n resendApi: API;\n otpGeneration: API;\n validationApi: API;\n offlineOtpValue: string | number;\n showSummary: boolean;\n verifyFor: string;\n validateFor: string;\n jobId: string;\n orderData: any[];\n workflowId: string;\n refId: string;\n maxRetries: number;\n otpValidation: OTP_VALIDATION_TYPE;\n progressGroup: string;\n reattemptId: number;\n isSelfLoop: boolean;\n };\n\nexport type ValidateOTPOutput = BaseETResponse & {\n retryCount: number;\n};\n"],"mappings":"AAAA;;AA2BsC;;AAetC,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAuBrB,WAAYC,sBAAsB,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AA2IlC,WAAYC,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { Platform, StyleSheet } from 'react-native';
|
|
2
|
+
import { Fonts } from '../../../styles/executionTasks/CommonStyles';
|
|
3
|
+
import { sHeight, sWidth } from '../../../components/utils/Scale';
|
|
4
|
+
const styles = StyleSheet.create({
|
|
5
|
+
bottomView: {
|
|
6
|
+
padding: 16,
|
|
7
|
+
gap: 16,
|
|
8
|
+
flexDirection: 'row-reverse',
|
|
9
|
+
justifyContent: 'space-evenly',
|
|
10
|
+
backgroundColor: 'white',
|
|
11
|
+
borderTopWidth: 1,
|
|
12
|
+
borderColor: '#DDE3F9'
|
|
13
|
+
},
|
|
14
|
+
otpTitle: {
|
|
15
|
+
marginTop: 10,
|
|
16
|
+
marginBottom: 20,
|
|
17
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
18
|
+
fontStyle: 'normal',
|
|
19
|
+
fontSize: 16,
|
|
20
|
+
lineHeight: 20,
|
|
21
|
+
letterSpacing: 0.25,
|
|
22
|
+
color: '#3D445C',
|
|
23
|
+
alignItems: 'center'
|
|
24
|
+
},
|
|
25
|
+
retryButton: {
|
|
26
|
+
alignItems: 'flex-start',
|
|
27
|
+
marginVertical: 10
|
|
28
|
+
},
|
|
29
|
+
subText: {
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
32
|
+
fontStyle: 'normal',
|
|
33
|
+
fontSize: 14,
|
|
34
|
+
letterSpacing: 0.25,
|
|
35
|
+
lineHeight: 20,
|
|
36
|
+
textAlign: 'center',
|
|
37
|
+
color: '#000000',
|
|
38
|
+
marginBottom: 10
|
|
39
|
+
},
|
|
40
|
+
modalContent: {
|
|
41
|
+
marginStart: 60,
|
|
42
|
+
marginEnd: 60,
|
|
43
|
+
flex: 1,
|
|
44
|
+
marginBottom: 60
|
|
45
|
+
},
|
|
46
|
+
modalView: {
|
|
47
|
+
backgroundColor: 'white',
|
|
48
|
+
padding: 15,
|
|
49
|
+
borderRadius: 9
|
|
50
|
+
},
|
|
51
|
+
// new design
|
|
52
|
+
titleContainer: {
|
|
53
|
+
backgroundColor: '#ECF0FF',
|
|
54
|
+
padding: 16
|
|
55
|
+
},
|
|
56
|
+
titleText: {
|
|
57
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
58
|
+
fontWeight: '400',
|
|
59
|
+
fontSize: 16,
|
|
60
|
+
lineHeight: 28,
|
|
61
|
+
color: '#3D445C'
|
|
62
|
+
},
|
|
63
|
+
contactListContainer: {
|
|
64
|
+
marginTop: sHeight(24),
|
|
65
|
+
gap: 16,
|
|
66
|
+
marginHorizontal: sWidth(16),
|
|
67
|
+
flex: 1
|
|
68
|
+
},
|
|
69
|
+
headingTitle: {
|
|
70
|
+
lineHeight: 24
|
|
71
|
+
},
|
|
72
|
+
contactCard: {
|
|
73
|
+
paddingHorizontal: sWidth(16),
|
|
74
|
+
paddingVertical: sWidth(12),
|
|
75
|
+
gap: 8,
|
|
76
|
+
borderRadius: 8,
|
|
77
|
+
backgroundColor: '#fff',
|
|
78
|
+
borderWidth: 1,
|
|
79
|
+
borderColor: '#E0E7FF',
|
|
80
|
+
marginBottom: sHeight(16),
|
|
81
|
+
// Shadow styling for iOS
|
|
82
|
+
shadowColor: '#000',
|
|
83
|
+
shadowOffset: {
|
|
84
|
+
width: 0,
|
|
85
|
+
height: 2
|
|
86
|
+
},
|
|
87
|
+
shadowOpacity: 0.1,
|
|
88
|
+
shadowRadius: 6,
|
|
89
|
+
// Elevation for Android
|
|
90
|
+
elevation: 2
|
|
91
|
+
},
|
|
92
|
+
selectedCard: {
|
|
93
|
+
borderWidth: 1,
|
|
94
|
+
borderColor: '#5B80F7'
|
|
95
|
+
},
|
|
96
|
+
columnContainer: {
|
|
97
|
+
display: 'flex',
|
|
98
|
+
flexDirection: 'column',
|
|
99
|
+
alignContent: 'center',
|
|
100
|
+
flex: 1
|
|
101
|
+
},
|
|
102
|
+
rowContainer: {
|
|
103
|
+
display: 'flex',
|
|
104
|
+
flexDirection: 'row',
|
|
105
|
+
alignContent: 'center',
|
|
106
|
+
gap: 8,
|
|
107
|
+
flex: 1,
|
|
108
|
+
marginBottom: sHeight(4)
|
|
109
|
+
},
|
|
110
|
+
contactTitle: {
|
|
111
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Regular',
|
|
112
|
+
fontWeight: '500',
|
|
113
|
+
fontSize: 14,
|
|
114
|
+
lineHeight: 20,
|
|
115
|
+
color: '#3D445C'
|
|
116
|
+
},
|
|
117
|
+
contactLabel: {
|
|
118
|
+
color: '#A3AAC2',
|
|
119
|
+
lineHeight: 20,
|
|
120
|
+
fontSize: 14
|
|
121
|
+
},
|
|
122
|
+
contactText: {
|
|
123
|
+
lineHeight: 20,
|
|
124
|
+
fontSize: 14
|
|
125
|
+
},
|
|
126
|
+
radioIcon: {
|
|
127
|
+
height: sHeight(17),
|
|
128
|
+
width: sWidth(17),
|
|
129
|
+
marginTop: sHeight(2)
|
|
130
|
+
},
|
|
131
|
+
contactList: {
|
|
132
|
+
paddingBottom: sHeight(100)
|
|
133
|
+
},
|
|
134
|
+
otpContainer: {
|
|
135
|
+
marginTop: 24,
|
|
136
|
+
marginHorizontal: 16,
|
|
137
|
+
padding: 16,
|
|
138
|
+
gap: 16,
|
|
139
|
+
borderRadius: 8,
|
|
140
|
+
borderWidth: 1,
|
|
141
|
+
borderColor: '#E0E7FF',
|
|
142
|
+
backgroundColor: '#FFF',
|
|
143
|
+
shadowColor: '#000',
|
|
144
|
+
shadowOffset: {
|
|
145
|
+
width: 0,
|
|
146
|
+
height: 3
|
|
147
|
+
},
|
|
148
|
+
shadowOpacity: 0.1,
|
|
149
|
+
shadowRadius: 6,
|
|
150
|
+
elevation: 3 // Required for shadow on Android
|
|
151
|
+
},
|
|
152
|
+
otpTextMsg: {
|
|
153
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Regular',
|
|
154
|
+
fontWeight: '500',
|
|
155
|
+
fontSize: 16,
|
|
156
|
+
lineHeight: 24,
|
|
157
|
+
color: '#3D445C'
|
|
158
|
+
},
|
|
159
|
+
resendOtpMsg: {
|
|
160
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
161
|
+
fontWeight: '400',
|
|
162
|
+
fontSize: 16,
|
|
163
|
+
lineHeight: 24,
|
|
164
|
+
color: '#A3AAC2'
|
|
165
|
+
},
|
|
166
|
+
resendOtpBtn: {
|
|
167
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Regular',
|
|
168
|
+
fontWeight: '500',
|
|
169
|
+
fontSize: 16,
|
|
170
|
+
lineHeight: 24,
|
|
171
|
+
color: '#5B80F7'
|
|
172
|
+
},
|
|
173
|
+
errorMessage: {
|
|
174
|
+
color: '#DC2626',
|
|
175
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
176
|
+
fontWeight: '400',
|
|
177
|
+
fontSize: 12,
|
|
178
|
+
lineHeight: 16
|
|
179
|
+
},
|
|
180
|
+
maxLimitReachBox: {
|
|
181
|
+
display: 'flex',
|
|
182
|
+
flexDirection: 'row',
|
|
183
|
+
gap: 8,
|
|
184
|
+
justifyContent: 'flex-start',
|
|
185
|
+
alignItems: 'center',
|
|
186
|
+
marginTop: sHeight(4)
|
|
187
|
+
},
|
|
188
|
+
maxLimitReachText: {
|
|
189
|
+
color: '#3D445C',
|
|
190
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
191
|
+
fontWeight: '400',
|
|
192
|
+
fontSize: 14,
|
|
193
|
+
marginTop: -2,
|
|
194
|
+
lineHeight: 20
|
|
195
|
+
},
|
|
196
|
+
responseCard: {
|
|
197
|
+
paddingVertical: sHeight(40),
|
|
198
|
+
gap: 16,
|
|
199
|
+
alignContent: 'center',
|
|
200
|
+
alignItems: 'center',
|
|
201
|
+
justifyContent: 'center',
|
|
202
|
+
borderRadius: 16,
|
|
203
|
+
borderColor: '#DDE3F9',
|
|
204
|
+
borderWidth: 1,
|
|
205
|
+
backgroundColor: '#fff',
|
|
206
|
+
marginHorizontal: 33 // Keeps horizontal margins
|
|
207
|
+
},
|
|
208
|
+
loadingCard: {
|
|
209
|
+
paddingVertical: sHeight(32),
|
|
210
|
+
paddingHorizontal: sHeight(16),
|
|
211
|
+
gap: 16,
|
|
212
|
+
alignItems: 'center',
|
|
213
|
+
// Center the GIF horizontally
|
|
214
|
+
justifyContent: 'center',
|
|
215
|
+
// Center the GIF vertically
|
|
216
|
+
borderRadius: 16,
|
|
217
|
+
borderColor: '#DDE3F9',
|
|
218
|
+
borderWidth: 1,
|
|
219
|
+
backgroundColor: '#fff',
|
|
220
|
+
marginHorizontal: 33
|
|
221
|
+
},
|
|
222
|
+
otpResponseText: {
|
|
223
|
+
color: '#3D445C',
|
|
224
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Regular',
|
|
225
|
+
fontWeight: '500',
|
|
226
|
+
fontSize: 18,
|
|
227
|
+
lineHeight: 18
|
|
228
|
+
},
|
|
229
|
+
loadingText: {
|
|
230
|
+
color: '#3D445C',
|
|
231
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_400Regular : 'IBMPlexSans-Regular',
|
|
232
|
+
fontWeight: '400',
|
|
233
|
+
fontSize: 16,
|
|
234
|
+
lineHeight: 18,
|
|
235
|
+
letterSpacing: 0.25
|
|
236
|
+
},
|
|
237
|
+
mainBtnStyles: {
|
|
238
|
+
display: 'flex',
|
|
239
|
+
justifyContent: 'center',
|
|
240
|
+
flex: 1,
|
|
241
|
+
borderRadius: 8,
|
|
242
|
+
width: '100%',
|
|
243
|
+
backgroundColor: 'white'
|
|
244
|
+
},
|
|
245
|
+
disableBtn: {
|
|
246
|
+
borderWidth: 1,
|
|
247
|
+
borderColor: '#F9F9FB'
|
|
248
|
+
},
|
|
249
|
+
cancelBtnText: {
|
|
250
|
+
fontSize: 14,
|
|
251
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_600SemiBold : 'IBMPlexSans-Regular',
|
|
252
|
+
textAlign: 'center',
|
|
253
|
+
fontWeight: '600'
|
|
254
|
+
},
|
|
255
|
+
activeBtnText: {
|
|
256
|
+
fontSize: 14,
|
|
257
|
+
fontFamily: Platform.OS === 'android' ? Fonts.IBMPlexSans_500Medium : 'IBMPlexSans-Regular',
|
|
258
|
+
fontWeight: '500',
|
|
259
|
+
color: '#fff',
|
|
260
|
+
textAlign: 'center'
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
export default styles;
|
|
264
|
+
//# sourceMappingURL=ValidateOtpStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","StyleSheet","Fonts","sHeight","sWidth","styles","create","bottomView","padding","gap","flexDirection","justifyContent","backgroundColor","borderTopWidth","borderColor","otpTitle","marginTop","marginBottom","fontFamily","OS","IBMPlexSans_400Regular","fontStyle","fontSize","lineHeight","letterSpacing","color","alignItems","retryButton","marginVertical","subText","textAlign","modalContent","marginStart","marginEnd","flex","modalView","borderRadius","titleContainer","titleText","fontWeight","contactListContainer","marginHorizontal","headingTitle","contactCard","paddingHorizontal","paddingVertical","borderWidth","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","selectedCard","columnContainer","display","alignContent","rowContainer","contactTitle","IBMPlexSans_500Medium","contactLabel","contactText","radioIcon","contactList","paddingBottom","otpContainer","otpTextMsg","resendOtpMsg","resendOtpBtn","errorMessage","maxLimitReachBox","maxLimitReachText","responseCard","loadingCard","otpResponseText","loadingText","mainBtnStyles","disableBtn","cancelBtnText","IBMPlexSans_600SemiBold","activeBtnText"],"sources":["ValidateOtpStyles.ts"],"sourcesContent":["import { Platform, StyleSheet } from 'react-native';\nimport { Fonts } from '../../../styles/executionTasks/CommonStyles';\nimport { sHeight, sWidth } from '../../../components/utils/Scale';\nconst styles = StyleSheet.create({\n bottomView: {\n padding: 16,\n gap: 16,\n flexDirection: 'row-reverse',\n justifyContent: 'space-evenly',\n backgroundColor: 'white',\n borderTopWidth: 1,\n borderColor: '#DDE3F9',\n },\n otpTitle: {\n marginTop: 10,\n marginBottom: 20,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 16,\n lineHeight: 20,\n letterSpacing: 0.25,\n color: '#3D445C',\n alignItems: 'center',\n },\n retryButton: {\n alignItems: 'flex-start',\n marginVertical: 10,\n },\n subText: {\n justifyContent: 'center',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontStyle: 'normal',\n fontSize: 14,\n letterSpacing: 0.25,\n lineHeight: 20,\n textAlign: 'center',\n color: '#000000',\n marginBottom: 10,\n },\n modalContent: {\n marginStart: 60,\n marginEnd: 60,\n flex: 1,\n marginBottom: 60,\n },\n modalView: {\n backgroundColor: 'white',\n padding: 15,\n borderRadius: 9,\n },\n // new design\n titleContainer: {\n backgroundColor: '#ECF0FF',\n padding: 16,\n },\n titleText: {\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontWeight: '400',\n fontSize: 16,\n lineHeight: 28,\n color: '#3D445C',\n },\n contactListContainer: {\n marginTop: sHeight(24),\n gap: 16,\n marginHorizontal: sWidth(16),\n flex: 1,\n },\n headingTitle: {\n lineHeight: 24,\n },\n contactCard: {\n paddingHorizontal: sWidth(16),\n paddingVertical: sWidth(12),\n gap: 8,\n borderRadius: 8,\n backgroundColor: '#fff',\n borderWidth: 1,\n borderColor: '#E0E7FF',\n marginBottom: sHeight(16),\n // Shadow styling for iOS\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 6,\n\n // Elevation for Android\n elevation: 2,\n },\n selectedCard: {\n borderWidth: 1,\n borderColor: '#5B80F7',\n },\n columnContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignContent: 'center',\n flex: 1,\n },\n rowContainer: {\n display: 'flex',\n flexDirection: 'row',\n alignContent: 'center',\n gap: 8,\n flex: 1,\n marginBottom: sHeight(4),\n },\n contactTitle: {\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Regular',\n fontWeight: '500',\n fontSize: 14,\n lineHeight: 20,\n color: '#3D445C',\n },\n contactLabel: {\n color: '#A3AAC2',\n lineHeight: 20,\n fontSize: 14,\n },\n contactText: {\n lineHeight: 20,\n fontSize: 14,\n },\n radioIcon: {\n height: sHeight(17),\n width: sWidth(17),\n marginTop: sHeight(2),\n },\n contactList: {\n paddingBottom: sHeight(100),\n },\n otpContainer: {\n marginTop: 24,\n marginHorizontal: 16,\n padding: 16,\n gap: 16,\n borderRadius: 8,\n borderWidth: 1,\n borderColor: '#E0E7FF',\n backgroundColor: '#FFF',\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 3 },\n shadowOpacity: 0.1,\n shadowRadius: 6,\n elevation: 3, // Required for shadow on Android\n },\n otpTextMsg: {\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Regular',\n fontWeight: '500',\n fontSize: 16,\n lineHeight: 24,\n color: '#3D445C',\n },\n resendOtpMsg: {\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontWeight: '400',\n fontSize: 16,\n lineHeight: 24,\n color: '#A3AAC2',\n },\n resendOtpBtn: {\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Regular',\n fontWeight: '500',\n fontSize: 16,\n lineHeight: 24,\n color: '#5B80F7',\n },\n errorMessage: {\n color: '#DC2626',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontWeight: '400',\n fontSize: 12,\n lineHeight: 16,\n },\n maxLimitReachBox: {\n display: 'flex',\n flexDirection: 'row',\n gap: 8,\n justifyContent: 'flex-start',\n alignItems: 'center',\n marginTop: sHeight(4),\n },\n maxLimitReachText: {\n color: '#3D445C',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontWeight: '400',\n fontSize: 14,\n marginTop: -2,\n lineHeight: 20,\n },\n responseCard: {\n paddingVertical: sHeight(40),\n gap: 16,\n alignContent: 'center',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 16,\n borderColor: '#DDE3F9',\n borderWidth: 1,\n backgroundColor: '#fff',\n marginHorizontal: 33, // Keeps horizontal margins\n },\n loadingCard: {\n paddingVertical: sHeight(32),\n paddingHorizontal: sHeight(16),\n gap: 16,\n alignItems: 'center', // Center the GIF horizontally\n justifyContent: 'center', // Center the GIF vertically\n borderRadius: 16,\n borderColor: '#DDE3F9',\n borderWidth: 1,\n backgroundColor: '#fff',\n marginHorizontal: 33,\n },\n otpResponseText: {\n color: '#3D445C',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Regular',\n fontWeight: '500',\n fontSize: 18,\n lineHeight: 18,\n },\n loadingText: {\n color: '#3D445C',\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_400Regular\n : 'IBMPlexSans-Regular',\n fontWeight: '400',\n fontSize: 16,\n lineHeight: 18,\n letterSpacing: 0.25,\n },\n mainBtnStyles: {\n display: 'flex',\n justifyContent: 'center',\n flex: 1,\n borderRadius: 8,\n width: '100%',\n backgroundColor: 'white',\n },\n disableBtn: {\n borderWidth: 1,\n borderColor: '#F9F9FB',\n },\n cancelBtnText: {\n fontSize: 14,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_600SemiBold\n : 'IBMPlexSans-Regular',\n textAlign: 'center',\n fontWeight: '600',\n },\n activeBtnText: {\n fontSize: 14,\n fontFamily:\n Platform.OS === 'android'\n ? Fonts.IBMPlexSans_500Medium\n : 'IBMPlexSans-Regular',\n fontWeight: '500',\n color: '#fff',\n textAlign: 'center',\n },\n});\n\nexport default styles;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* eslint-disable react-native/no-inline-styles */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
3
|
+
import React, { useEffect, useLayoutEffect } from 'react';
|
|
4
|
+
import { BackHandler, FlatList, Text, View } from 'react-native';
|
|
5
|
+
import { useFocusEffect } from '@react-navigation/native';
|
|
6
|
+
import Icon from 'react-native-vector-icons/MaterialIcons';
|
|
7
|
+
|
|
8
|
+
// Styles
|
|
9
|
+
import styles from '../ValidateOtpStyles';
|
|
10
|
+
|
|
11
|
+
// Types
|
|
12
|
+
|
|
13
|
+
// Sub-components
|
|
14
|
+
import { ContactCard } from '../sub-components/ContactCard';
|
|
15
|
+
|
|
16
|
+
// Analytics
|
|
17
|
+
import { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';
|
|
18
|
+
import { ScreenNameSdkConstants, SentryEventNameSdkConstants, SeverityLevelValue } from '../../../../analytics/sentry/SentrySdkConstants';
|
|
19
|
+
export const ContactListView = props => {
|
|
20
|
+
var _props$generateMessag;
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
props.setIsContactVisited(true);
|
|
23
|
+
}, [props]);
|
|
24
|
+
// Handle back-button click
|
|
25
|
+
useFocusEffect(React.useCallback(() => {
|
|
26
|
+
BackHandler.addEventListener('hardwareBackPress', props.handleBackNavigation);
|
|
27
|
+
return () => BackHandler.removeEventListener('hardwareBackPress', props.handleBackNavigation);
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
}, []));
|
|
30
|
+
useLayoutEffect(() => {
|
|
31
|
+
props.navigation.setOptions({
|
|
32
|
+
title: props.title,
|
|
33
|
+
headerLeft: () => {
|
|
34
|
+
return /*#__PURE__*/React.createElement(Icon, {
|
|
35
|
+
onPress: () => {
|
|
36
|
+
props.handleBackNavigation();
|
|
37
|
+
const cta = 'Arrow Back';
|
|
38
|
+
fireEventWithScreenName({
|
|
39
|
+
severityLevel: SeverityLevelValue.LOG,
|
|
40
|
+
eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
|
|
41
|
+
screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN,
|
|
42
|
+
cta: cta
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
name: "arrow-back",
|
|
46
|
+
color: 'black',
|
|
47
|
+
size: 25,
|
|
48
|
+
style: {
|
|
49
|
+
paddingRight: 15,
|
|
50
|
+
paddingTop: 5
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}, [props.navigation, props, props.title]);
|
|
56
|
+
|
|
57
|
+
// *render contact card
|
|
58
|
+
const renderItem = ({
|
|
59
|
+
item
|
|
60
|
+
}) => {
|
|
61
|
+
return /*#__PURE__*/React.createElement(ContactCard, {
|
|
62
|
+
handleSelectContact: props.handleSelectContact,
|
|
63
|
+
contactDetails: item
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
67
|
+
style: {
|
|
68
|
+
flex: 1
|
|
69
|
+
}
|
|
70
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
71
|
+
style: styles.titleContainer
|
|
72
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
73
|
+
style: styles.titleText
|
|
74
|
+
}, (props === null || props === void 0 || (_props$generateMessag = props.generateMessage) === null || _props$generateMessag === void 0 || (_props$generateMessag = _props$generateMessag.toString()) === null || _props$generateMessag === void 0 ? void 0 : _props$generateMessag.length) > 0 ? props.generateMessage : 'Proceed to OTP verification? A verification code will be sent to the customer')), /*#__PURE__*/React.createElement(View, {
|
|
75
|
+
style: styles.contactListContainer
|
|
76
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
77
|
+
style: [styles.titleText, styles.headingTitle]
|
|
78
|
+
}, "Select the contact to receive the OTP"), /*#__PURE__*/React.createElement(FlatList, {
|
|
79
|
+
style: styles.contactList,
|
|
80
|
+
data: props.contactList,
|
|
81
|
+
showsVerticalScrollIndicator: false,
|
|
82
|
+
automaticallyAdjustKeyboardInsets: true,
|
|
83
|
+
nestedScrollEnabled: true,
|
|
84
|
+
keyExtractor: item => item.value.toString(),
|
|
85
|
+
renderItem: renderItem
|
|
86
|
+
})));
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=ContactListView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useLayoutEffect","BackHandler","FlatList","Text","View","useFocusEffect","Icon","styles","ContactCard","fireEventWithScreenName","ScreenNameSdkConstants","SentryEventNameSdkConstants","SeverityLevelValue","ContactListView","props","_props$generateMessag","setIsContactVisited","useCallback","addEventListener","handleBackNavigation","removeEventListener","navigation","setOptions","title","headerLeft","createElement","onPress","cta","severityLevel","LOG","eventName","BUTTON_CLICKED","screenName","VALIDATE_OTP_ET_SCREEN","name","color","size","style","paddingRight","paddingTop","renderItem","item","handleSelectContact","contactDetails","flex","titleContainer","titleText","generateMessage","toString","length","contactListContainer","headingTitle","contactList","data","showsVerticalScrollIndicator","automaticallyAdjustKeyboardInsets","nestedScrollEnabled","keyExtractor","value"],"sources":["ContactListView.tsx"],"sourcesContent":["/* eslint-disable react-native/no-inline-styles */\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, { FC, useEffect, useLayoutEffect } from 'react';\nimport { BackHandler, FlatList, Text, View } from 'react-native';\nimport { useFocusEffect } from '@react-navigation/native';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\n\n// Styles\nimport styles from '../ValidateOtpStyles';\n\n// Types\nimport { ValidateOTPInput } from '../ValidateOTPSchema';\n\n// Sub-components\nimport { ContactCard } from '../sub-components/ContactCard';\n\n// Analytics\nimport { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';\nimport {\n ScreenNameSdkConstants,\n SentryEventNameSdkConstants,\n SeverityLevelValue,\n} from '../../../../analytics/sentry/SentrySdkConstants';\n\nexport const ContactListView: FC<ValidateOTPInput> = (props) => {\n useEffect(() => {\n props.setIsContactVisited(true);\n }, [props]);\n // Handle back-button click\n useFocusEffect(\n React.useCallback(() => {\n BackHandler.addEventListener(\n 'hardwareBackPress',\n props.handleBackNavigation\n );\n return () =>\n BackHandler.removeEventListener(\n 'hardwareBackPress',\n props.handleBackNavigation\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n props.handleBackNavigation();\n const cta = 'Arrow Back';\n fireEventWithScreenName({\n severityLevel: SeverityLevelValue.LOG,\n eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,\n screenName: ScreenNameSdkConstants.VALIDATE_OTP_ET_SCREEN,\n cta: cta,\n });\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props, props.title]);\n\n // *render contact card\n const renderItem = ({ item }: { item: any }) => {\n return (\n <ContactCard\n handleSelectContact={props.handleSelectContact}\n contactDetails={item}\n />\n );\n };\n\n return (\n <View style={{ flex: 1 }}>\n <View style={styles.titleContainer}>\n <Text style={styles.titleText}>\n {props?.generateMessage?.toString()?.length > 0\n ? props.generateMessage\n : 'Proceed to OTP verification? A verification code will be sent to the customer'}\n </Text>\n </View>\n <View style={styles.contactListContainer}>\n <Text style={[styles.titleText, styles.headingTitle]}>\n Select the contact to receive the OTP\n </Text>\n <FlatList\n style={styles.contactList}\n data={props.contactList}\n showsVerticalScrollIndicator={false}\n automaticallyAdjustKeyboardInsets={true}\n nestedScrollEnabled\n keyExtractor={(item: any) => item.value.toString()}\n renderItem={renderItem}\n />\n </View>\n </View>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|