@os1-platform/dispatch-mobile 2.1.21 → 2.1.23

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.
Files changed (614) hide show
  1. package/README.md +122 -11
  2. package/lib/commonjs/analytics/firebase/FirebaseLogging.js +1 -1
  3. package/lib/commonjs/analytics/firebase/FirebaseLogging.js.map +1 -1
  4. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js +5 -5
  5. package/lib/commonjs/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -1
  6. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js +9 -10
  7. package/lib/commonjs/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  8. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js +16 -6
  9. package/lib/commonjs/components/dispatch/DispatchExecNavigator.js.map +1 -1
  10. package/lib/commonjs/components/executiontasks/ExecutionTasksIndex.js +8 -1
  11. package/lib/commonjs/components/executiontasks/ExecutionTasksIndex.js.map +1 -1
  12. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js +8 -10
  13. package/lib/commonjs/components/executiontasks/cancellation/CancelET.js.map +1 -1
  14. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js +2 -2
  15. package/lib/commonjs/components/executiontasks/captureInput/CaptureText.js.map +1 -1
  16. package/lib/commonjs/components/executiontasks/collectPayment/CollectPayment.js +40 -0
  17. package/lib/commonjs/components/executiontasks/collectPayment/CollectPayment.js.map +1 -0
  18. package/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js +35 -0
  19. package/lib/commonjs/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -0
  20. package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js +102 -0
  21. package/lib/commonjs/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -0
  22. package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js +151 -0
  23. package/lib/commonjs/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -0
  24. package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js +188 -0
  25. package/lib/commonjs/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -0
  26. package/lib/commonjs/components/executiontasks/collectPayment/components/CustomContactsModal.js +2 -0
  27. package/lib/commonjs/components/executiontasks/collectPayment/components/CustomContactsModal.js.map +1 -0
  28. package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js +442 -0
  29. package/lib/commonjs/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -0
  30. package/lib/commonjs/components/executiontasks/collectPayment/components/PaymentContactDetails.js +538 -0
  31. package/lib/commonjs/components/executiontasks/collectPayment/components/PaymentContactDetails.js.map +1 -0
  32. package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js +887 -0
  33. package/lib/commonjs/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -0
  34. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js +14 -20
  35. package/lib/commonjs/components/executiontasks/deliver/DeliverET.js.map +1 -1
  36. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js +24 -27
  37. package/lib/commonjs/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  38. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js +1 -1
  39. package/lib/commonjs/components/executiontasks/display/DisplayModalET.js.map +1 -1
  40. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js +2 -3
  41. package/lib/commonjs/components/executiontasks/doodle/SignatureET.js.map +1 -1
  42. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js +1 -1
  43. package/lib/commonjs/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  44. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js +9 -3
  45. package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  46. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js +2 -2
  47. package/lib/commonjs/components/executiontasks/forms/FormGenerator.js.map +1 -1
  48. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js +13 -14
  49. package/lib/commonjs/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  50. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js +2 -2
  51. package/lib/commonjs/components/executiontasks/forms/widgets/DropdownWidget.js.map +1 -1
  52. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +11 -12
  53. package/lib/commonjs/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  54. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js +3 -3
  55. package/lib/commonjs/components/executiontasks/forms/widgets/TimeRangeSelector.js.map +1 -1
  56. package/lib/commonjs/components/executiontasks/httpRequest/HttpEtUtils.js +1 -1
  57. package/lib/commonjs/components/executiontasks/httpRequest/HttpEtUtils.js.map +1 -1
  58. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js +2 -2
  59. package/lib/commonjs/components/executiontasks/httpRequest/HttpRequestET.js.map +1 -1
  60. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js +2 -2
  61. package/lib/commonjs/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  62. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +11 -13
  63. package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  64. package/lib/commonjs/components/executiontasks/payments/PaymentUtils.js +11 -2
  65. package/lib/commonjs/components/executiontasks/payments/PaymentUtils.js.map +1 -1
  66. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js +2 -2
  67. package/lib/commonjs/components/executiontasks/payments/completePayment/CompletePaymentET.js.map +1 -1
  68. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js +5 -6
  69. package/lib/commonjs/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  70. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js +2 -2
  71. package/lib/commonjs/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  72. package/lib/commonjs/components/executiontasks/pickup/PickupET.js +14 -20
  73. package/lib/commonjs/components/executiontasks/pickup/PickupET.js.map +1 -1
  74. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js +18 -24
  75. package/lib/commonjs/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  76. package/lib/commonjs/components/executiontasks/scan/ScanET.js +4 -6
  77. package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
  78. package/lib/commonjs/components/executiontasks/scan/constants.js.map +1 -1
  79. package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
  80. package/lib/commonjs/components/executiontasks/scan/modalConstant.js.map +1 -1
  81. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js +4 -5
  82. package/lib/commonjs/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  83. package/lib/commonjs/components/executiontasks/scan/sub_components/DropDownUtils.js +1 -2
  84. package/lib/commonjs/components/executiontasks/scan/sub_components/DropDownUtils.js.map +1 -1
  85. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js +2 -4
  86. package/lib/commonjs/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  87. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +3 -6
  88. package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  89. package/lib/commonjs/components/executiontasks/scan/utils.js +14 -8
  90. package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
  91. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js +2 -2
  92. package/lib/commonjs/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  93. package/lib/commonjs/components/executiontasks/validateOTP/constants.js.map +1 -1
  94. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js +2 -2
  95. package/lib/commonjs/components/executiontasks/validateOTP/sub-components/OTPInput.js.map +1 -1
  96. package/lib/commonjs/components/executiontasks/validateOTP/utils.js +1 -1
  97. package/lib/commonjs/components/executiontasks/validateOTP/utils.js.map +1 -1
  98. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js +2 -2
  99. package/lib/commonjs/components/executiontasks/verifyLocation/GeofenceUtils.js.map +1 -1
  100. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js +2 -2
  101. package/lib/commonjs/components/executiontasks/verifyLocation/VerifyLocationET.js.map +1 -1
  102. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js +2 -2
  103. package/lib/commonjs/components/executiontasks/verifyOtp/VerifyOtpET.js.map +1 -1
  104. package/lib/commonjs/components/widgets/AlertDisplay.js +1 -1
  105. package/lib/commonjs/components/widgets/AlertDisplay.js.map +1 -1
  106. package/lib/commonjs/components/widgets/CancelOrderDialog.js +2 -2
  107. package/lib/commonjs/components/widgets/CancelOrderDialog.js.map +1 -1
  108. package/lib/commonjs/components/widgets/Card.js +1 -2
  109. package/lib/commonjs/components/widgets/Card.js.map +1 -1
  110. package/lib/commonjs/components/widgets/GoBackModal.js +1 -1
  111. package/lib/commonjs/components/widgets/GoBackModal.js.map +1 -1
  112. package/lib/commonjs/components/widgets/IconButton.js +20 -23
  113. package/lib/commonjs/components/widgets/IconButton.js.map +1 -1
  114. package/lib/commonjs/components/widgets/ModalWidget.js +3 -1
  115. package/lib/commonjs/components/widgets/ModalWidget.js.map +1 -1
  116. package/lib/commonjs/components/widgets/ProgressDialog.js +3 -3
  117. package/lib/commonjs/components/widgets/ProgressDialog.js.map +1 -1
  118. package/lib/commonjs/components/widgets/SearchBar.js +1 -1
  119. package/lib/commonjs/components/widgets/SearchBar.js.map +1 -1
  120. package/lib/commonjs/components/widgets/SnackBarCustom.js +22 -21
  121. package/lib/commonjs/components/widgets/SnackBarCustom.js.map +1 -1
  122. package/lib/commonjs/components/widgets/SplitTextInput.js +10 -11
  123. package/lib/commonjs/components/widgets/SplitTextInput.js.map +1 -1
  124. package/lib/commonjs/components/widgets/TabsComponent.js +1 -1
  125. package/lib/commonjs/components/widgets/TabsComponent.js.map +1 -1
  126. package/lib/commonjs/components/widgets/Timer.js +40 -0
  127. package/lib/commonjs/components/widgets/Timer.js.map +1 -0
  128. package/lib/commonjs/constants/apiConstants.js +4 -1
  129. package/lib/commonjs/constants/apiConstants.js.map +1 -1
  130. package/lib/commonjs/constants/constants.js +4 -1
  131. package/lib/commonjs/constants/constants.js.map +1 -1
  132. package/lib/commonjs/errors/BaseError.js +3 -3
  133. package/lib/commonjs/events/EventDispatcher.js +5 -1
  134. package/lib/commonjs/events/EventDispatcher.js.map +1 -1
  135. package/lib/commonjs/events/constants.js +2 -1
  136. package/lib/commonjs/events/constants.js.map +1 -1
  137. package/lib/commonjs/events/index.js +1 -1
  138. package/lib/commonjs/events/index.js.map +1 -1
  139. package/lib/commonjs/events/interface.js.map +1 -1
  140. package/lib/commonjs/icons/CircleMark.js +27 -0
  141. package/lib/commonjs/icons/CircleMark.js.map +1 -0
  142. package/lib/commonjs/icons/FailedIcon.js +69 -0
  143. package/lib/commonjs/icons/FailedIcon.js.map +1 -0
  144. package/lib/commonjs/icons/FailureCloseIcon.js +42 -0
  145. package/lib/commonjs/icons/FailureCloseIcon.js.map +1 -0
  146. package/lib/commonjs/icons/ScanIcon.js +1 -1
  147. package/lib/commonjs/icons/ScanIcon.js.map +1 -1
  148. package/lib/commonjs/icons/SuccessCompleteIcon.js +42 -0
  149. package/lib/commonjs/icons/SuccessCompleteIcon.js.map +1 -0
  150. package/lib/commonjs/icons/file.js +1 -1
  151. package/lib/commonjs/icons/file.js.map +1 -1
  152. package/lib/commonjs/index.js +2 -2
  153. package/lib/commonjs/index.js.map +1 -1
  154. package/lib/commonjs/locale/i18n.js +1 -1
  155. package/lib/commonjs/locale/i18n.js.map +1 -1
  156. package/lib/commonjs/locale/util.js +1 -1
  157. package/lib/commonjs/locale/util.js.map +1 -1
  158. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js +11 -9
  159. package/lib/commonjs/manager/dispatch/DispatchStateContainer.js.map +1 -1
  160. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js +6 -6
  161. package/lib/commonjs/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  162. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js +6 -6
  163. package/lib/commonjs/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  164. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js +7 -7
  165. package/lib/commonjs/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  166. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js +6 -6
  167. package/lib/commonjs/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  168. package/lib/commonjs/manager/location/LocationManager.js +6 -6
  169. package/lib/commonjs/manager/location/LocationManager.js.map +1 -1
  170. package/lib/commonjs/manager/sdk/DispatchSDKManager.js +8 -8
  171. package/lib/commonjs/manager/sdk/DispatchSDKManager.js.map +1 -1
  172. package/lib/commonjs/manager/sdk/DispatchSdkCache.js +6 -6
  173. package/lib/commonjs/manager/sdk/DispatchSdkCache.js.map +1 -1
  174. package/lib/commonjs/manager/sdk/callbacksHandler.js +4 -4
  175. package/lib/commonjs/manager/sdk/callbacksHandler.js.map +1 -1
  176. package/lib/commonjs/manager/syncmanager/AppSyncManager.js +7 -7
  177. package/lib/commonjs/manager/syncmanager/AppSyncManager.js.map +1 -1
  178. package/lib/commonjs/manager/syncmanager/database.js +2 -2
  179. package/lib/commonjs/manager/syncmanager/database.js.map +1 -1
  180. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js +2 -2
  181. package/lib/commonjs/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  182. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js +6 -6
  183. package/lib/commonjs/manager/syncmanager/document/DocumentManager.js.map +1 -1
  184. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +8 -16
  185. package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  186. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js +6 -7
  187. package/lib/commonjs/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  188. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js +7 -8
  189. package/lib/commonjs/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  190. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js +5 -9
  191. package/lib/commonjs/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  192. package/lib/commonjs/models/DispatchModels.js.map +1 -1
  193. package/lib/commonjs/models/execTasks/ETConfig.js +3 -0
  194. package/lib/commonjs/models/execTasks/ETConfig.js.map +1 -1
  195. package/lib/commonjs/models/sdk.js.map +1 -1
  196. package/lib/commonjs/native/signature/SignatureCapture.js +5 -5
  197. package/lib/commonjs/native/signature/SignatureCapture.js.map +1 -1
  198. package/lib/commonjs/network/GraphQLClient.js +15 -19
  199. package/lib/commonjs/network/GraphQLClient.js.map +1 -1
  200. package/lib/commonjs/network/NetworkClient.js +30 -3
  201. package/lib/commonjs/network/NetworkClient.js.map +1 -1
  202. package/lib/commonjs/network/NetworkUtils.js +2 -5
  203. package/lib/commonjs/network/NetworkUtils.js.map +1 -1
  204. package/lib/commonjs/network/Queries.js.map +1 -1
  205. package/lib/commonjs/network/client.js +5 -5
  206. package/lib/commonjs/network/client.js.map +1 -1
  207. package/lib/commonjs/resources/Login.js +4 -4
  208. package/lib/commonjs/resources/Login.js.map +1 -1
  209. package/lib/commonjs/resources/network.js +4 -4
  210. package/lib/commonjs/resources/network.js.map +1 -1
  211. package/lib/commonjs/styles/executionTasks/CommonStyles.js +13 -3
  212. package/lib/commonjs/styles/executionTasks/CommonStyles.js.map +1 -1
  213. package/lib/commonjs/ui/screens/CancellationScreen.js +7 -8
  214. package/lib/commonjs/ui/screens/CancellationScreen.js.map +1 -1
  215. package/lib/commonjs/ui/screens/CaptureInputScreen.js +8 -9
  216. package/lib/commonjs/ui/screens/CaptureInputScreen.js.map +1 -1
  217. package/lib/commonjs/ui/screens/CollectPaymentScreen.js +251 -0
  218. package/lib/commonjs/ui/screens/CollectPaymentScreen.js.map +1 -0
  219. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js +7 -8
  220. package/lib/commonjs/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  221. package/lib/commonjs/ui/screens/DeliverScreen.js +8 -9
  222. package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
  223. package/lib/commonjs/ui/screens/DisplayScreen.js +8 -9
  224. package/lib/commonjs/ui/screens/DisplayScreen.js.map +1 -1
  225. package/lib/commonjs/ui/screens/DoodleScreen.js +8 -9
  226. package/lib/commonjs/ui/screens/DoodleScreen.js.map +1 -1
  227. package/lib/commonjs/ui/screens/DropCashScreen.js +43 -11
  228. package/lib/commonjs/ui/screens/DropCashScreen.js.map +1 -1
  229. package/lib/commonjs/ui/screens/ETScreensIndex.js +8 -1
  230. package/lib/commonjs/ui/screens/ETScreensIndex.js.map +1 -1
  231. package/lib/commonjs/ui/screens/FormsScreen.js +8 -9
  232. package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
  233. package/lib/commonjs/ui/screens/GeofenceScreen.js +8 -9
  234. package/lib/commonjs/ui/screens/GeofenceScreen.js.map +1 -1
  235. package/lib/commonjs/ui/screens/HttpRequestScreen.js +7 -8
  236. package/lib/commonjs/ui/screens/HttpRequestScreen.js.map +1 -1
  237. package/lib/commonjs/ui/screens/ImageCaptureScreen.js +8 -9
  238. package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
  239. package/lib/commonjs/ui/screens/PaymentScreen.js +9 -9
  240. package/lib/commonjs/ui/screens/PaymentScreen.js.map +1 -1
  241. package/lib/commonjs/ui/screens/PickupScreen.js +8 -9
  242. package/lib/commonjs/ui/screens/PickupScreen.js.map +1 -1
  243. package/lib/commonjs/ui/screens/ScanScreen.js +8 -10
  244. package/lib/commonjs/ui/screens/ScanScreen.js.map +1 -1
  245. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js +13 -9
  246. package/lib/commonjs/ui/screens/StartWorkFlowScreen.js.map +1 -1
  247. package/lib/commonjs/ui/screens/ValidateOTPScreen.js +8 -9
  248. package/lib/commonjs/ui/screens/ValidateOTPScreen.js.map +1 -1
  249. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js +3 -3
  250. package/lib/commonjs/ui/screens/WithBaseDispatchScreen.js.map +1 -1
  251. package/lib/commonjs/ui/uiConfig/RouteParams.js +2 -1
  252. package/lib/commonjs/ui/uiConfig/RouteParams.js.map +1 -1
  253. package/lib/commonjs/utils/ApiUtils.js +3 -1
  254. package/lib/commonjs/utils/ApiUtils.js.map +1 -1
  255. package/lib/commonjs/utils/ExecTaskUtils.js +35 -5
  256. package/lib/commonjs/utils/ExecTaskUtils.js.map +1 -1
  257. package/lib/commonjs/utils/Logger.js +6 -7
  258. package/lib/commonjs/utils/Logger.js.map +1 -1
  259. package/lib/commonjs/utils/NetworkUtil.js +4 -4
  260. package/lib/commonjs/utils/NetworkUtil.js.map +1 -1
  261. package/lib/commonjs/utils/SdkUtils.js +2 -2
  262. package/lib/commonjs/utils/SdkUtils.js.map +1 -1
  263. package/lib/commonjs/utils/SyncManagerUtils.js +3 -3
  264. package/lib/commonjs/utils/SyncManagerUtils.js.map +1 -1
  265. package/lib/commonjs/utils/context/paymentContext.js +9 -0
  266. package/lib/commonjs/utils/context/paymentContext.js.map +1 -0
  267. package/lib/commonjs/utils/fcm/FCM.js +22 -4
  268. package/lib/commonjs/utils/fcm/FCM.js.map +1 -1
  269. package/lib/commonjs/utils/fcm/FcmUtils.js +12 -2
  270. package/lib/commonjs/utils/fcm/FcmUtils.js.map +1 -1
  271. package/lib/commonjs/utils/helper.js +6 -6
  272. package/lib/commonjs/utils/helper.js.map +1 -1
  273. package/lib/commonjs/utils/hooks/useModal.js +4 -3
  274. package/lib/commonjs/utils/hooks/useModal.js.map +1 -1
  275. package/lib/commonjs/utils/hooks/useTimer.js.map +1 -1
  276. package/lib/commonjs/utils/loginHelper.js +1 -1
  277. package/lib/commonjs/utils/loginHelper.js.map +1 -1
  278. package/lib/commonjs/utils/storage.js +11 -17
  279. package/lib/commonjs/utils/storage.js.map +1 -1
  280. package/lib/commonjs/utils/utils.js +2 -3
  281. package/lib/commonjs/utils/utils.js.map +1 -1
  282. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js +5 -5
  283. package/lib/module/analytics/sentry/SentryAnalyticsSingleton.js.map +1 -1
  284. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js +7 -8
  285. package/lib/module/analytics/sentry/SentryAnalyticsUtils.js.map +1 -1
  286. package/lib/module/components/dispatch/DispatchExecNavigator.js +14 -4
  287. package/lib/module/components/dispatch/DispatchExecNavigator.js.map +1 -1
  288. package/lib/module/components/executiontasks/ExecutionTasksIndex.js +2 -1
  289. package/lib/module/components/executiontasks/ExecutionTasksIndex.js.map +1 -1
  290. package/lib/module/components/executiontasks/cancellation/CancelET.js +6 -8
  291. package/lib/module/components/executiontasks/cancellation/CancelET.js.map +1 -1
  292. package/lib/module/components/executiontasks/collectPayment/CollectPayment.js +32 -0
  293. package/lib/module/components/executiontasks/collectPayment/CollectPayment.js.map +1 -0
  294. package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js +29 -0
  295. package/lib/module/components/executiontasks/collectPayment/CollectPaymentSchema.js.map +1 -0
  296. package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js +96 -0
  297. package/lib/module/components/executiontasks/collectPayment/PaymentStyles.js.map +1 -0
  298. package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js +132 -0
  299. package/lib/module/components/executiontasks/collectPayment/PaymentUtils.js.map +1 -0
  300. package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js +179 -0
  301. package/lib/module/components/executiontasks/collectPayment/components/CompletePayment.js.map +1 -0
  302. package/lib/module/components/executiontasks/collectPayment/components/CustomContactsModal.js +2 -0
  303. package/lib/module/components/executiontasks/collectPayment/components/CustomContactsModal.js.map +1 -0
  304. package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js +433 -0
  305. package/lib/module/components/executiontasks/collectPayment/components/InitPayment.js.map +1 -0
  306. package/lib/module/components/executiontasks/collectPayment/components/PaymentContactDetails.js +531 -0
  307. package/lib/module/components/executiontasks/collectPayment/components/PaymentContactDetails.js.map +1 -0
  308. package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js +880 -0
  309. package/lib/module/components/executiontasks/collectPayment/components/ProcessPayment.js.map +1 -0
  310. package/lib/module/components/executiontasks/deliver/DeliverET.js +13 -19
  311. package/lib/module/components/executiontasks/deliver/DeliverET.js.map +1 -1
  312. package/lib/module/components/executiontasks/deliver/SLDeliverET.js +21 -24
  313. package/lib/module/components/executiontasks/deliver/SLDeliverET.js.map +1 -1
  314. package/lib/module/components/executiontasks/doodle/SignatureET.js +0 -1
  315. package/lib/module/components/executiontasks/doodle/SignatureET.js.map +1 -1
  316. package/lib/module/components/executiontasks/dropCash/DropCashET.js.map +1 -1
  317. package/lib/module/components/executiontasks/dropCash/SLDropCash.js +6 -1
  318. package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
  319. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js +11 -12
  320. package/lib/module/components/executiontasks/forms/widgets/DateTimeWidget.js.map +1 -1
  321. package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js +9 -10
  322. package/lib/module/components/executiontasks/forms/widgets/QRBarcodeScannerWidget.js.map +1 -1
  323. package/lib/module/components/executiontasks/forms/widgets/TimeRangeSelector.js +1 -1
  324. package/lib/module/components/executiontasks/imageCapture/CaptureUtils.js.map +1 -1
  325. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +9 -11
  326. package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
  327. package/lib/module/components/executiontasks/payments/PaymentUtils.js +11 -2
  328. package/lib/module/components/executiontasks/payments/PaymentUtils.js.map +1 -1
  329. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js +3 -4
  330. package/lib/module/components/executiontasks/payments/init/InitPaymentET.js.map +1 -1
  331. package/lib/module/components/executiontasks/payments/processPayment/ProcessPaymentET.js.map +1 -1
  332. package/lib/module/components/executiontasks/pickup/PickupET.js +13 -19
  333. package/lib/module/components/executiontasks/pickup/PickupET.js.map +1 -1
  334. package/lib/module/components/executiontasks/pickup/SLPickupET.js +15 -21
  335. package/lib/module/components/executiontasks/pickup/SLPickupET.js.map +1 -1
  336. package/lib/module/components/executiontasks/scan/ScanET.js +2 -4
  337. package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
  338. package/lib/module/components/executiontasks/scan/constants.js.map +1 -1
  339. package/lib/module/components/executiontasks/scan/interfaces.js.map +1 -1
  340. package/lib/module/components/executiontasks/scan/modalConstant.js.map +1 -1
  341. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js +3 -4
  342. package/lib/module/components/executiontasks/scan/sub_components/CScanner.js.map +1 -1
  343. package/lib/module/components/executiontasks/scan/sub_components/DropDownUtils.js +0 -1
  344. package/lib/module/components/executiontasks/scan/sub_components/DropDownUtils.js.map +1 -1
  345. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js +0 -2
  346. package/lib/module/components/executiontasks/scan/sub_components/ERDropDown.js.map +1 -1
  347. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +1 -4
  348. package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
  349. package/lib/module/components/executiontasks/scan/utils.js +11 -6
  350. package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
  351. package/lib/module/components/executiontasks/validateOTP/ValidateOTPET.js.map +1 -1
  352. package/lib/module/components/executiontasks/validateOTP/constants.js.map +1 -1
  353. package/lib/module/components/widgets/Card.js +0 -1
  354. package/lib/module/components/widgets/Card.js.map +1 -1
  355. package/lib/module/components/widgets/IconButton.js +19 -22
  356. package/lib/module/components/widgets/IconButton.js.map +1 -1
  357. package/lib/module/components/widgets/ModalWidget.js +1 -0
  358. package/lib/module/components/widgets/ModalWidget.js.map +1 -1
  359. package/lib/module/components/widgets/ProgressDialog.js +2 -2
  360. package/lib/module/components/widgets/ProgressDialog.js.map +1 -1
  361. package/lib/module/components/widgets/SnackBarCustom.js +21 -20
  362. package/lib/module/components/widgets/SnackBarCustom.js.map +1 -1
  363. package/lib/module/components/widgets/SplitTextInput.js +9 -10
  364. package/lib/module/components/widgets/SplitTextInput.js.map +1 -1
  365. package/lib/module/components/widgets/Timer.js +32 -0
  366. package/lib/module/components/widgets/Timer.js.map +1 -0
  367. package/lib/module/constants/apiConstants.js +4 -1
  368. package/lib/module/constants/apiConstants.js.map +1 -1
  369. package/lib/module/constants/constants.js +3 -0
  370. package/lib/module/constants/constants.js.map +1 -1
  371. package/lib/module/errors/BaseError.js +3 -3
  372. package/lib/module/events/EventDispatcher.js +3 -0
  373. package/lib/module/events/EventDispatcher.js.map +1 -1
  374. package/lib/module/events/constants.js +2 -1
  375. package/lib/module/events/constants.js.map +1 -1
  376. package/lib/module/events/interface.js.map +1 -1
  377. package/lib/module/icons/CircleMark.js +20 -0
  378. package/lib/module/icons/CircleMark.js.map +1 -0
  379. package/lib/module/icons/FailedIcon.js +62 -0
  380. package/lib/module/icons/FailedIcon.js.map +1 -0
  381. package/lib/module/icons/FailureCloseIcon.js +35 -0
  382. package/lib/module/icons/FailureCloseIcon.js.map +1 -0
  383. package/lib/module/icons/SuccessCompleteIcon.js +35 -0
  384. package/lib/module/icons/SuccessCompleteIcon.js.map +1 -0
  385. package/lib/module/manager/dispatch/DispatchStateContainer.js +10 -8
  386. package/lib/module/manager/dispatch/DispatchStateContainer.js.map +1 -1
  387. package/lib/module/manager/dispatchCodes/EventCodeContainer.js +5 -5
  388. package/lib/module/manager/dispatchCodes/EventCodeContainer.js.map +1 -1
  389. package/lib/module/manager/dispatchCodes/EventCodeRepo.js +5 -5
  390. package/lib/module/manager/dispatchCodes/EventCodeRepo.js.map +1 -1
  391. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js +5 -5
  392. package/lib/module/manager/dispatchCodes/ReasonCodeContainer.js.map +1 -1
  393. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js +5 -5
  394. package/lib/module/manager/dispatchCodes/ReasonCodeRepo.js.map +1 -1
  395. package/lib/module/manager/location/LocationManager.js +5 -5
  396. package/lib/module/manager/location/LocationManager.js.map +1 -1
  397. package/lib/module/manager/sdk/DispatchSDKManager.js +6 -6
  398. package/lib/module/manager/sdk/DispatchSDKManager.js.map +1 -1
  399. package/lib/module/manager/sdk/DispatchSdkCache.js +5 -5
  400. package/lib/module/manager/sdk/DispatchSdkCache.js.map +1 -1
  401. package/lib/module/manager/sdk/callbacksHandler.js +3 -3
  402. package/lib/module/manager/syncmanager/AppSyncManager.js +5 -5
  403. package/lib/module/manager/syncmanager/AppSyncManager.js.map +1 -1
  404. package/lib/module/manager/syncmanager/DBConfig.js +1 -0
  405. package/lib/module/manager/syncmanager/DBConfig.js.map +1 -1
  406. package/lib/module/manager/syncmanager/document/DocumentHttpClient.js.map +1 -1
  407. package/lib/module/manager/syncmanager/document/DocumentManager.js +5 -5
  408. package/lib/module/manager/syncmanager/document/DocumentManager.js.map +1 -1
  409. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +6 -14
  410. package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
  411. package/lib/module/manager/syncmanager/events/ETEventsManager.js +5 -6
  412. package/lib/module/manager/syncmanager/events/ETEventsManager.js.map +1 -1
  413. package/lib/module/manager/syncmanager/events/EventsSyncManager.js +5 -6
  414. package/lib/module/manager/syncmanager/events/EventsSyncManager.js.map +1 -1
  415. package/lib/module/manager/syncmanager/events/SyncHttpClient.js +3 -7
  416. package/lib/module/manager/syncmanager/events/SyncHttpClient.js.map +1 -1
  417. package/lib/module/models/DispatchModels.js.map +1 -1
  418. package/lib/module/models/execTasks/ETConfig.js +3 -0
  419. package/lib/module/models/execTasks/ETConfig.js.map +1 -1
  420. package/lib/module/models/sdk.js.map +1 -1
  421. package/lib/module/native/signature/SignatureCapture.js +4 -4
  422. package/lib/module/network/GraphQLClient.js +14 -18
  423. package/lib/module/network/GraphQLClient.js.map +1 -1
  424. package/lib/module/network/NetworkClient.js +29 -2
  425. package/lib/module/network/NetworkClient.js.map +1 -1
  426. package/lib/module/network/NetworkUtils.js +1 -4
  427. package/lib/module/network/NetworkUtils.js.map +1 -1
  428. package/lib/module/network/Queries.js.map +1 -1
  429. package/lib/module/network/client.js +4 -4
  430. package/lib/module/network/client.js.map +1 -1
  431. package/lib/module/resources/Login.js +3 -3
  432. package/lib/module/resources/network.js +3 -3
  433. package/lib/module/styles/executionTasks/CommonStyles.js +12 -2
  434. package/lib/module/styles/executionTasks/CommonStyles.js.map +1 -1
  435. package/lib/module/ui/screens/CancellationScreen.js +5 -6
  436. package/lib/module/ui/screens/CancellationScreen.js.map +1 -1
  437. package/lib/module/ui/screens/CaptureInputScreen.js +6 -7
  438. package/lib/module/ui/screens/CaptureInputScreen.js.map +1 -1
  439. package/lib/module/ui/screens/CollectPaymentScreen.js +244 -0
  440. package/lib/module/ui/screens/CollectPaymentScreen.js.map +1 -0
  441. package/lib/module/ui/screens/CompleteObjectiveScreen.js +5 -6
  442. package/lib/module/ui/screens/CompleteObjectiveScreen.js.map +1 -1
  443. package/lib/module/ui/screens/DeliverScreen.js +6 -7
  444. package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
  445. package/lib/module/ui/screens/DisplayScreen.js +6 -7
  446. package/lib/module/ui/screens/DisplayScreen.js.map +1 -1
  447. package/lib/module/ui/screens/DoodleScreen.js +6 -7
  448. package/lib/module/ui/screens/DoodleScreen.js.map +1 -1
  449. package/lib/module/ui/screens/DropCashScreen.js +41 -10
  450. package/lib/module/ui/screens/DropCashScreen.js.map +1 -1
  451. package/lib/module/ui/screens/ETScreensIndex.js +2 -1
  452. package/lib/module/ui/screens/ETScreensIndex.js.map +1 -1
  453. package/lib/module/ui/screens/FormsScreen.js +6 -7
  454. package/lib/module/ui/screens/FormsScreen.js.map +1 -1
  455. package/lib/module/ui/screens/GeofenceScreen.js +6 -7
  456. package/lib/module/ui/screens/GeofenceScreen.js.map +1 -1
  457. package/lib/module/ui/screens/HttpRequestScreen.js +6 -7
  458. package/lib/module/ui/screens/HttpRequestScreen.js.map +1 -1
  459. package/lib/module/ui/screens/ImageCaptureScreen.js +6 -7
  460. package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
  461. package/lib/module/ui/screens/PaymentScreen.js +7 -7
  462. package/lib/module/ui/screens/PaymentScreen.js.map +1 -1
  463. package/lib/module/ui/screens/PickupScreen.js +6 -7
  464. package/lib/module/ui/screens/PickupScreen.js.map +1 -1
  465. package/lib/module/ui/screens/ScanScreen.js +6 -8
  466. package/lib/module/ui/screens/ScanScreen.js.map +1 -1
  467. package/lib/module/ui/screens/StartWorkFlowScreen.js +11 -7
  468. package/lib/module/ui/screens/StartWorkFlowScreen.js.map +1 -1
  469. package/lib/module/ui/screens/ValidateOTPScreen.js +6 -7
  470. package/lib/module/ui/screens/ValidateOTPScreen.js.map +1 -1
  471. package/lib/module/ui/screens/WithBaseDispatchScreen.js +1 -1
  472. package/lib/module/ui/uiConfig/RouteParams.js +2 -1
  473. package/lib/module/ui/uiConfig/RouteParams.js.map +1 -1
  474. package/lib/module/utils/ApiUtils.js +2 -0
  475. package/lib/module/utils/ApiUtils.js.map +1 -1
  476. package/lib/module/utils/ExecTaskUtils.js +31 -4
  477. package/lib/module/utils/ExecTaskUtils.js.map +1 -1
  478. package/lib/module/utils/Logger.js +5 -6
  479. package/lib/module/utils/Logger.js.map +1 -1
  480. package/lib/module/utils/NetworkUtil.js +3 -3
  481. package/lib/module/utils/NetworkUtil.js.map +1 -1
  482. package/lib/module/utils/SdkUtils.js.map +1 -1
  483. package/lib/module/utils/SyncManagerUtils.js +1 -1
  484. package/lib/module/utils/SyncManagerUtils.js.map +1 -1
  485. package/lib/module/utils/context/paymentContext.js +3 -0
  486. package/lib/module/utils/context/paymentContext.js.map +1 -0
  487. package/lib/module/utils/fcm/FCM.js +20 -2
  488. package/lib/module/utils/fcm/FCM.js.map +1 -1
  489. package/lib/module/utils/fcm/FcmUtils.js +10 -0
  490. package/lib/module/utils/fcm/FcmUtils.js.map +1 -1
  491. package/lib/module/utils/helper.js +5 -5
  492. package/lib/module/utils/helper.js.map +1 -1
  493. package/lib/module/utils/hooks/useModal.js +2 -1
  494. package/lib/module/utils/hooks/useModal.js.map +1 -1
  495. package/lib/module/utils/hooks/useTimer.js.map +1 -1
  496. package/lib/module/utils/storage.js +9 -15
  497. package/lib/module/utils/storage.js.map +1 -1
  498. package/lib/module/utils/utils.js +1 -2
  499. package/lib/module/utils/utils.js.map +1 -1
  500. package/lib/typescript/components/executiontasks/ExecutionTasksIndex.d.ts +4 -2
  501. package/lib/typescript/components/executiontasks/collectPayment/CollectPayment.d.ts +4 -0
  502. package/lib/typescript/components/executiontasks/collectPayment/CollectPaymentSchema.d.ts +155 -0
  503. package/lib/typescript/components/executiontasks/collectPayment/PaymentStyles.d.ts +92 -0
  504. package/lib/typescript/components/executiontasks/collectPayment/PaymentUtils.d.ts +16 -0
  505. package/lib/typescript/components/executiontasks/collectPayment/components/CompletePayment.d.ts +4 -0
  506. package/lib/typescript/components/executiontasks/collectPayment/components/InitPayment.d.ts +4 -0
  507. package/lib/typescript/components/executiontasks/collectPayment/components/PaymentContactDetails.d.ts +4 -0
  508. package/lib/typescript/components/executiontasks/collectPayment/components/ProcessPayment.d.ts +4 -0
  509. package/lib/typescript/components/executiontasks/scan/interfaces.d.ts +1 -1
  510. package/lib/typescript/components/executiontasks/scan/utils.d.ts +1 -0
  511. package/lib/typescript/components/widgets/ProgressDialog.d.ts +3 -0
  512. package/lib/typescript/components/widgets/SnackBarCustom.d.ts +3 -2
  513. package/lib/typescript/components/widgets/Timer.d.ts +7 -0
  514. package/lib/typescript/constants/apiConstants.d.ts +3 -0
  515. package/lib/typescript/constants/constants.d.ts +3 -0
  516. package/lib/typescript/events/EventDispatcher.d.ts +1 -0
  517. package/lib/typescript/events/constants.d.ts +1 -0
  518. package/lib/typescript/events/interface.d.ts +1 -1
  519. package/lib/typescript/icons/CircleMark.d.ts +3 -0
  520. package/lib/typescript/icons/FailedIcon.d.ts +4 -0
  521. package/lib/typescript/icons/FailureCloseIcon.d.ts +4 -0
  522. package/lib/typescript/icons/SuccessCompleteIcon.d.ts +4 -0
  523. package/lib/typescript/models/DispatchModels.d.ts +11 -0
  524. package/lib/typescript/models/execTasks/ETConfig.d.ts +6 -3
  525. package/lib/typescript/models/sdk.d.ts +12 -0
  526. package/lib/typescript/network/NetworkClient.d.ts +3 -1
  527. package/lib/typescript/styles/executionTasks/CommonStyles.d.ts +10 -1
  528. package/lib/typescript/ui/screens/CollectPaymentScreen.d.ts +3 -0
  529. package/lib/typescript/ui/screens/ETScreensIndex.d.ts +2 -1
  530. package/lib/typescript/ui/uiConfig/RouteParams.d.ts +1 -0
  531. package/lib/typescript/utils/ExecTaskUtils.d.ts +2 -0
  532. package/lib/typescript/utils/context/paymentContext.d.ts +7 -0
  533. package/package.json +6 -5
  534. package/src/components/dispatch/DispatchExecNavigator.tsx +14 -0
  535. package/src/components/executiontasks/ExecutionTasksIndex.ts +8 -0
  536. package/src/components/executiontasks/collectPayment/CollectPayment.tsx +60 -0
  537. package/src/components/executiontasks/collectPayment/CollectPaymentSchema.ts +182 -0
  538. package/src/components/executiontasks/collectPayment/PaymentStyles.ts +102 -0
  539. package/src/components/executiontasks/collectPayment/PaymentUtils.ts +200 -0
  540. package/src/components/executiontasks/collectPayment/components/CompletePayment.tsx +273 -0
  541. package/src/components/executiontasks/collectPayment/components/InitPayment.tsx +658 -0
  542. package/src/components/executiontasks/collectPayment/components/PaymentContactDetails.tsx +790 -0
  543. package/src/components/executiontasks/collectPayment/components/ProcessPayment.tsx +1352 -0
  544. package/src/components/executiontasks/deliver/SLDeliverET.tsx +132 -60
  545. package/src/components/executiontasks/dropCash/SLDropCash.tsx +35 -12
  546. package/src/components/executiontasks/payments/PaymentUtils.ts +10 -2
  547. package/src/components/executiontasks/pickup/SLPickupET.tsx +6 -3
  548. package/src/components/executiontasks/scan/ScanET.tsx +1 -1
  549. package/src/components/executiontasks/scan/interfaces.ts +1 -1
  550. package/src/components/executiontasks/scan/utils.ts +16 -8
  551. package/src/components/widgets/ModalWidget.tsx +26 -8
  552. package/src/components/widgets/ProgressDialog.tsx +23 -3
  553. package/src/components/widgets/SnackBarCustom.tsx +8 -1
  554. package/src/components/widgets/SplitTextInput.tsx +1 -1
  555. package/src/components/widgets/Timer.tsx +53 -0
  556. package/src/constants/apiConstants.ts +3 -0
  557. package/src/constants/constants.ts +3 -0
  558. package/src/events/EventDispatcher.ts +4 -0
  559. package/src/events/constants.ts +1 -0
  560. package/src/events/interface.ts +7 -1
  561. package/src/icons/CircleMark.tsx +18 -0
  562. package/src/icons/FailedIcon.tsx +80 -0
  563. package/src/icons/FailureCloseIcon.tsx +35 -0
  564. package/src/icons/SuccessCompleteIcon.tsx +35 -0
  565. package/src/manager/dispatch/DispatchStateContainer.tsx +6 -4
  566. package/src/manager/sdk/DispatchSDKManager.ts +1 -0
  567. package/src/models/DispatchModels.ts +12 -0
  568. package/src/models/execTasks/ETConfig.ts +3 -0
  569. package/src/models/sdk.ts +13 -0
  570. package/src/network/NetworkClient.ts +34 -1
  571. package/src/network/client.ts +1 -0
  572. package/src/styles/executionTasks/CommonStyles.ts +32 -8
  573. package/src/ui/screens/CollectPaymentScreen.tsx +315 -0
  574. package/src/ui/screens/DropCashScreen.tsx +49 -2
  575. package/src/ui/screens/ETScreensIndex.ts +2 -0
  576. package/src/ui/screens/PaymentScreen.tsx +1 -0
  577. package/src/ui/screens/StartWorkFlowScreen.tsx +15 -0
  578. package/src/ui/uiConfig/RouteParams.ts +8 -1
  579. package/src/utils/ApiUtils.ts +1 -0
  580. package/src/utils/ExecTaskUtils.ts +44 -3
  581. package/src/utils/SyncManagerUtils.ts +1 -0
  582. package/src/utils/context/paymentContext.ts +8 -0
  583. package/src/utils/fcm/FCM.ts +30 -0
  584. package/src/utils/fcm/FcmUtils.ts +53 -29
  585. package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
  586. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  587. package/android/.gradle/7.5/checksums/checksums.lock +0 -0
  588. package/android/.gradle/7.5/checksums/md5-checksums.bin +0 -0
  589. package/android/.gradle/7.5/checksums/sha1-checksums.bin +0 -0
  590. package/android/.gradle/7.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  591. package/android/.gradle/7.5/executionHistory/executionHistory.lock +0 -0
  592. package/android/.gradle/7.5/fileChanges/last-build.bin +0 -0
  593. package/android/.gradle/7.5/fileHashes/fileHashes.bin +0 -0
  594. package/android/.gradle/7.5/fileHashes/fileHashes.lock +0 -0
  595. package/android/.gradle/7.5/gc.properties +0 -0
  596. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  597. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  598. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  599. package/android/.gradle/checksums/checksums.lock +0 -0
  600. package/android/.gradle/config.properties +0 -2
  601. package/android/.gradle/configuration-cache/gc.properties +0 -0
  602. package/android/.gradle/vcs-1/gc.properties +0 -0
  603. package/android/.idea/compiler.xml +0 -6
  604. package/android/.idea/gradle.xml +0 -18
  605. package/android/.idea/kotlinc.xml +0 -6
  606. package/android/.idea/migrations.xml +0 -10
  607. package/android/.idea/misc.xml +0 -10
  608. package/android/.idea/other.xml +0 -263
  609. package/android/.idea/vcs.xml +0 -6
  610. package/lib/commonjs/icons/circleMark.svg +0 -3
  611. package/lib/module/icons/circleMark.svg +0 -3
  612. package/src/icons/circleMark.svg +0 -3
  613. /package/{android/.gradle/6.8/gc.properties → lib/typescript/components/executiontasks/collectPayment/components/CustomContactsModal.d.ts} +0 -0
  614. /package/{android/.gradle/7.5/dependencies-accessors/gc.properties → src/components/executiontasks/collectPayment/components/CustomContactsModal.tsx} +0 -0
@@ -0,0 +1,1352 @@
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ /* eslint-disable react-native/no-inline-styles */
3
+ import {
4
+ BackHandler,
5
+ Image,
6
+ KeyboardAvoidingView,
7
+ Platform,
8
+ ScrollView,
9
+ StyleSheet,
10
+ Text,
11
+ TextStyle,
12
+ TouchableOpacity,
13
+ View,
14
+ ViewStyle,
15
+ } from 'react-native';
16
+ import React, {
17
+ useState,
18
+ useLayoutEffect,
19
+ useEffect,
20
+ useContext,
21
+ useCallback,
22
+ useRef,
23
+ } from 'react';
24
+ import {
25
+ getBaseETResponse,
26
+ onClickEvent,
27
+ } from '../../../../utils/ExecTaskUtils';
28
+ import { getEventCodeByET } from '../../../../manager/dispatchCodes/EventCodeContainer';
29
+ import {
30
+ EntityCode,
31
+ ExecutionTaskID,
32
+ } from '../../../../models/execTasks/ETConfig';
33
+ import { PaymentStyles } from '../PaymentStyles';
34
+ import {
35
+ CommonStyles,
36
+ Fonts,
37
+ } from '../../../../styles/executionTasks/CommonStyles';
38
+ import {
39
+ getPaymentDataMO,
40
+ getPaymentLink,
41
+ getPaymentType,
42
+ removeSharedPrefPaymentData,
43
+ setSharedPrefPaymentData,
44
+ setSharedPrefPaymentSelection,
45
+ } from '../PaymentUtils';
46
+ import {
47
+ ActivityIndicator,
48
+ Button,
49
+ Modal,
50
+ Portal,
51
+ Provider,
52
+ } from 'react-native-paper';
53
+ import Icon from 'react-native-vector-icons/MaterialIcons';
54
+ import { PAYMENT_NOTIFICATION } from '../../../../constants/constants';
55
+ import { useFocusEffect } from '@react-navigation/native';
56
+ import ProgressDialog from '../../../../components/widgets/ProgressDialog';
57
+ import MaterialIcon from 'react-native-vector-icons/MaterialCommunityIcons';
58
+ import ModalWidget from '../../../../components/widgets/ModalWidget';
59
+ import FailedIcon from '../../../../icons/FailedIcon';
60
+ import EventListener from '../../../../events';
61
+ import { RouteParams } from '../../../../ui/uiConfig/RouteParams';
62
+ import {
63
+ CollectPaymentInput,
64
+ PaymentStatusResponse,
65
+ QrResponse,
66
+ notificationPaymentStatus,
67
+ ProcessPaymentInput,
68
+ sharedPrefPaymentDataInterface,
69
+ QR_REQUEST_BODY,
70
+ PaymentEventDataInterface,
71
+ STATUS,
72
+ PAYMENT_SCREEN,
73
+ SUB_STATUS,
74
+ TRANSACTION_TYPE,
75
+ } from '../CollectPaymentSchema';
76
+ import SnackBarCustom, {
77
+ SnackBarType,
78
+ } from '../../../../components/widgets/SnackBarCustom';
79
+ import Storage from '../../../../utils/storage';
80
+ import { PaymentContext } from '../../../../utils/context/paymentContext';
81
+ import { ENDPOINTS } from '../../../../constants/apiConstants';
82
+ import { Timer } from '../../../../components/widgets/Timer';
83
+ import { fireEventWithScreenName } from '../../../../analytics/sentry/SentryAnalyticsUtils';
84
+ import {
85
+ ScreenNameSdkConstants,
86
+ SentryEventNameSdkConstants,
87
+ SeverityLevelValue,
88
+ } from '../../../../analytics/sentry/SentrySdkConstants';
89
+ import Logger, { LOG_TYPE } from '../../../../utils/Logger';
90
+
91
+ const styles = PaymentStyles;
92
+ let storage = Storage.getInstance();
93
+
94
+ const ProcessPayment = (props: CollectPaymentInput & ProcessPaymentInput) => {
95
+ const paymentConfigContext = useContext(PaymentContext);
96
+ const [showGoBackModal, setGoBackModal] = useState(false);
97
+ const [showGoBackDisabledModal, setGoBackDisabledModal] = useState(false);
98
+ const [isRetryEnabled, setIsRetryEnabled] = useState(false);
99
+ const [backDisable, setBackDisable] = useState(true);
100
+
101
+ const timerRef: any = useRef();
102
+ const paymentRefId =
103
+ props.route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;
104
+
105
+ const useTimer = (timerDuration: any, onTimerEnd?: () => void) => {
106
+ const [counter, setCounter] = useState(timerDuration);
107
+ const [hasTimerEnded, setHasTimerEnded] = useState(false);
108
+
109
+ useEffect(() => {
110
+ if (hasTimerEnded) return; // Stop if the timer has already ended
111
+
112
+ const interval = setInterval(() => {
113
+ if (counter > 0) {
114
+ setCounter((prev: any) => prev - 1);
115
+ } else if (counter === 0 && !hasTimerEnded) {
116
+ setBackDisable(false);
117
+ setHasTimerEnded(true); // Mark the timer as ended
118
+ onTimerEnd && onTimerEnd(); // Call the callback if provided
119
+ clearInterval(interval);
120
+ }
121
+ }, 1000);
122
+
123
+ return () => clearInterval(interval);
124
+ }, [counter, hasTimerEnded]);
125
+
126
+ // Function to reset the timer
127
+ const resetTimer = () => {
128
+ setCounter(timerDuration);
129
+ setHasTimerEnded(false);
130
+ setBackDisable(true);
131
+ };
132
+
133
+ return { counter, resetTimer };
134
+ };
135
+
136
+ const { counter } = useTimer(
137
+ paymentConfigContext?.sdkConfig?.etConfig?.goBackDisableTimer,
138
+ () => {
139
+ console.log('Timer ended!');
140
+ setBackDisable(false);
141
+ }
142
+ );
143
+
144
+ useEffect(() => {
145
+ EventListener.on(
146
+ PAYMENT_NOTIFICATION,
147
+ async (data: notificationPaymentStatus) => {
148
+ console.log('ProcessPayment:', JSON.stringify(data));
149
+
150
+ let sharedPrefPaymentData: sharedPrefPaymentDataInterface | null = null;
151
+ if (
152
+ data &&
153
+ (data.status === STATUS.SUCCESS || data.status === STATUS.FAILED)
154
+ ) {
155
+ sharedPrefPaymentData = await getPaymentDataMO(
156
+ props.mergedObjectiveId,
157
+ data.refId,
158
+ storage
159
+ );
160
+ }
161
+ if (sharedPrefPaymentData && data && data.status === STATUS.SUCCESS) {
162
+ props.next({
163
+ paymentMode:
164
+ sharedPrefPaymentData?.paymentMode || props.paymentMode,
165
+ collectedAmount: {
166
+ value:
167
+ sharedPrefPaymentData?.amount.value || props.expectedAmount,
168
+ currencyCode:
169
+ sharedPrefPaymentData?.amount.currencyCode ||
170
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
171
+ '',
172
+ },
173
+ refId: data.refId,
174
+ screen: PAYMENT_SCREEN.COMPLETE,
175
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
176
+ ...(await getBaseETResponse(
177
+ EntityCode.COLLECT_PAYMENT_ET,
178
+ true,
179
+ getEventCodeByET(
180
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
181
+ true,
182
+ props.applicableReasons?.success
183
+ ),
184
+ '',
185
+ props.mergedObjectiveId,
186
+ ExecutionTaskID.COLLECT_PAYMENT_ET
187
+ )),
188
+ });
189
+ } else if (
190
+ sharedPrefPaymentData &&
191
+ data &&
192
+ data.status === STATUS.FAILED
193
+ ) {
194
+ const _sharedPrefPaymentData = JSON.parse(
195
+ JSON.stringify(sharedPrefPaymentData)
196
+ );
197
+ /* await storage.removeSharedItems(
198
+ props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)
199
+ ); */
200
+ await removeSharedPrefPaymentData(data.refId, storage);
201
+ props.next({
202
+ paymentMode:
203
+ _sharedPrefPaymentData?.paymentMode || props.paymentMode,
204
+ collectedAmount: {
205
+ value:
206
+ _sharedPrefPaymentData?.amount.value || props.expectedAmount,
207
+ currencyCode:
208
+ _sharedPrefPaymentData?.amount.currencyCode ||
209
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
210
+ '',
211
+ },
212
+ refId: data.refId,
213
+ screen: PAYMENT_SCREEN.COMPLETE,
214
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
215
+ ...(await getBaseETResponse(
216
+ EntityCode.COLLECT_PAYMENT_ET,
217
+ false,
218
+ getEventCodeByET(
219
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
220
+ false,
221
+ props.applicableReasons?.failure
222
+ ),
223
+ '',
224
+ props.mergedObjectiveId,
225
+ ExecutionTaskID.COLLECT_PAYMENT_ET
226
+ )),
227
+ });
228
+ }
229
+ }
230
+ );
231
+ return () => {
232
+ EventListener.remove(PAYMENT_NOTIFICATION);
233
+ };
234
+ }, []);
235
+
236
+ const onNext = async () => {
237
+ props.next({
238
+ paymentMode: props.paymentMode,
239
+ refId: paymentRefId,
240
+ ...(await getBaseETResponse(
241
+ EntityCode.COLLECT_PAYMENT_ET,
242
+ true,
243
+ getEventCodeByET(
244
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
245
+ true,
246
+ props.applicableReasons?.success
247
+ ),
248
+ '',
249
+ props.mergedObjectiveId,
250
+ ExecutionTaskID.COLLECT_PAYMENT_ET
251
+ )),
252
+ screen: PAYMENT_SCREEN.INIT,
253
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
254
+ collectedAmount: {
255
+ value: props.expectedAmount,
256
+ currencyCode:
257
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
258
+ },
259
+ });
260
+ };
261
+
262
+ // Handle back-button click
263
+ useFocusEffect(
264
+ useCallback(() => {
265
+ const onBackPress = () => {
266
+ // isRetryEnabled
267
+ // ? onNext()
268
+ // : backDisable
269
+ // ? setGoBackDisabledModal(true)
270
+ // : setGoBackModal(true);
271
+ isRetryEnabled ? onNext() : setGoBackModal(true);
272
+ return true;
273
+ };
274
+ BackHandler.addEventListener('hardwareBackPress', onBackPress);
275
+ return () =>
276
+ BackHandler.removeEventListener('hardwareBackPress', onBackPress);
277
+ }, [isRetryEnabled, backDisable])
278
+ );
279
+
280
+ useLayoutEffect(() => {
281
+ props.navigation.setOptions({
282
+ headerShown: true,
283
+ title:
284
+ props.paymentMode === 'QR_CODE'
285
+ ? 'QR Code'
286
+ : props.paymentMode === 'PAYMENT_LINK'
287
+ ? 'Payment Confirmation'
288
+ : props.title,
289
+ headerLeft: () => {
290
+ return (
291
+ <Icon
292
+ onPress={() => {
293
+ // isRetryEnabled
294
+ // ? onNext()
295
+ // : backDisable
296
+ // ? setGoBackDisabledModal(true)
297
+ // : setGoBackModal(true);
298
+ isRetryEnabled ? onNext() : setGoBackModal(true);
299
+ }}
300
+ name="arrow-back"
301
+ color={'black'}
302
+ size={25}
303
+ style={{
304
+ paddingRight: 15,
305
+ paddingTop: 5,
306
+ }}
307
+ />
308
+ );
309
+ },
310
+ });
311
+ }, [backDisable, props.navigation, props.title, isRetryEnabled]);
312
+
313
+ return (
314
+ <Provider>
315
+ {/* <ModalWidget
316
+ modalStyle={{ paddingVertical: 24 }}
317
+ dismissable={false}
318
+ buttonStyle={{
319
+ alignSelf: 'center',
320
+ marginTop: 10,
321
+ }}
322
+ title={{ label: 'Payment Completed?', styles: { display: 'none' } }}
323
+ subTitle={{
324
+ label:
325
+ 'Are you sure you want to go back and change the payment method? ',
326
+ styles: { textAlign: 'center' },
327
+ }}
328
+ showModal={showGoBackModal}
329
+ primaryButton={{
330
+ disabled: backDisable,
331
+ label: 'Yes, Wait for Completion',
332
+ onPress: () => {},
333
+ styles: {
334
+ display: 'none',
335
+ },
336
+ labelStyles: {
337
+ display: 'none',
338
+ },
339
+ }}
340
+ secondaryButton={{
341
+ label: 'No, Change Payment Mode',
342
+ onPress: () => {
343
+ onNext();
344
+ },
345
+ styles: { display: 'none' },
346
+ labelStyles: {
347
+ display: 'none',
348
+ },
349
+ }}
350
+ // renderAdditionalHeader={() => <FailedIcon />}
351
+ /> */}
352
+ <Portal>
353
+ <Modal
354
+ visible={showGoBackModal}
355
+ dismissable={false}
356
+ contentContainerStyle={[modalStyles.modalContent]}
357
+ >
358
+ <View
359
+ style={[
360
+ modalStyles.modalView,
361
+ { paddingVertical: 24, paddingHorizontal: 16 },
362
+ ]}
363
+ >
364
+ <View>
365
+ <Text style={[modalStyles.subTitleText, { textAlign: 'center' }]}>
366
+ Are you sure you want to go back and change the payment method?
367
+ </Text>
368
+ </View>
369
+
370
+ <View style={{ alignSelf: 'center', marginTop: 10 }}>
371
+ <>
372
+ <TouchableOpacity
373
+ style={[
374
+ CommonStyles.nextButton,
375
+ {
376
+ height: 35,
377
+ borderRadius: 5,
378
+ width: 240,
379
+ marginBottom: 16,
380
+ },
381
+ counter !== 0 && {
382
+ backgroundColor: '#E0E3EB',
383
+ borderColor: '#F9F9FB',
384
+ },
385
+ ]}
386
+ onPress={() => {
387
+ onNext();
388
+ fireEventWithScreenName({
389
+ severityLevel: SeverityLevelValue.LOG,
390
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
391
+ screenName: ScreenNameSdkConstants.MODEL_WIDGET_SCREEN,
392
+ cta: 'Yes',
393
+ });
394
+ }}
395
+ disabled={backDisable}
396
+ >
397
+ <Text
398
+ style={[
399
+ CommonStyles.nextButtonLabel,
400
+ {
401
+ textAlignVertical: 'center',
402
+ paddingVertical: 6,
403
+ paddingHorizontal: 20,
404
+ },
405
+ counter !== 0 && {
406
+ color: '#A3AAC2',
407
+ },
408
+ ]}
409
+ >
410
+ {`Yes ${counter > 0 ? '(' + counter + ' sec)' : ''}`}
411
+ </Text>
412
+ </TouchableOpacity>
413
+ <TouchableOpacity
414
+ style={[
415
+ CommonStyles.cancelButton,
416
+ { height: 35, borderRadius: 5, width: 240 },
417
+ ]}
418
+ onPress={() => {
419
+ setGoBackModal(false);
420
+ fireEventWithScreenName({
421
+ severityLevel: SeverityLevelValue.LOG,
422
+ eventName: SentryEventNameSdkConstants.BUTTON_CLICKED,
423
+ screenName: ScreenNameSdkConstants.MODEL_WIDGET_SCREEN,
424
+ cta: 'Cancel',
425
+ });
426
+ }}
427
+ disabled={false}
428
+ >
429
+ <Text
430
+ style={[
431
+ CommonStyles.cancelButtonLabel,
432
+ {
433
+ textAlignVertical: 'center',
434
+ paddingVertical: 6,
435
+ paddingHorizontal: 20,
436
+ color: '#3D445C',
437
+ },
438
+ ]}
439
+ >
440
+ {'Cancel'}
441
+ </Text>
442
+ </TouchableOpacity>
443
+ </>
444
+ </View>
445
+ </View>
446
+ </Modal>
447
+ </Portal>
448
+ <ModalWidget
449
+ modalStyle={{ padding: 25 }}
450
+ dismissable={false}
451
+ buttonStyle={{
452
+ alignSelf: 'center',
453
+ marginTop: 10,
454
+ }}
455
+ title={{
456
+ label: '',
457
+ styles: { textAlign: 'center', display: 'none' },
458
+ }}
459
+ subTitle={{
460
+ // label:
461
+ // 'Payment is in progress, please wait until the payment is completed or timed out.',
462
+ label:
463
+ 'Please wait for the timer to complete before navigating back.',
464
+ styles: { textAlign: 'center' },
465
+ }}
466
+ showModal={showGoBackDisabledModal}
467
+ primaryButton={{
468
+ label: 'OK',
469
+ onPress: () => {
470
+ setGoBackDisabledModal(false);
471
+ },
472
+ styles: {
473
+ height: 40,
474
+ borderRadius: 5,
475
+ width: 240,
476
+ marginBottom: 10,
477
+ marginTop: 24,
478
+ backgroundColor: 'white',
479
+ borderColor: '#5B80F7',
480
+ borderWidth: 1,
481
+ },
482
+ labelStyles: {
483
+ textAlignVertical: 'center',
484
+ paddingVertical: 8,
485
+ paddingHorizontal: 20,
486
+ fontSize: 14,
487
+ lineHeight: 20,
488
+ fontFamily: 'IBM Plex Sans',
489
+ color: '#5B80F7',
490
+ fontWeight: '700',
491
+ },
492
+ }}
493
+ secondaryButton={{
494
+ label: '',
495
+ onPress: () => {},
496
+ styles: { height: 35, borderRadius: 5, width: 240, display: 'none' },
497
+ labelStyles: {
498
+ textAlignVertical: 'center',
499
+ },
500
+ }}
501
+ />
502
+ <KeyboardAvoidingView style={CommonStyles.mainContainer}>
503
+ {props.paymentMode === 'QR_CODE' ? (
504
+ <RenderQR
505
+ {...props}
506
+ setBackDisable={setBackDisable}
507
+ showGoBackModal={showGoBackModal}
508
+ setIsRetryEnabled={(isEnabled) => {
509
+ setIsRetryEnabled(isEnabled);
510
+ }}
511
+ />
512
+ ) : (
513
+ <PaymentLink setBackDisable={setBackDisable} {...props} />
514
+ )}
515
+ </KeyboardAvoidingView>
516
+ </Provider>
517
+ );
518
+ };
519
+ export default ProcessPayment;
520
+
521
+ const RenderQR = (
522
+ props: CollectPaymentInput &
523
+ ProcessPaymentInput & {
524
+ setBackDisable: (data: boolean) => void;
525
+ showGoBackModal: boolean;
526
+ setIsRetryEnabled: (showRetryModal: boolean) => void;
527
+ }
528
+ ) => {
529
+ const paymentConfigContext = useContext(PaymentContext);
530
+ const [qrData, setQrData] = useState<QrResponse | null>(null);
531
+ const [showStatusModal, setStatusModal] = useState(false);
532
+ const [showRetryModal, setRetryModal] = useState(false);
533
+ const [disableStatusBtn, setDisableStatusBtn] = useState(true);
534
+ const [fetchQR, setFetchQR] = useState(true);
535
+ const timerRef: any = useRef();
536
+ const statusTimerRef: any = useRef();
537
+ const paymentConfig =
538
+ props.route.params[RouteParams.ROOT_META_DATA].paymentConfig;
539
+ const paymentRefId = paymentConfig?.paymentRefId;
540
+
541
+ useEffect(() => {
542
+ props.setIsRetryEnabled(showRetryModal);
543
+ }, [showRetryModal]);
544
+
545
+ const sendClickEvent = (event: 'QR_CODE' | 'CHECK_STATUS') => {
546
+ onClickEvent(
547
+ event,
548
+ props.route.params[RouteParams.NEXT_STATES],
549
+ props.route.params[RouteParams.ROOT_META_DATA].customEventsData,
550
+ {
551
+ refId: paymentRefId,
552
+ money: {
553
+ amount: props.expectedAmount,
554
+ currency:
555
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
556
+ },
557
+ }
558
+ );
559
+ };
560
+
561
+ const fetchQrCode = async () => {
562
+ sendClickEvent('QR_CODE');
563
+ setFetchQR(true);
564
+ let qrParams: QR_REQUEST_BODY = {
565
+ refId: paymentRefId,
566
+ appAbbr: paymentConfigContext?.sdkConfig.etConfig.appAbbr || '',
567
+ money: {
568
+ amount: props.expectedAmount,
569
+ currency: paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
570
+ },
571
+ };
572
+ if (paymentConfig?.userInfo) {
573
+ qrParams.userInfo = paymentConfig.userInfo;
574
+ }
575
+ try {
576
+ const paymentResp =
577
+ await paymentConfigContext?.networkInstance.requestPost(
578
+ ENDPOINTS.GENERATE_QR,
579
+ qrParams,
580
+ {
581
+ requestId: 'payment:' + paymentRefId,
582
+ }
583
+ );
584
+ // const paymentResp = {
585
+ // data: {
586
+ // data: {
587
+ // qrCode:
588
+ // 'data:image/png;base64,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',
589
+ // },
590
+ // },
591
+ // };
592
+ setFetchQR(false);
593
+ const _qrData: QrResponse = paymentResp?.data;
594
+ console.log('_qrData: ', _qrData);
595
+
596
+ if (_qrData.data.qrCode) {
597
+ setQrData(_qrData);
598
+ setRetryModal(false);
599
+ await setSharedPrefPaymentData(
600
+ paymentRefId,
601
+ // props.mergedObjectiveId,
602
+ {
603
+ paymentMode: props.paymentMode,
604
+ amount: {
605
+ value: props.expectedAmount,
606
+ currencyCode:
607
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
608
+ },
609
+ // refId: paymentRefId,
610
+ moIds: props.mergedObjectiveId,
611
+ },
612
+ storage
613
+ );
614
+ await setSharedPrefPaymentSelection(paymentRefId, 'QR_CODE', storage);
615
+ } else if (_qrData.data.status === STATUS.SUCCESS) {
616
+ props.next({
617
+ paymentMode: props.paymentMode,
618
+ collectedAmount: {
619
+ value: props.expectedAmount,
620
+ currencyCode:
621
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
622
+ },
623
+ refId: paymentRefId,
624
+ screen: PAYMENT_SCREEN.COMPLETE,
625
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
626
+ ...(await getBaseETResponse(
627
+ EntityCode.COLLECT_PAYMENT_ET,
628
+ true,
629
+ getEventCodeByET(
630
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
631
+ true,
632
+ props.applicableReasons?.success
633
+ ),
634
+ '',
635
+ props.mergedObjectiveId,
636
+ ExecutionTaskID.COLLECT_PAYMENT_ET
637
+ )),
638
+ });
639
+ } else {
640
+ setRetryModal(true);
641
+ }
642
+ } catch (err: any) {
643
+ Logger.getInstance().logEvent(
644
+ '~ fetchQrCode triggered ',
645
+ JSON.stringify(err?.response?.data || err),
646
+ LOG_TYPE.SDK_ERROR
647
+ );
648
+ console.error('QR Gen: ', JSON.stringify(err?.response?.data || err));
649
+ setFetchQR(false);
650
+ setRetryModal(true);
651
+ }
652
+ };
653
+
654
+ useEffect(() => {
655
+ fetchQrCode();
656
+ }, []);
657
+
658
+ const checkStatus = async () => {
659
+ sendClickEvent('CHECK_STATUS');
660
+ setStatusModal(true);
661
+ try {
662
+ const paymentResp =
663
+ await paymentConfigContext?.networkInstance.requestGet(
664
+ ENDPOINTS.PAYMENT_STATUS + paymentRefId,
665
+ {
666
+ requestId: 'payment:' + paymentRefId,
667
+ },
668
+ {
669
+ appAbbr: paymentConfigContext.sdkConfig.etConfig.appAbbr,
670
+ latest: true,
671
+ }
672
+ );
673
+ const _ps: PaymentStatusResponse = paymentResp?.data;
674
+
675
+ console.log('_ps qr: ', _ps);
676
+
677
+ if (
678
+ _ps.data.meta?.totalCount &&
679
+ _ps?.data.transactions?.length &&
680
+ _ps?.data.transactions[0].status === STATUS.SUCCESS
681
+ ) {
682
+ props.next({
683
+ paymentMode:
684
+ getPaymentType(_ps?.data.transactions[0].txnType) ||
685
+ props.paymentMode,
686
+ collectedAmount: {
687
+ value:
688
+ _ps?.data.transactions[0].money.amount || props.expectedAmount,
689
+ currencyCode:
690
+ _ps?.data.transactions[0].money.currency ||
691
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
692
+ '',
693
+ },
694
+ refId: paymentRefId,
695
+ screen: PAYMENT_SCREEN.COMPLETE,
696
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
697
+ ...(await getBaseETResponse(
698
+ EntityCode.COLLECT_PAYMENT_ET,
699
+ true,
700
+ getEventCodeByET(
701
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
702
+ true,
703
+ props.applicableReasons?.success
704
+ ),
705
+ '',
706
+ props.mergedObjectiveId,
707
+ ExecutionTaskID.COLLECT_PAYMENT_ET
708
+ )),
709
+ });
710
+ } else if (
711
+ _ps.data.meta?.totalCount &&
712
+ _ps?.data.transactions?.length &&
713
+ _ps?.data.transactions[0].status === STATUS.FAILED
714
+ ) {
715
+ /* await storage.removeSharedItems(
716
+ props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)
717
+ ); */
718
+ await removeSharedPrefPaymentData(paymentRefId, storage);
719
+ props.next({
720
+ paymentMode:
721
+ getPaymentType(_ps?.data.transactions[0].txnType) ||
722
+ props.paymentMode,
723
+ collectedAmount: {
724
+ value:
725
+ _ps?.data.transactions[0].money.amount || props.expectedAmount,
726
+ currencyCode:
727
+ _ps?.data.transactions[0].money.currency ||
728
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
729
+ '',
730
+ },
731
+ refId: paymentRefId,
732
+ screen: PAYMENT_SCREEN.COMPLETE,
733
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
734
+ ...(await getBaseETResponse(
735
+ EntityCode.COLLECT_PAYMENT_ET,
736
+ false,
737
+ getEventCodeByET(
738
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
739
+ false,
740
+ props.applicableReasons?.failure
741
+ ),
742
+ '',
743
+ props.mergedObjectiveId,
744
+ ExecutionTaskID.COLLECT_PAYMENT_ET
745
+ )),
746
+ });
747
+ }
748
+ setStatusModal(false);
749
+ setDisableStatusBtn(true);
750
+ } catch (err: any) {
751
+ Logger.getInstance().logEvent(
752
+ '~ checkStatus triggered ',
753
+ JSON.stringify(err?.response?.data || err),
754
+ LOG_TYPE.SDK_ERROR
755
+ );
756
+ console.error('Get Status QR: ', err?.response?.data || err);
757
+ setStatusModal(false);
758
+ }
759
+ };
760
+
761
+ return (
762
+ <>
763
+ <ProgressDialog
764
+ customModalContentStyle={{ paddingVertical: 40 }}
765
+ visible={showStatusModal}
766
+ label="Please wait while we are checking the status"
767
+ labelStyle={{
768
+ fontWeight: '400',
769
+ marginTop: 16,
770
+ fontFamily:
771
+ Platform.OS === 'android'
772
+ ? Fonts.IBMPlexSans_400Regular
773
+ : 'IBMPlexSans-Regular',
774
+ color: '#525B7A',
775
+ }}
776
+ />
777
+ {/* {!props.showGoBackModal ? ( */}
778
+ {fetchQR ? (
779
+ <ProgressDialog
780
+ visible={qrData ? false : true}
781
+ customModalContentStyle={{ paddingVertical: 40 }}
782
+ label="Generating QR Code"
783
+ labelStyle={{
784
+ fontWeight: '400',
785
+ marginTop: 16,
786
+ fontFamily:
787
+ Platform.OS === 'android'
788
+ ? Fonts.IBMPlexSans_400Regular
789
+ : 'IBMPlexSans-Regular',
790
+ color: '#3D445C',
791
+ }}
792
+ />
793
+ ) : showRetryModal ? (
794
+ <View
795
+ style={[
796
+ CommonStyles.mainContainer,
797
+ { justifyContent: 'center', alignItems: 'center' },
798
+ ]}
799
+ >
800
+ <View style={styles.flexCenter}>
801
+ <FailedIcon />
802
+ <Text style={[CommonStyles.titleText, { marginTop: 20 }]}>
803
+ QR Code Fetching Failed!
804
+ </Text>
805
+ <Text
806
+ style={[
807
+ CommonStyles.subText,
808
+ { marginHorizontal: 20, color: '#525B7A' },
809
+ ]}
810
+ >
811
+ Due to a technical issue, we are unable to fetch the QR Code
812
+ </Text>
813
+ <Button
814
+ style={[
815
+ CommonStyles.nextButton,
816
+ {
817
+ marginEnd: 5,
818
+ marginTop: 5,
819
+ paddingBottom: 3,
820
+ },
821
+ ]}
822
+ labelStyle={{
823
+ ...CommonStyles.nextButtonLabel,
824
+ textTransform: 'capitalize',
825
+ fontSize: 14,
826
+ }}
827
+ mode={'outlined'}
828
+ onPress={fetchQrCode}
829
+ >
830
+ Retry
831
+ </Button>
832
+ </View>
833
+ </View>
834
+ ) : (
835
+ <>
836
+ <ScrollView style={CommonStyles.mainContainer}>
837
+ <View style={CommonStyles.mainContainer}>
838
+ <View style={{ alignItems: 'center', paddingTop: 25 }}>
839
+ <Text style={[CommonStyles.titleText, { fontSize: 18 }]}>
840
+ Scan to pay
841
+ </Text>
842
+ <Text
843
+ style={[
844
+ styles.textStyle1,
845
+ { color: '#3D445C', marginTop: 12 },
846
+ ]}
847
+ >
848
+ Total payable amount
849
+ </Text>
850
+ <Text
851
+ style={[
852
+ CommonStyles.titleText,
853
+ {
854
+ paddingBottom: 20,
855
+ fontWeight: 'bold',
856
+ },
857
+ ]}
858
+ >
859
+ {paymentConfigContext?.sdkConfig?.etConfig?.currencyCode +
860
+ ' ' +
861
+ props.expectedAmount}
862
+ </Text>
863
+ <Image
864
+ style={{
865
+ width: 300,
866
+ height: 300,
867
+ backgroundColor: 'transparent',
868
+ }}
869
+ source={{
870
+ uri: qrData?.data.qrCode,
871
+ }}
872
+ />
873
+ <View style={{ marginTop: 24 }}>
874
+ <ActivityIndicator
875
+ size="small"
876
+ color="rgba(107, 142, 255, 1)"
877
+ style={{ marginBottom: 10 }}
878
+ />
879
+ {/* <Timer
880
+ onTimerEnd={() => props.setBackDisable(false)}
881
+ ref={timerRef}
882
+ timer={
883
+ paymentConfigContext?.sdkConfig?.etConfig
884
+ ?.goBackDisableTimer
885
+ }
886
+ /> */}
887
+ <Text style={CommonStyles.subText}>
888
+ Waiting for the payment confirmation
889
+ </Text>
890
+ </View>
891
+ </View>
892
+ </View>
893
+ </ScrollView>
894
+ <View style={{ padding: 10, borderWidth: 1, borderColor: '#E0E3EB' }}>
895
+ <Text style={CommonStyles.subText}>
896
+ Customer payment successful?
897
+ </Text>
898
+ <View
899
+ style={{
900
+ flexDirection: 'row',
901
+ marginStart: 10,
902
+ marginEnd: 10,
903
+ }}
904
+ >
905
+ <Button
906
+ style={[
907
+ CommonStyles.nextButton,
908
+ {
909
+ marginEnd: 5,
910
+ flex: 1,
911
+ },
912
+ disableStatusBtn
913
+ ? {
914
+ backgroundColor: '#E0E3EB',
915
+ }
916
+ : {},
917
+ ]}
918
+ labelStyle={[
919
+ CommonStyles.nextButtonLabel,
920
+ { textTransform: 'capitalize' },
921
+ disableStatusBtn ? { color: '#A3AAC2' } : {},
922
+ ]}
923
+ mode={'outlined'}
924
+ onPress={checkStatus}
925
+ disabled={disableStatusBtn}
926
+ >
927
+ {disableStatusBtn ? (
928
+ <>
929
+ {'Check Status ('}
930
+ <Timer
931
+ ref={statusTimerRef}
932
+ singleValue={true}
933
+ timer={5}
934
+ onTimerEnd={() => setDisableStatusBtn(false)}
935
+ />
936
+ {' sec)'}
937
+ </>
938
+ ) : (
939
+ 'Check Status'
940
+ )}
941
+ </Button>
942
+ </View>
943
+ </View>
944
+ </>
945
+ )}
946
+ {/* ) : null} */}
947
+ </>
948
+ );
949
+ };
950
+
951
+ const PaymentLink = (
952
+ props: CollectPaymentInput &
953
+ ProcessPaymentInput & {
954
+ setBackDisable: (data: boolean) => void;
955
+ }
956
+ ) => {
957
+ const paymentConfigContext = useContext(PaymentContext);
958
+ const [showStatusModal, setStatusModal] = useState(false);
959
+ const [disableStatusBtn, setDisableStatusBtn] = useState(true);
960
+ const [snackBar, setSnackBar] = useState({
961
+ show: false,
962
+ type: SnackBarType.SUCCESS,
963
+ message: '',
964
+ });
965
+ const [isTimerActive, setIsTimerActive] = useState(true);
966
+ const timerRef: any = useRef();
967
+ const statusTimerRef: any = useRef();
968
+
969
+ const paymentRefId =
970
+ props.route.params[RouteParams.ROOT_META_DATA].paymentConfig?.paymentRefId;
971
+
972
+ const sendClickEvent = (
973
+ event: 'SEND_LINK' | 'RESEND_LINK' | 'CHECK_STATUS'
974
+ ) => {
975
+ let param: PaymentEventDataInterface = {
976
+ refId: paymentRefId,
977
+ money: {
978
+ amount: props.expectedAmount,
979
+ currency: paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
980
+ },
981
+ contactDetails: props.contactDetails,
982
+ paymentLink: getPaymentLink(
983
+ paymentConfigContext?.sdkConfig.env || 'DEV',
984
+ paymentConfigContext?.sdkConfig.tenantID || '',
985
+ paymentConfigContext?.sdkConfig.etConfig.appAbbr || '',
986
+ paymentRefId
987
+ ),
988
+ };
989
+ if (event === 'CHECK_STATUS') {
990
+ delete param.contactDetails;
991
+ delete param.paymentLink;
992
+ }
993
+ onClickEvent(
994
+ event,
995
+ props.route.params[RouteParams.NEXT_STATES],
996
+ props.route.params[RouteParams.ROOT_META_DATA].customEventsData,
997
+ param
998
+ );
999
+ };
1000
+
1001
+ const sendPaymentLink = (event: 'SEND_LINK' | 'RESEND_LINK') => {
1002
+ sendClickEvent(event);
1003
+ setSnackBar({
1004
+ show: true,
1005
+ message: 'Payment link sent successfully!',
1006
+ type: SnackBarType.SUCCESS,
1007
+ });
1008
+ if (event === 'RESEND_LINK') {
1009
+ setDisableStatusBtn(true);
1010
+ statusTimerRef?.current?.resetTimer();
1011
+ timerRef?.current?.resetTimer();
1012
+ setIsTimerActive(true);
1013
+ props.setBackDisable(true);
1014
+ }
1015
+ };
1016
+
1017
+ useEffect(() => {
1018
+ (async () => {
1019
+ await setSharedPrefPaymentData(
1020
+ paymentRefId,
1021
+ // props.mergedObjectiveId,
1022
+ {
1023
+ paymentMode: props.paymentMode,
1024
+ amount: {
1025
+ value: props.expectedAmount,
1026
+ currencyCode:
1027
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode || '',
1028
+ },
1029
+ // refId: paymentRefId,
1030
+ moIds: props.mergedObjectiveId,
1031
+ },
1032
+ storage
1033
+ );
1034
+ await setSharedPrefPaymentSelection(
1035
+ paymentRefId,
1036
+ 'PAYMENT_LINK',
1037
+ storage
1038
+ );
1039
+ sendPaymentLink('SEND_LINK');
1040
+ })();
1041
+ }, []);
1042
+
1043
+ const checkStatus = async () => {
1044
+ sendClickEvent('CHECK_STATUS');
1045
+ try {
1046
+ setStatusModal(true);
1047
+ const paymentResp =
1048
+ await paymentConfigContext?.networkInstance.requestGet(
1049
+ ENDPOINTS.PAYMENT_STATUS + paymentRefId,
1050
+ {
1051
+ requestId: 'payment:' + paymentRefId,
1052
+ },
1053
+ {
1054
+ appAbbr: paymentConfigContext.sdkConfig.etConfig.appAbbr,
1055
+ latest: true,
1056
+ }
1057
+ );
1058
+ // const paymentResp = {
1059
+ // data: {
1060
+ // data: {
1061
+ // meta: { totalCount: 1 },
1062
+ // transactions: [
1063
+ // {
1064
+ // refId: paymentRefId,
1065
+ // status: STATUS.FAILED,
1066
+ // subStatus: SUB_STATUS.completed,
1067
+ // money: {
1068
+ // amount: 1000,
1069
+ // currency: 'INR',
1070
+ // },
1071
+ // txnId: '123',
1072
+ // txnType: TRANSACTION_TYPE.QRCODE,
1073
+ // appAbbr: 'testApp31',
1074
+ // },
1075
+ // ],
1076
+ // },
1077
+ // },
1078
+ // };
1079
+ const _ps: PaymentStatusResponse = paymentResp?.data;
1080
+
1081
+ console.log('_ps pl: ', JSON.stringify(_ps));
1082
+
1083
+ if (
1084
+ _ps.data.meta?.totalCount &&
1085
+ _ps?.data.transactions?.length &&
1086
+ _ps?.data.transactions[0].status === STATUS.SUCCESS
1087
+ ) {
1088
+ props.next({
1089
+ paymentMode:
1090
+ getPaymentType(_ps?.data.transactions[0].txnType) ||
1091
+ props.paymentMode,
1092
+ collectedAmount: {
1093
+ value:
1094
+ _ps?.data.transactions[0].money.amount || props.expectedAmount,
1095
+ currencyCode:
1096
+ _ps?.data.transactions[0].money.currency ||
1097
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
1098
+ '',
1099
+ },
1100
+ refId: paymentRefId,
1101
+ screen: PAYMENT_SCREEN.COMPLETE,
1102
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
1103
+ ...(await getBaseETResponse(
1104
+ EntityCode.COLLECT_PAYMENT_ET,
1105
+ true,
1106
+ getEventCodeByET(
1107
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
1108
+ true,
1109
+ props.applicableReasons?.success
1110
+ ),
1111
+ '',
1112
+ props.mergedObjectiveId,
1113
+ ExecutionTaskID.COLLECT_PAYMENT_ET
1114
+ )),
1115
+ });
1116
+ } else if (
1117
+ _ps.data.meta?.totalCount &&
1118
+ _ps?.data.transactions?.length &&
1119
+ _ps?.data.transactions[0].status === STATUS.FAILED
1120
+ ) {
1121
+ /* await storage.removeSharedItems(
1122
+ props.mergedObjectiveId.map((_id) => PAYMENT_SHARED_PREF_KEY + _id)
1123
+ ); */
1124
+ await removeSharedPrefPaymentData(paymentRefId, storage);
1125
+ props.next({
1126
+ paymentMode:
1127
+ getPaymentType(_ps?.data.transactions[0].txnType) ||
1128
+ props.paymentMode,
1129
+ collectedAmount: {
1130
+ value:
1131
+ _ps?.data.transactions[0].money.amount || props.expectedAmount,
1132
+ currencyCode:
1133
+ _ps?.data.transactions[0].money.currency ||
1134
+ paymentConfigContext?.sdkConfig?.etConfig?.currencyCode ||
1135
+ '',
1136
+ },
1137
+ refId: paymentRefId,
1138
+ screen: PAYMENT_SCREEN.COMPLETE,
1139
+ sourceScreen: PAYMENT_SCREEN.PROCESS,
1140
+ ...(await getBaseETResponse(
1141
+ EntityCode.COLLECT_PAYMENT_ET,
1142
+ false,
1143
+ getEventCodeByET(
1144
+ ExecutionTaskID.COLLECT_PAYMENT_ET,
1145
+ false,
1146
+ props.applicableReasons?.failure
1147
+ ),
1148
+ '',
1149
+ props.mergedObjectiveId,
1150
+ ExecutionTaskID.COLLECT_PAYMENT_ET
1151
+ )),
1152
+ });
1153
+ }
1154
+ setStatusModal(false);
1155
+ setDisableStatusBtn(true);
1156
+ } catch (err: any) {
1157
+ Logger.getInstance().logEvent(
1158
+ '~ checkStatus1 triggered ',
1159
+ JSON.stringify(err?.response?.data || err),
1160
+ LOG_TYPE.SDK_ERROR
1161
+ );
1162
+ console.log('Check status pl: ', err?.response?.data || err);
1163
+ setStatusModal(false);
1164
+ }
1165
+ };
1166
+
1167
+ return (
1168
+ <>
1169
+ <ProgressDialog
1170
+ customModalContentStyle={{ paddingVertical: 40 }}
1171
+ visible={showStatusModal}
1172
+ label="Please wait while we are checking the payment status"
1173
+ labelStyle={{
1174
+ fontWeight: '400',
1175
+ fontFamily:
1176
+ Platform.OS === 'android'
1177
+ ? Fonts.IBMPlexSans_400Regular
1178
+ : 'IBMPlexSans-Regular',
1179
+ color: '#3D445C',
1180
+ }}
1181
+ />
1182
+ {
1183
+ <>
1184
+ <SnackBarCustom
1185
+ type={snackBar.type}
1186
+ message={`${snackBar.message}`}
1187
+ visible={snackBar.show}
1188
+ onDismiss={() => {
1189
+ setSnackBar({
1190
+ show: false,
1191
+ message: '',
1192
+ type: SnackBarType.SUCCESS,
1193
+ });
1194
+ }}
1195
+ customTop={0}
1196
+ />
1197
+ <View
1198
+ style={[
1199
+ CommonStyles.mainContainer,
1200
+ { justifyContent: 'center', alignItems: 'center' },
1201
+ ]}
1202
+ >
1203
+ <View style={styles.flexCenter}>
1204
+ {!isTimerActive ? (
1205
+ <View style={[styles.paymentWaitIcon, { marginBottom: 20 }]}>
1206
+ <MaterialIcon
1207
+ size={64}
1208
+ name="clock-time-nine-outline"
1209
+ color="#3D445C"
1210
+ />
1211
+ </View>
1212
+ ) : (
1213
+ <ActivityIndicator
1214
+ size="large"
1215
+ color="#3D445C"
1216
+ style={{ marginBottom: 20 }}
1217
+ />
1218
+ )}
1219
+ <Timer
1220
+ onTimerEnd={() => {
1221
+ setIsTimerActive(false);
1222
+ props.setBackDisable(false);
1223
+ }}
1224
+ ref={timerRef}
1225
+ timer={
1226
+ paymentConfigContext?.sdkConfig?.etConfig?.goBackDisableTimer
1227
+ }
1228
+ />
1229
+
1230
+ <Text style={[CommonStyles.titleText]}>Waiting for payment!</Text>
1231
+ <Text style={[CommonStyles.subText, { marginHorizontal: 30 }]}>
1232
+ Please wait for the customer to make the payment
1233
+ </Text>
1234
+ </View>
1235
+ </View>
1236
+ <View style={{ padding: 10, borderWidth: 1, borderColor: '#E0E3EB' }}>
1237
+ <View
1238
+ style={{
1239
+ flexDirection: 'row',
1240
+ marginStart: 10,
1241
+ marginEnd: 10,
1242
+ }}
1243
+ >
1244
+ <Button
1245
+ style={[
1246
+ CommonStyles.cancelButton,
1247
+ {
1248
+ marginEnd: 5,
1249
+ flex: 1,
1250
+ },
1251
+ ]}
1252
+ labelStyle={{
1253
+ ...CommonStyles.cancelButtonLabel,
1254
+ color: '#5B80F7',
1255
+ textTransform: 'capitalize',
1256
+ fontSize: 11,
1257
+ }}
1258
+ mode={'outlined'}
1259
+ onPress={() => sendPaymentLink('RESEND_LINK')}
1260
+ >
1261
+ Resend Payment Link
1262
+ </Button>
1263
+ <Button
1264
+ style={[
1265
+ CommonStyles.nextButton,
1266
+ {
1267
+ marginEnd: 5,
1268
+ flex: 1,
1269
+ },
1270
+ disableStatusBtn
1271
+ ? {
1272
+ backgroundColor: '#E0E3EB',
1273
+ }
1274
+ : {},
1275
+ ]}
1276
+ labelStyle={[
1277
+ CommonStyles.nextButtonLabel,
1278
+ { textTransform: 'capitalize' },
1279
+ disableStatusBtn ? { color: '#A3AAC2' } : {},
1280
+ ]}
1281
+ mode={'outlined'}
1282
+ onPress={checkStatus}
1283
+ disabled={disableStatusBtn}
1284
+ >
1285
+ {disableStatusBtn ? (
1286
+ <>
1287
+ {'Check Status ('}
1288
+ <Timer
1289
+ ref={statusTimerRef}
1290
+ singleValue={true}
1291
+ timer={5}
1292
+ onTimerEnd={() => setDisableStatusBtn(false)}
1293
+ />
1294
+ {' sec)'}
1295
+ </>
1296
+ ) : (
1297
+ 'Check Status'
1298
+ )}
1299
+ </Button>
1300
+ </View>
1301
+ </View>
1302
+ </>
1303
+ }
1304
+ </>
1305
+ );
1306
+ };
1307
+
1308
+ interface StyleSheetType {
1309
+ modalContent: ViewStyle;
1310
+ modalView: ViewStyle;
1311
+ titleText: TextStyle;
1312
+ subTitleText: TextStyle;
1313
+ }
1314
+
1315
+ const modalStyles = StyleSheet.create<StyleSheetType>({
1316
+ modalContent: {
1317
+ marginStart: 55,
1318
+ marginEnd: 55,
1319
+ marginBottom: 60,
1320
+ flex: 1,
1321
+ },
1322
+ modalView: {
1323
+ backgroundColor: 'white',
1324
+ padding: 15,
1325
+ borderRadius: 9,
1326
+ },
1327
+ titleText: {
1328
+ justifyContent: 'center',
1329
+ fontFamily:
1330
+ Platform.OS === 'android'
1331
+ ? Fonts.IBMPlexSans_600SemiBold
1332
+ : 'IBMPlexSans-SemiBold',
1333
+ fontStyle: 'normal',
1334
+ fontSize: 14,
1335
+ lineHeight: 20,
1336
+ textAlign: 'center',
1337
+ color: '#111111',
1338
+ marginBottom: 10,
1339
+ },
1340
+ subTitleText: {
1341
+ justifyContent: 'center',
1342
+ fontFamily:
1343
+ Platform.OS === 'android'
1344
+ ? Fonts.IBMPlexSans_400Regular
1345
+ : 'IBMPlexSans-Regular',
1346
+ fontStyle: 'normal',
1347
+ fontSize: 14,
1348
+ lineHeight: 20,
1349
+ color: '#000000',
1350
+ marginBottom: 10,
1351
+ },
1352
+ });