react-native-timacare 3.3.55 → 3.3.57-cccd

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 (612) hide show
  1. package/lib/commonjs/AppStore.js +1 -1
  2. package/lib/commonjs/AppStore.js.flow +7 -2
  3. package/lib/commonjs/AppStore.js.map +1 -1
  4. package/lib/commonjs/RNTimacare.js +1 -1
  5. package/lib/commonjs/RNTimacare.js.flow +7 -1
  6. package/lib/commonjs/RNTimacare.js.map +1 -1
  7. package/lib/commonjs/assets/icons/index.js +1 -1
  8. package/lib/commonjs/assets/icons/index.js.flow +10 -0
  9. package/lib/commonjs/assets/icons/index.js.map +1 -1
  10. package/lib/commonjs/assets/icons/modal_confirm.svg +15 -0
  11. package/lib/commonjs/assets/icons/modal_notice.svg +74 -0
  12. package/lib/commonjs/assets/icons/modal_success.svg +55 -0
  13. package/lib/commonjs/assets/icons/modal_warning.svg +48 -0
  14. package/lib/commonjs/assets/icons/user_security.svg +10 -0
  15. package/lib/commonjs/assets/tts/Frame1000011947.png +0 -0
  16. package/lib/commonjs/components/AppModal.js +2 -0
  17. package/lib/commonjs/components/AppModal.js.flow +34 -0
  18. package/lib/commonjs/components/AppModal.js.map +1 -0
  19. package/lib/commonjs/components/ItemTimaOne.js +2 -0
  20. package/lib/commonjs/components/{ItemTimaOneV3.js.flow → ItemTimaOne.js.flow} +1 -1
  21. package/lib/commonjs/components/ItemTimaOne.js.map +1 -0
  22. package/lib/commonjs/components/ModalNotification/AlertGlobal.js +2 -0
  23. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.flow +100 -0
  24. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.map +1 -0
  25. package/lib/commonjs/components/ModalNotification/index.js +2 -0
  26. package/lib/commonjs/components/ModalNotification/index.js.flow +224 -0
  27. package/lib/commonjs/components/ModalNotification/index.js.map +1 -0
  28. package/lib/commonjs/components/ModalOptionLoan.js +1 -1
  29. package/lib/commonjs/components/ModalOptionLoan.js.flow +15 -7
  30. package/lib/commonjs/components/ModalOptionLoan.js.map +1 -1
  31. package/lib/commonjs/components/ModalOptionLoanDigital.js +1 -1
  32. package/lib/commonjs/components/ModalOptionLoanDigital.js.flow +15 -7
  33. package/lib/commonjs/components/ModalOptionLoanDigital.js.map +1 -1
  34. package/lib/commonjs/navigation/primary-navigator.js +1 -1
  35. package/lib/commonjs/navigation/primary-navigator.js.flow +7 -0
  36. package/lib/commonjs/navigation/primary-navigator.js.map +1 -1
  37. package/lib/commonjs/screens/NFC/OcrStart.js +2 -0
  38. package/lib/commonjs/screens/NFC/OcrStart.js.flow +171 -0
  39. package/lib/commonjs/screens/NFC/OcrStart.js.map +1 -0
  40. package/lib/commonjs/screens/NFC/ScanMRZ.js +2 -0
  41. package/lib/commonjs/screens/NFC/ScanMRZ.js.flow +563 -0
  42. package/lib/commonjs/screens/NFC/ScanMRZ.js.map +1 -0
  43. package/lib/commonjs/screens/SelectorStore.js +1 -1
  44. package/lib/commonjs/screens/SelectorStore.js.flow +7 -2
  45. package/lib/commonjs/screens/SelectorStore.js.map +1 -1
  46. package/lib/commonjs/screens/camera/CCCDCameraScreen.js +1 -1
  47. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.flow +253 -187
  48. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.map +1 -1
  49. package/lib/commonjs/screens/camera/index.js +1 -1
  50. package/lib/commonjs/screens/camera/index.js.flow +50 -54
  51. package/lib/commonjs/screens/camera/index.js.map +1 -1
  52. package/lib/commonjs/screens/cimb-sign/index.js +1 -1
  53. package/lib/commonjs/screens/cimb-sign/index.js.flow +10 -14
  54. package/lib/commonjs/screens/cimb-sign/index.js.map +1 -1
  55. package/lib/commonjs/screens/detail-loan/PaymentInfo.js +1 -1
  56. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.flow +75 -54
  57. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.map +1 -1
  58. package/lib/commonjs/screens/detail-loan/ShowQrCode.js +1 -1
  59. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.flow +77 -54
  60. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.map +1 -1
  61. package/lib/commonjs/screens/detail-loan/store.js +1 -1
  62. package/lib/commonjs/screens/detail-loan/store.js.flow +39 -7
  63. package/lib/commonjs/screens/detail-loan/store.js.map +1 -1
  64. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js +1 -1
  65. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js.flow +20 -4
  66. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js.map +1 -1
  67. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js +1 -1
  68. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js.flow +19 -4
  69. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js.map +1 -1
  70. package/lib/commonjs/screens/digital-lending/Step6.js +1 -1
  71. package/lib/commonjs/screens/digital-lending/Step6.js.flow +24 -29
  72. package/lib/commonjs/screens/digital-lending/Step6.js.map +1 -1
  73. package/lib/commonjs/screens/digital-lending/store.js +1 -1
  74. package/lib/commonjs/screens/digital-lending/store.js.flow +113 -20
  75. package/lib/commonjs/screens/digital-lending/store.js.map +1 -1
  76. package/lib/commonjs/screens/eSign/Store.js +1 -1
  77. package/lib/commonjs/screens/eSign/Store.js.flow +69 -34
  78. package/lib/commonjs/screens/eSign/Store.js.map +1 -1
  79. package/lib/commonjs/screens/eSign/index.js +1 -1
  80. package/lib/commonjs/screens/eSign/index.js.flow +33 -34
  81. package/lib/commonjs/screens/eSign/index.js.map +1 -1
  82. package/lib/commonjs/screens/full-submit/accept_policy.js +1 -1
  83. package/lib/commonjs/screens/full-submit/accept_policy.js.flow +101 -85
  84. package/lib/commonjs/screens/full-submit/accept_policy.js.map +1 -1
  85. package/lib/commonjs/screens/full-submit/store.js +1 -1
  86. package/lib/commonjs/screens/full-submit/store.js.flow +157 -27
  87. package/lib/commonjs/screens/full-submit/store.js.map +1 -1
  88. package/lib/commonjs/screens/full-submit/update-info.js +1 -1
  89. package/lib/commonjs/screens/full-submit/update-info.js.flow +0 -1
  90. package/lib/commonjs/screens/full-submit/update-info.js.map +1 -1
  91. package/lib/commonjs/screens/home/DigitalTopupItem.js +1 -1
  92. package/lib/commonjs/screens/home/DigitalTopupItem.js.flow +15 -7
  93. package/lib/commonjs/screens/home/DigitalTopupItem.js.map +1 -1
  94. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js +1 -1
  95. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.flow +16 -7
  96. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.map +1 -1
  97. package/lib/commonjs/screens/home/Store.js +1 -1
  98. package/lib/commonjs/screens/home/Store.js.flow +44 -23
  99. package/lib/commonjs/screens/home/Store.js.map +1 -1
  100. package/lib/commonjs/screens/home/index.js +1 -1
  101. package/lib/commonjs/screens/home/index.js.flow +306 -298
  102. package/lib/commonjs/screens/home/index.js.map +1 -1
  103. package/lib/commonjs/screens/liveness/LivenessStore.js +1 -1
  104. package/lib/commonjs/screens/liveness/LivenessStore.js.flow +111 -89
  105. package/lib/commonjs/screens/liveness/LivenessStore.js.map +1 -1
  106. package/lib/commonjs/screens/liveness/index.js +1 -1
  107. package/lib/commonjs/screens/liveness/index.js.flow +67 -68
  108. package/lib/commonjs/screens/liveness/index.js.map +1 -1
  109. package/lib/commonjs/screens/liveness-v2/index.js +1 -1
  110. package/lib/commonjs/screens/liveness-v2/index.js.flow +52 -52
  111. package/lib/commonjs/screens/liveness-v2/index.js.map +1 -1
  112. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js +1 -1
  113. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js.flow +20 -10
  114. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js.map +1 -1
  115. package/lib/commonjs/screens/loan/UpdateLoan.js +1 -1
  116. package/lib/commonjs/screens/loan/UpdateLoan.js.flow +56 -23
  117. package/lib/commonjs/screens/loan/UpdateLoan.js.map +1 -1
  118. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js +1 -1
  119. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.flow +43 -29
  120. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.map +1 -1
  121. package/lib/commonjs/screens/motobike/PolicyF88.js +1 -1
  122. package/lib/commonjs/screens/motobike/PolicyF88.js.flow +15 -6
  123. package/lib/commonjs/screens/motobike/PolicyF88.js.map +1 -1
  124. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js +1 -1
  125. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.flow +13 -3
  126. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  127. package/lib/commonjs/screens/mrz-scanner/index.js +1 -1
  128. package/lib/commonjs/screens/mrz-scanner/index.js.flow +56 -55
  129. package/lib/commonjs/screens/mrz-scanner/index.js.map +1 -1
  130. package/lib/commonjs/screens/mrz-scanner/store.js +1 -1
  131. package/lib/commonjs/screens/mrz-scanner/store.js.flow +13 -3
  132. package/lib/commonjs/screens/mrz-scanner/store.js.map +1 -1
  133. package/lib/commonjs/screens/nationalID/Store.js +1 -1
  134. package/lib/commonjs/screens/nationalID/Store.js.flow +50 -29
  135. package/lib/commonjs/screens/nationalID/Store.js.map +1 -1
  136. package/lib/commonjs/screens/nationalID/index.js +1 -1
  137. package/lib/commonjs/screens/nationalID/index.js.flow +123 -219
  138. package/lib/commonjs/screens/nationalID/index.js.map +1 -1
  139. package/lib/commonjs/screens/nationalIDBack/Store.js +1 -1
  140. package/lib/commonjs/screens/nationalIDBack/Store.js.flow +44 -26
  141. package/lib/commonjs/screens/nationalIDBack/Store.js.map +1 -1
  142. package/lib/commonjs/screens/nationalIDBack/index.js +1 -1
  143. package/lib/commonjs/screens/nationalIDBack/index.js.flow +129 -210
  144. package/lib/commonjs/screens/nationalIDBack/index.js.map +1 -1
  145. package/lib/commonjs/screens/notification/ListLoanStore.js +1 -1
  146. package/lib/commonjs/screens/notification/ListLoanStore.js.flow +19 -4
  147. package/lib/commonjs/screens/notification/ListLoanStore.js.map +1 -1
  148. package/lib/commonjs/screens/notification/index.js +1 -1
  149. package/lib/commonjs/screens/notification/index.js.flow +0 -1
  150. package/lib/commonjs/screens/notification/index.js.map +1 -1
  151. package/lib/commonjs/screens/notification/store.js +1 -1
  152. package/lib/commonjs/screens/notification/store.js.flow +7 -2
  153. package/lib/commonjs/screens/notification/store.js.map +1 -1
  154. package/lib/commonjs/screens/personal/index.js +1 -1
  155. package/lib/commonjs/screens/personal/index.js.flow +21 -19
  156. package/lib/commonjs/screens/personal/index.js.map +1 -1
  157. package/lib/commonjs/screens/qualify/Store.js.flow +0 -1
  158. package/lib/commonjs/screens/qualify/Store.js.map +1 -1
  159. package/lib/commonjs/screens/quick-submit/store.js +1 -1
  160. package/lib/commonjs/screens/quick-submit/store.js.flow +85 -15
  161. package/lib/commonjs/screens/quick-submit/store.js.map +1 -1
  162. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js +1 -1
  163. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js.flow +20 -4
  164. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js.map +1 -1
  165. package/lib/commonjs/screens/schedule-payment/store.js +1 -1
  166. package/lib/commonjs/screens/schedule-payment/store.js.flow +13 -5
  167. package/lib/commonjs/screens/schedule-payment/store.js.map +1 -1
  168. package/lib/commonjs/screens/selfie/SelfieStore.js +1 -1
  169. package/lib/commonjs/screens/selfie/SelfieStore.js.flow +25 -9
  170. package/lib/commonjs/screens/selfie/SelfieStore.js.map +1 -1
  171. package/lib/commonjs/screens/selfie/index.js +1 -1
  172. package/lib/commonjs/screens/selfie/index.js.flow +0 -1
  173. package/lib/commonjs/screens/selfie/index.js.map +1 -1
  174. package/lib/commonjs/screens/sign-tima/ViewContract.js +1 -1
  175. package/lib/commonjs/screens/sign-tima/ViewContract.js.flow +17 -18
  176. package/lib/commonjs/screens/sign-tima/ViewContract.js.map +1 -1
  177. package/lib/commonjs/screens/sign-tima/store.js +1 -1
  178. package/lib/commonjs/screens/sign-tima/store.js.flow +37 -7
  179. package/lib/commonjs/screens/sign-tima/store.js.map +1 -1
  180. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js +1 -1
  181. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js.flow +36 -10
  182. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js.map +1 -1
  183. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  184. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +321 -609
  185. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  186. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js +1 -1
  187. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.flow +21 -4
  188. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  189. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js +1 -1
  190. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.flow +50 -54
  191. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  192. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js +1 -1
  193. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.flow +31 -25
  194. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  195. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  196. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.flow +88 -82
  197. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  198. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js +1 -1
  199. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.flow +25 -5
  200. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  201. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  202. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.flow +19 -4
  203. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  204. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  205. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.flow +19 -4
  206. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  207. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js +1 -1
  208. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js.flow +42 -25
  209. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js.map +1 -1
  210. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  211. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +63 -56
  212. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  213. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  214. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.flow +63 -55
  215. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  216. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  217. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.flow +50 -43
  218. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  219. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  220. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +275 -341
  221. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  222. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  223. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.flow +19 -4
  224. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  225. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  226. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.flow +19 -4
  227. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  228. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  229. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.flow +19 -4
  230. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  231. package/lib/commonjs/screens/toan-trinh-so/store.js +1 -1
  232. package/lib/commonjs/screens/toan-trinh-so/store.js.flow +82 -37
  233. package/lib/commonjs/screens/toan-trinh-so/store.js.map +1 -1
  234. package/lib/commonjs/screens/uploadVideo/index.js +1 -1
  235. package/lib/commonjs/screens/uploadVideo/index.js.flow +26 -21
  236. package/lib/commonjs/screens/uploadVideo/index.js.map +1 -1
  237. package/lib/commonjs/screens/uploadVideo/videoStore.js +1 -1
  238. package/lib/commonjs/screens/uploadVideo/videoStore.js.flow +19 -4
  239. package/lib/commonjs/screens/uploadVideo/videoStore.js.map +1 -1
  240. package/lib/commonjs/screens/v3/AssetInformation.js +1 -1
  241. package/lib/commonjs/screens/v3/AssetInformation.js.flow +35 -16
  242. package/lib/commonjs/screens/v3/AssetInformation.js.map +1 -1
  243. package/lib/commonjs/screens/v3/LoanBuyCar.js +1 -1
  244. package/lib/commonjs/screens/v3/LoanBuyCar.js.flow +35 -16
  245. package/lib/commonjs/screens/v3/LoanBuyCar.js.map +1 -1
  246. package/lib/commonjs/services/api/api.js +1 -1
  247. package/lib/commonjs/services/api/api.js.flow +23 -26
  248. package/lib/commonjs/services/api/api.js.map +1 -1
  249. package/lib/commonjs/utils/cameraCrop.js +2 -0
  250. package/lib/commonjs/utils/cameraCrop.js.flow +96 -0
  251. package/lib/commonjs/utils/cameraCrop.js.map +1 -0
  252. package/lib/module/AppStore.js +1 -1
  253. package/lib/module/AppStore.js.map +1 -1
  254. package/lib/module/RNTimacare.js +1 -1
  255. package/lib/module/RNTimacare.js.map +1 -1
  256. package/lib/module/assets/icons/index.js +1 -1
  257. package/lib/module/assets/icons/index.js.map +1 -1
  258. package/lib/module/assets/icons/modal_confirm.svg +15 -0
  259. package/lib/module/assets/icons/modal_notice.svg +74 -0
  260. package/lib/module/assets/icons/modal_success.svg +55 -0
  261. package/lib/module/assets/icons/modal_warning.svg +48 -0
  262. package/lib/module/assets/icons/user_security.svg +10 -0
  263. package/lib/module/assets/tts/Frame1000011947.png +0 -0
  264. package/lib/module/components/AppModal.js +2 -0
  265. package/lib/module/components/AppModal.js.map +1 -0
  266. package/lib/module/components/ItemTimaOne.js +2 -0
  267. package/lib/module/components/ItemTimaOne.js.map +1 -0
  268. package/lib/module/components/ModalNotification/AlertGlobal.js +2 -0
  269. package/lib/module/components/ModalNotification/AlertGlobal.js.map +1 -0
  270. package/lib/module/components/ModalNotification/index.js +2 -0
  271. package/lib/module/components/ModalNotification/index.js.map +1 -0
  272. package/lib/module/components/ModalOptionLoan.js +1 -1
  273. package/lib/module/components/ModalOptionLoan.js.map +1 -1
  274. package/lib/module/components/ModalOptionLoanDigital.js +1 -1
  275. package/lib/module/components/ModalOptionLoanDigital.js.map +1 -1
  276. package/lib/module/navigation/primary-navigator.js +1 -1
  277. package/lib/module/navigation/primary-navigator.js.map +1 -1
  278. package/lib/module/screens/NFC/OcrStart.js +2 -0
  279. package/lib/module/screens/NFC/OcrStart.js.map +1 -0
  280. package/lib/module/screens/NFC/ScanMRZ.js +2 -0
  281. package/lib/module/screens/NFC/ScanMRZ.js.map +1 -0
  282. package/lib/module/screens/SelectorStore.js +1 -1
  283. package/lib/module/screens/SelectorStore.js.map +1 -1
  284. package/lib/module/screens/camera/CCCDCameraScreen.js +1 -1
  285. package/lib/module/screens/camera/CCCDCameraScreen.js.map +1 -1
  286. package/lib/module/screens/camera/index.js +1 -1
  287. package/lib/module/screens/camera/index.js.map +1 -1
  288. package/lib/module/screens/cimb-sign/index.js +1 -1
  289. package/lib/module/screens/cimb-sign/index.js.map +1 -1
  290. package/lib/module/screens/detail-loan/PaymentInfo.js +1 -1
  291. package/lib/module/screens/detail-loan/PaymentInfo.js.map +1 -1
  292. package/lib/module/screens/detail-loan/ShowQrCode.js +1 -1
  293. package/lib/module/screens/detail-loan/ShowQrCode.js.map +1 -1
  294. package/lib/module/screens/detail-loan/store.js +1 -1
  295. package/lib/module/screens/detail-loan/store.js.map +1 -1
  296. package/lib/module/screens/detail-loan-tima/InforLoan.js +1 -1
  297. package/lib/module/screens/detail-loan-tima/InforLoan.js.map +1 -1
  298. package/lib/module/screens/detail-loan-tima/PaymentSchedule.js +1 -1
  299. package/lib/module/screens/detail-loan-tima/PaymentSchedule.js.map +1 -1
  300. package/lib/module/screens/digital-lending/Step6.js +1 -1
  301. package/lib/module/screens/digital-lending/Step6.js.map +1 -1
  302. package/lib/module/screens/digital-lending/store.js +1 -1
  303. package/lib/module/screens/digital-lending/store.js.map +1 -1
  304. package/lib/module/screens/eSign/Store.js +1 -1
  305. package/lib/module/screens/eSign/Store.js.map +1 -1
  306. package/lib/module/screens/eSign/index.js +1 -1
  307. package/lib/module/screens/eSign/index.js.map +1 -1
  308. package/lib/module/screens/full-submit/accept_policy.js +1 -1
  309. package/lib/module/screens/full-submit/accept_policy.js.map +1 -1
  310. package/lib/module/screens/full-submit/store.js +1 -1
  311. package/lib/module/screens/full-submit/store.js.map +1 -1
  312. package/lib/module/screens/full-submit/update-info.js +1 -1
  313. package/lib/module/screens/full-submit/update-info.js.map +1 -1
  314. package/lib/module/screens/home/DigitalTopupItem.js +1 -1
  315. package/lib/module/screens/home/DigitalTopupItem.js.map +1 -1
  316. package/lib/module/screens/home/ItemMotoBikeLoan.js +1 -1
  317. package/lib/module/screens/home/ItemMotoBikeLoan.js.map +1 -1
  318. package/lib/module/screens/home/Store.js +1 -1
  319. package/lib/module/screens/home/Store.js.map +1 -1
  320. package/lib/module/screens/home/index.js +1 -1
  321. package/lib/module/screens/home/index.js.map +1 -1
  322. package/lib/module/screens/liveness/LivenessStore.js +1 -1
  323. package/lib/module/screens/liveness/LivenessStore.js.map +1 -1
  324. package/lib/module/screens/liveness/index.js +1 -1
  325. package/lib/module/screens/liveness/index.js.map +1 -1
  326. package/lib/module/screens/liveness-v2/index.js +1 -1
  327. package/lib/module/screens/liveness-v2/index.js.map +1 -1
  328. package/lib/module/screens/loan/PreviewSchedulePaymentTopup.js +1 -1
  329. package/lib/module/screens/loan/PreviewSchedulePaymentTopup.js.map +1 -1
  330. package/lib/module/screens/loan/UpdateLoan.js +1 -1
  331. package/lib/module/screens/loan/UpdateLoan.js.map +1 -1
  332. package/lib/module/screens/motobike/InfoLoanMotobike.js +1 -1
  333. package/lib/module/screens/motobike/InfoLoanMotobike.js.map +1 -1
  334. package/lib/module/screens/motobike/PolicyF88.js +1 -1
  335. package/lib/module/screens/motobike/PolicyF88.js.map +1 -1
  336. package/lib/module/screens/motobike/ReviewLoanMotobike.js +1 -1
  337. package/lib/module/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  338. package/lib/module/screens/mrz-scanner/index.js +1 -1
  339. package/lib/module/screens/mrz-scanner/index.js.map +1 -1
  340. package/lib/module/screens/mrz-scanner/store.js +1 -1
  341. package/lib/module/screens/mrz-scanner/store.js.map +1 -1
  342. package/lib/module/screens/nationalID/Store.js +1 -1
  343. package/lib/module/screens/nationalID/Store.js.map +1 -1
  344. package/lib/module/screens/nationalID/index.js +1 -1
  345. package/lib/module/screens/nationalID/index.js.map +1 -1
  346. package/lib/module/screens/nationalIDBack/Store.js +1 -1
  347. package/lib/module/screens/nationalIDBack/Store.js.map +1 -1
  348. package/lib/module/screens/nationalIDBack/index.js +1 -1
  349. package/lib/module/screens/nationalIDBack/index.js.map +1 -1
  350. package/lib/module/screens/notification/ListLoanStore.js +1 -1
  351. package/lib/module/screens/notification/ListLoanStore.js.map +1 -1
  352. package/lib/module/screens/notification/index.js +1 -1
  353. package/lib/module/screens/notification/index.js.map +1 -1
  354. package/lib/module/screens/notification/store.js +1 -1
  355. package/lib/module/screens/notification/store.js.map +1 -1
  356. package/lib/module/screens/personal/index.js +1 -1
  357. package/lib/module/screens/personal/index.js.map +1 -1
  358. package/lib/module/screens/qualify/Store.js.map +1 -1
  359. package/lib/module/screens/quick-submit/store.js +1 -1
  360. package/lib/module/screens/quick-submit/store.js.map +1 -1
  361. package/lib/module/screens/schedule-payment/DigitalSchedulePayment.js +1 -1
  362. package/lib/module/screens/schedule-payment/DigitalSchedulePayment.js.map +1 -1
  363. package/lib/module/screens/schedule-payment/store.js +1 -1
  364. package/lib/module/screens/schedule-payment/store.js.map +1 -1
  365. package/lib/module/screens/selfie/SelfieStore.js +1 -1
  366. package/lib/module/screens/selfie/SelfieStore.js.map +1 -1
  367. package/lib/module/screens/selfie/index.js +1 -1
  368. package/lib/module/screens/selfie/index.js.map +1 -1
  369. package/lib/module/screens/sign-tima/ViewContract.js +1 -1
  370. package/lib/module/screens/sign-tima/ViewContract.js.map +1 -1
  371. package/lib/module/screens/sign-tima/store.js +1 -1
  372. package/lib/module/screens/sign-tima/store.js.map +1 -1
  373. package/lib/module/screens/toan-trinh-so/LoanInterestRate.js +1 -1
  374. package/lib/module/screens/toan-trinh-so/LoanInterestRate.js.map +1 -1
  375. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  376. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  377. package/lib/module/screens/toan-trinh-so/RegisterBack.js +1 -1
  378. package/lib/module/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  379. package/lib/module/screens/toan-trinh-so/RegisterCamera.js +1 -1
  380. package/lib/module/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  381. package/lib/module/screens/toan-trinh-so/ReviewInformation.js +1 -1
  382. package/lib/module/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  383. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  384. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  385. package/lib/module/screens/toan-trinh-so/ReviewLoan.js +1 -1
  386. package/lib/module/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  387. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  388. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  389. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  390. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  391. package/lib/module/screens/toan-trinh-so/TTSOTP.js +1 -1
  392. package/lib/module/screens/toan-trinh-so/TTSOTP.js.map +1 -1
  393. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  394. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  395. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  396. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  397. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  398. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  399. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  400. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  401. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  402. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  403. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  404. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  405. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  406. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  407. package/lib/module/screens/toan-trinh-so/store.js +1 -1
  408. package/lib/module/screens/toan-trinh-so/store.js.map +1 -1
  409. package/lib/module/screens/uploadVideo/index.js +1 -1
  410. package/lib/module/screens/uploadVideo/index.js.map +1 -1
  411. package/lib/module/screens/uploadVideo/videoStore.js +1 -1
  412. package/lib/module/screens/uploadVideo/videoStore.js.map +1 -1
  413. package/lib/module/screens/v3/AssetInformation.js +1 -1
  414. package/lib/module/screens/v3/AssetInformation.js.map +1 -1
  415. package/lib/module/screens/v3/LoanBuyCar.js +1 -1
  416. package/lib/module/screens/v3/LoanBuyCar.js.map +1 -1
  417. package/lib/module/services/api/api.js +1 -1
  418. package/lib/module/services/api/api.js.map +1 -1
  419. package/lib/module/utils/cameraCrop.js +2 -0
  420. package/lib/module/utils/cameraCrop.js.map +1 -0
  421. package/lib/typescript/AppStore.d.ts.map +1 -1
  422. package/lib/typescript/RNTimacare.d.ts.map +1 -1
  423. package/lib/typescript/assets/icons/index.d.ts +6 -1
  424. package/lib/typescript/assets/icons/index.d.ts.map +1 -1
  425. package/lib/typescript/components/AppModal.d.ts +18 -0
  426. package/lib/typescript/components/AppModal.d.ts.map +1 -0
  427. package/lib/typescript/components/ItemTimaOne.d.ts +7 -0
  428. package/lib/typescript/components/ItemTimaOne.d.ts.map +1 -0
  429. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts +30 -0
  430. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts.map +1 -0
  431. package/lib/typescript/components/ModalNotification/index.d.ts +35 -0
  432. package/lib/typescript/components/ModalNotification/index.d.ts.map +1 -0
  433. package/lib/typescript/components/ModalOptionLoan.d.ts.map +1 -1
  434. package/lib/typescript/components/ModalOptionLoanDigital.d.ts.map +1 -1
  435. package/lib/typescript/navigation/primary-navigator.d.ts +3 -0
  436. package/lib/typescript/navigation/primary-navigator.d.ts.map +1 -1
  437. package/lib/typescript/screens/NFC/OcrStart.d.ts +2 -0
  438. package/lib/typescript/screens/NFC/OcrStart.d.ts.map +1 -0
  439. package/lib/typescript/screens/NFC/ScanMRZ.d.ts +15 -0
  440. package/lib/typescript/screens/NFC/ScanMRZ.d.ts.map +1 -0
  441. package/lib/typescript/screens/SelectorStore.d.ts.map +1 -1
  442. package/lib/typescript/screens/camera/CCCDCameraScreen.d.ts.map +1 -1
  443. package/lib/typescript/screens/camera/index.d.ts.map +1 -1
  444. package/lib/typescript/screens/cimb-sign/index.d.ts.map +1 -1
  445. package/lib/typescript/screens/detail-loan/ShowQrCode.d.ts.map +1 -1
  446. package/lib/typescript/screens/detail-loan/store.d.ts.map +1 -1
  447. package/lib/typescript/screens/detail-loan-tima/InforLoan.d.ts.map +1 -1
  448. package/lib/typescript/screens/detail-loan-tima/PaymentSchedule.d.ts.map +1 -1
  449. package/lib/typescript/screens/digital-lending/Step6.d.ts.map +1 -1
  450. package/lib/typescript/screens/digital-lending/store.d.ts.map +1 -1
  451. package/lib/typescript/screens/eSign/Store.d.ts.map +1 -1
  452. package/lib/typescript/screens/eSign/index.d.ts.map +1 -1
  453. package/lib/typescript/screens/full-submit/accept_policy.d.ts.map +1 -1
  454. package/lib/typescript/screens/full-submit/store.d.ts.map +1 -1
  455. package/lib/typescript/screens/full-submit/update-info.d.ts.map +1 -1
  456. package/lib/typescript/screens/home/DigitalTopupItem.d.ts.map +1 -1
  457. package/lib/typescript/screens/home/ItemMotoBikeLoan.d.ts.map +1 -1
  458. package/lib/typescript/screens/home/Store.d.ts.map +1 -1
  459. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  460. package/lib/typescript/screens/liveness/LivenessStore.d.ts.map +1 -1
  461. package/lib/typescript/screens/liveness/index.d.ts.map +1 -1
  462. package/lib/typescript/screens/loan/PreviewSchedulePaymentTopup.d.ts.map +1 -1
  463. package/lib/typescript/screens/loan/UpdateLoan.d.ts.map +1 -1
  464. package/lib/typescript/screens/motobike/InfoLoanMotobike.d.ts.map +1 -1
  465. package/lib/typescript/screens/motobike/PolicyF88.d.ts.map +1 -1
  466. package/lib/typescript/screens/motobike/ReviewLoanMotobike.d.ts.map +1 -1
  467. package/lib/typescript/screens/mrz-scanner/index.d.ts.map +1 -1
  468. package/lib/typescript/screens/mrz-scanner/store.d.ts.map +1 -1
  469. package/lib/typescript/screens/nationalID/Store.d.ts.map +1 -1
  470. package/lib/typescript/screens/nationalID/index.d.ts.map +1 -1
  471. package/lib/typescript/screens/nationalIDBack/Store.d.ts.map +1 -1
  472. package/lib/typescript/screens/nationalIDBack/index.d.ts.map +1 -1
  473. package/lib/typescript/screens/notification/ListLoanStore.d.ts.map +1 -1
  474. package/lib/typescript/screens/notification/index.d.ts.map +1 -1
  475. package/lib/typescript/screens/notification/store.d.ts.map +1 -1
  476. package/lib/typescript/screens/personal/index.d.ts.map +1 -1
  477. package/lib/typescript/screens/qualify/Store.d.ts.map +1 -1
  478. package/lib/typescript/screens/quick-submit/store.d.ts.map +1 -1
  479. package/lib/typescript/screens/schedule-payment/DigitalSchedulePayment.d.ts.map +1 -1
  480. package/lib/typescript/screens/schedule-payment/store.d.ts.map +1 -1
  481. package/lib/typescript/screens/selfie/SelfieStore.d.ts.map +1 -1
  482. package/lib/typescript/screens/selfie/index.d.ts.map +1 -1
  483. package/lib/typescript/screens/sign-tima/ViewContract.d.ts.map +1 -1
  484. package/lib/typescript/screens/sign-tima/store.d.ts.map +1 -1
  485. package/lib/typescript/screens/toan-trinh-so/LoanInterestRate.d.ts.map +1 -1
  486. package/lib/typescript/screens/toan-trinh-so/OCR.d.ts.map +1 -1
  487. package/lib/typescript/screens/toan-trinh-so/RegisterBack.d.ts.map +1 -1
  488. package/lib/typescript/screens/toan-trinh-so/RegisterCamera.d.ts.map +1 -1
  489. package/lib/typescript/screens/toan-trinh-so/ReviewInformation.d.ts.map +1 -1
  490. package/lib/typescript/screens/toan-trinh-so/ReviewInformationOther.d.ts.map +1 -1
  491. package/lib/typescript/screens/toan-trinh-so/ReviewLoan.d.ts.map +1 -1
  492. package/lib/typescript/screens/toan-trinh-so/TTSNationalIDBack.d.ts.map +1 -1
  493. package/lib/typescript/screens/toan-trinh-so/TTSNationalIDFront.d.ts.map +1 -1
  494. package/lib/typescript/screens/toan-trinh-so/TTSOTP.d.ts.map +1 -1
  495. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  496. package/lib/typescript/screens/toan-trinh-so/TTSSignLoan.d.ts.map +1 -1
  497. package/lib/typescript/screens/toan-trinh-so/TopupLoanInfo.d.ts.map +1 -1
  498. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  499. package/lib/typescript/screens/toan-trinh-so/VehicleRegistration.d.ts.map +1 -1
  500. package/lib/typescript/screens/toan-trinh-so/VehicleRegistrationBack.d.ts.map +1 -1
  501. package/lib/typescript/screens/toan-trinh-so/VehicleRegistrationFront.d.ts.map +1 -1
  502. package/lib/typescript/screens/toan-trinh-so/store.d.ts.map +1 -1
  503. package/lib/typescript/screens/uploadVideo/index.d.ts.map +1 -1
  504. package/lib/typescript/screens/uploadVideo/videoStore.d.ts.map +1 -1
  505. package/lib/typescript/screens/v3/AssetInformation.d.ts.map +1 -1
  506. package/lib/typescript/screens/v3/LoanBuyCar.d.ts.map +1 -1
  507. package/lib/typescript/services/api/api.d.ts.map +1 -1
  508. package/lib/typescript/utils/cameraCrop.d.ts +43 -0
  509. package/lib/typescript/utils/cameraCrop.d.ts.map +1 -0
  510. package/package.json +2 -1
  511. package/src/AppStore.tsx +7 -2
  512. package/src/RNTimacare.tsx +7 -1
  513. package/src/assets/icons/index.tsx +10 -0
  514. package/src/assets/icons/modal_confirm.svg +15 -0
  515. package/src/assets/icons/modal_notice.svg +74 -0
  516. package/src/assets/icons/modal_success.svg +55 -0
  517. package/src/assets/icons/modal_warning.svg +48 -0
  518. package/src/assets/icons/user_security.svg +10 -0
  519. package/src/assets/tts/Frame1000011947.png +0 -0
  520. package/src/components/AppModal.tsx +34 -0
  521. package/src/components/{ItemTimaOneV3.tsx → ItemTimaOne.tsx} +1 -1
  522. package/src/components/ModalNotification/AlertGlobal.tsx +100 -0
  523. package/src/components/ModalNotification/index.tsx +224 -0
  524. package/src/components/ModalOptionLoan.tsx +15 -7
  525. package/src/components/ModalOptionLoanDigital.tsx +15 -7
  526. package/src/navigation/primary-navigator.tsx +7 -0
  527. package/src/screens/NFC/OcrStart.tsx +171 -0
  528. package/src/screens/NFC/ScanMRZ.tsx +563 -0
  529. package/src/screens/SelectorStore.tsx +7 -2
  530. package/src/screens/camera/CCCDCameraScreen.tsx +253 -187
  531. package/src/screens/camera/index.tsx +50 -54
  532. package/src/screens/cimb-sign/index.tsx +10 -14
  533. package/src/screens/detail-loan/PaymentInfo.tsx +75 -54
  534. package/src/screens/detail-loan/ShowQrCode.tsx +77 -54
  535. package/src/screens/detail-loan/store.tsx +39 -7
  536. package/src/screens/detail-loan-tima/InforLoan.tsx +20 -4
  537. package/src/screens/detail-loan-tima/PaymentSchedule.tsx +19 -4
  538. package/src/screens/digital-lending/Step6.tsx +24 -29
  539. package/src/screens/digital-lending/store.tsx +113 -20
  540. package/src/screens/eSign/Store.tsx +69 -34
  541. package/src/screens/eSign/index.tsx +33 -34
  542. package/src/screens/full-submit/accept_policy.tsx +101 -85
  543. package/src/screens/full-submit/store.tsx +157 -27
  544. package/src/screens/full-submit/update-info.tsx +0 -1
  545. package/src/screens/home/DigitalTopupItem.tsx +15 -7
  546. package/src/screens/home/ItemMotoBikeLoan.tsx +16 -7
  547. package/src/screens/home/Store.tsx +44 -23
  548. package/src/screens/home/index.tsx +306 -298
  549. package/src/screens/liveness/LivenessStore.tsx +111 -89
  550. package/src/screens/liveness/index.tsx +67 -68
  551. package/src/screens/liveness-v2/index.tsx +52 -52
  552. package/src/screens/loan/PreviewSchedulePaymentTopup.tsx +20 -10
  553. package/src/screens/loan/UpdateLoan.tsx +56 -23
  554. package/src/screens/motobike/InfoLoanMotobike.tsx +43 -29
  555. package/src/screens/motobike/PolicyF88.tsx +15 -6
  556. package/src/screens/motobike/ReviewLoanMotobike.tsx +13 -3
  557. package/src/screens/mrz-scanner/index.tsx +56 -55
  558. package/src/screens/mrz-scanner/store.ts +13 -3
  559. package/src/screens/nationalID/Store.tsx +50 -29
  560. package/src/screens/nationalID/index.tsx +123 -219
  561. package/src/screens/nationalIDBack/Store.tsx +44 -26
  562. package/src/screens/nationalIDBack/index.tsx +129 -210
  563. package/src/screens/notification/ListLoanStore.tsx +19 -4
  564. package/src/screens/notification/index.tsx +0 -1
  565. package/src/screens/notification/store.tsx +7 -2
  566. package/src/screens/personal/index.tsx +21 -19
  567. package/src/screens/qualify/Store.tsx +0 -1
  568. package/src/screens/quick-submit/store.tsx +85 -15
  569. package/src/screens/schedule-payment/DigitalSchedulePayment.tsx +20 -4
  570. package/src/screens/schedule-payment/store.tsx +13 -5
  571. package/src/screens/selfie/SelfieStore.tsx +25 -9
  572. package/src/screens/selfie/index.tsx +0 -1
  573. package/src/screens/sign-tima/ViewContract.tsx +17 -18
  574. package/src/screens/sign-tima/store.tsx +37 -7
  575. package/src/screens/toan-trinh-so/LoanInterestRate.tsx +36 -10
  576. package/src/screens/toan-trinh-so/OCR.tsx +321 -609
  577. package/src/screens/toan-trinh-so/RegisterBack.tsx +21 -4
  578. package/src/screens/toan-trinh-so/RegisterCamera.tsx +50 -54
  579. package/src/screens/toan-trinh-so/ReviewInformation.tsx +31 -25
  580. package/src/screens/toan-trinh-so/ReviewInformationOther.tsx +88 -82
  581. package/src/screens/toan-trinh-so/ReviewLoan.tsx +25 -5
  582. package/src/screens/toan-trinh-so/TTSNationalIDBack.tsx +19 -4
  583. package/src/screens/toan-trinh-so/TTSNationalIDFront.tsx +19 -4
  584. package/src/screens/toan-trinh-so/TTSOTP.tsx +42 -25
  585. package/src/screens/toan-trinh-so/TTSSelfie.tsx +63 -56
  586. package/src/screens/toan-trinh-so/TTSSignLoan.tsx +63 -55
  587. package/src/screens/toan-trinh-so/TopupLoanInfo.tsx +50 -43
  588. package/src/screens/toan-trinh-so/VehicleCamera.tsx +275 -341
  589. package/src/screens/toan-trinh-so/VehicleRegistration.tsx +19 -4
  590. package/src/screens/toan-trinh-so/VehicleRegistrationBack.tsx +19 -4
  591. package/src/screens/toan-trinh-so/VehicleRegistrationFront.tsx +19 -4
  592. package/src/screens/toan-trinh-so/store.ts +82 -37
  593. package/src/screens/uploadVideo/index.tsx +26 -21
  594. package/src/screens/uploadVideo/videoStore.tsx +19 -4
  595. package/src/screens/v3/AssetInformation.tsx +35 -16
  596. package/src/screens/v3/LoanBuyCar.tsx +35 -16
  597. package/src/services/api/api.ts +23 -26
  598. package/src/utils/cameraCrop.ts +96 -0
  599. package/lib/commonjs/components/ItemTimaOneV2.js +0 -2
  600. package/lib/commonjs/components/ItemTimaOneV2.js.flow +0 -617
  601. package/lib/commonjs/components/ItemTimaOneV2.js.map +0 -1
  602. package/lib/commonjs/components/ItemTimaOneV3.js +0 -2
  603. package/lib/commonjs/components/ItemTimaOneV3.js.map +0 -1
  604. package/lib/module/components/ItemTimaOneV2.js +0 -2
  605. package/lib/module/components/ItemTimaOneV2.js.map +0 -1
  606. package/lib/module/components/ItemTimaOneV3.js +0 -2
  607. package/lib/module/components/ItemTimaOneV3.js.map +0 -1
  608. package/lib/typescript/components/ItemTimaOneV2.d.ts +0 -7
  609. package/lib/typescript/components/ItemTimaOneV2.d.ts.map +0 -1
  610. package/lib/typescript/components/ItemTimaOneV3.d.ts +0 -7
  611. package/lib/typescript/components/ItemTimaOneV3.d.ts.map +0 -1
  612. package/src/components/ItemTimaOneV2.tsx +0 -617
Binary file
@@ -0,0 +1,34 @@
1
+ //@ts-nocheck
2
+ import React from 'react';
3
+ import ReactNativeModal from 'react-native-modal';
4
+
5
+ /**
6
+ * Backdrop dùng chung cho toàn bộ Modal của app.
7
+ * Để nền tối vừa phải (không quá tối) => vẫn nhìn thấy được screen phía sau.
8
+ * react-native-modal mặc định là black @ 0.7 (khá tối), nên ta hạ xuống 0.4.
9
+ */
10
+ export const MODAL_BACKDROP_COLOR = '#000000';
11
+ export const MODAL_BACKDROP_OPACITY = 0.4;
12
+
13
+ type RNModalProps = React.ComponentProps<typeof ReactNativeModal>;
14
+ // Mọi prop optional (theo defaultProps của react-native-modal), riêng children giữ nguyên required.
15
+ type AppModalProps = Omit<Partial<RNModalProps>, 'children'> &
16
+ Pick<RNModalProps, 'children'>;
17
+
18
+ /**
19
+ * Wrapper mỏng quanh react-native-modal, áp dụng backdrop chung.
20
+ * Mọi prop truyền vào sẽ override default (ví dụ backdropOpacity, customBackdrop).
21
+ */
22
+ export default function AppModal({
23
+ backdropColor = MODAL_BACKDROP_COLOR,
24
+ backdropOpacity = MODAL_BACKDROP_OPACITY,
25
+ ...rest
26
+ }: AppModalProps) {
27
+ return (
28
+ <ReactNativeModal
29
+ backdropColor={backdropColor}
30
+ backdropOpacity={backdropOpacity}
31
+ {...rest}
32
+ />
33
+ );
34
+ }
@@ -71,7 +71,7 @@ const UpdateButton = ({ label, onPress }: any) => (
71
71
  </TouchableOpacity>
72
72
  );
73
73
 
74
- export default function ItemTimaOneV3({ item, navigation }: IProps) {
74
+ export default function ItemTimaOne({ item, navigation }: IProps) {
75
75
  const [showModal, setShowModal] = React.useState(false);
76
76
 
77
77
  const GUIDE_STEPS =
@@ -0,0 +1,100 @@
1
+ //@ts-nocheck
2
+ import React, { useEffect, useRef, useState } from 'react';
3
+ import ModalNotification, { ModalNotificationProps } from './index';
4
+
5
+ export type AlertGlobalOptions = Omit<
6
+ ModalNotificationProps,
7
+ 'open' | 'onModalHide'
8
+ > & {
9
+ /** false => bấm nút không tự đóng modal (mặc định true) */
10
+ autoDismiss?: boolean;
11
+ /** false => không cho đóng bằng backdrop / nút back Android (mặc định true) */
12
+ dismissable?: boolean;
13
+ };
14
+
15
+ interface AlertController {
16
+ show: (options: AlertGlobalOptions) => void;
17
+ hide: () => void;
18
+ }
19
+
20
+ let alertController: AlertController | null = null;
21
+
22
+ /**
23
+ * Alert dùng chung toàn app, gọi được từ mọi nơi (kể cả ngoài component):
24
+ *
25
+ * AlertGlobal.show({
26
+ * type: 'confirm',
27
+ * title: 'Xác nhận tất toán',
28
+ * message: 'Bạn có chắc muốn gửi yêu cầu tất toán hợp đồng không?',
29
+ * secondaryText: 'Quay lại',
30
+ * primaryText: 'Gửi yêu cầu',
31
+ * onPrimaryPress: () => submit(),
32
+ * });
33
+ *
34
+ * Mặc định bấm nút / backdrop sẽ tự đóng modal rồi mới chạy callback
35
+ * (callback chạy sau khi animation đóng xong => có thể mở tiếp modal khác).
36
+ * Yêu cầu <AlertGlobalHost /> đã được mount trong App.tsx.
37
+ */
38
+ export const AlertGlobal = {
39
+ show(options: AlertGlobalOptions) {
40
+ alertController?.show(options);
41
+ },
42
+ hide() {
43
+ alertController?.hide();
44
+ },
45
+ };
46
+
47
+ /** Mount 1 lần duy nhất ở App.tsx */
48
+ export function AlertGlobalHost() {
49
+ const [visible, setVisible] = useState(false);
50
+ const [options, setOptions] = useState<AlertGlobalOptions>({ title: '' });
51
+ // Callback chờ modal đóng xong animation mới được gọi
52
+ const pendingCallback = useRef<(() => void) | undefined>(undefined);
53
+
54
+ useEffect(() => {
55
+ alertController = {
56
+ show: (opts) => {
57
+ pendingCallback.current = undefined;
58
+ setOptions(opts);
59
+ setVisible(true);
60
+ },
61
+ hide: () => setVisible(false),
62
+ };
63
+ return () => {
64
+ alertController = null;
65
+ };
66
+ }, []);
67
+
68
+ const {
69
+ autoDismiss = true,
70
+ dismissable = true,
71
+ onClose,
72
+ onPrimaryPress,
73
+ onSecondaryPress,
74
+ ...rest
75
+ } = options;
76
+
77
+ const dismissThen = (callback?: () => void) => {
78
+ if (!autoDismiss) {
79
+ callback?.();
80
+ return;
81
+ }
82
+ pendingCallback.current = callback;
83
+ setVisible(false);
84
+ };
85
+
86
+ return (
87
+ <ModalNotification
88
+ {...rest}
89
+ open={visible}
90
+ onClose={dismissable ? () => dismissThen(onClose) : undefined}
91
+ onPrimaryPress={() => dismissThen(onPrimaryPress)}
92
+ onSecondaryPress={() => dismissThen(onSecondaryPress)}
93
+ onModalHide={() => {
94
+ const callback = pendingCallback.current;
95
+ pendingCallback.current = undefined;
96
+ callback?.();
97
+ }}
98
+ />
99
+ );
100
+ }
@@ -0,0 +1,224 @@
1
+ //@ts-nocheck
2
+ import React, { ReactNode } from 'react';
3
+ import { StyleSheet, TouchableOpacity, View } from 'react-native';
4
+ import LinearGradient from 'react-native-linear-gradient';
5
+
6
+ import { MText } from '../MText';
7
+ import AppModal from '../AppModal';
8
+ import {
9
+ CloseIcon,
10
+ IconModalConfirm,
11
+ IconModalNotice,
12
+ IconModalSuccess,
13
+ IconModalWarning,
14
+ } from '../../assets/icons';
15
+
16
+ export type ModalNotificationType =
17
+ | 'confirm'
18
+ | 'success'
19
+ | 'warning'
20
+ | 'notice';
21
+
22
+ const ICON_BY_TYPE: Record<ModalNotificationType, React.FC<any>> = {
23
+ confirm: IconModalConfirm,
24
+ success: IconModalSuccess,
25
+ warning: IconModalWarning,
26
+ notice: IconModalNotice,
27
+ };
28
+
29
+ /** Dải gradient mờ dần phía sau icon (theo design từng type) */
30
+ const ICON_GRADIENT_BY_TYPE: Partial<Record<ModalNotificationType, string[]>> =
31
+ {
32
+ success: ['rgba(89, 205, 82, 1)', 'rgba(89, 205, 82, 0)'],
33
+ warning: ['rgba(255, 76, 76, 1)', 'rgba(255, 36, 36, 0)'],
34
+ notice: ['rgba(255, 118, 65, 1)', 'rgba(255, 180, 104, 0)'],
35
+ confirm: ['rgba(255, 180, 104, 1)', 'rgba(255, 149, 82, 0)'],
36
+ };
37
+
38
+ export interface ModalNotificationProps {
39
+ open: boolean;
40
+ /** Quyết định icon mặc định hiển thị phía trên title */
41
+ type?: ModalNotificationType;
42
+ title: string;
43
+ message?: string | ReactNode;
44
+ /** Truyền vào để thay icon mặc định theo type */
45
+ icon?: ReactNode;
46
+ /** Hiện nút X góc phải (vd: modal "Gửi yêu cầu thành công") */
47
+ showClose?: boolean;
48
+ /** Gọi khi bấm X hoặc backdrop */
49
+ onClose?: () => void;
50
+ /** Nút chính (viền cam). Không truyền secondaryText => nút full-width */
51
+ primaryText?: string;
52
+ onPrimaryPress?: () => void;
53
+ /** Icon đặt trước text nút chính (vd: icon gọi điện "Liên hệ Tima") */
54
+ primaryIcon?: ReactNode;
55
+ /** Nút phụ (viền xám) bên trái nút chính */
56
+ secondaryText?: string;
57
+ onSecondaryPress?: () => void;
58
+ /** Gọi sau khi modal đã đóng xong animation (dùng cho AlertGlobal) */
59
+ onModalHide?: () => void;
60
+ }
61
+
62
+ /**
63
+ * Modal thông báo dùng chung cho toàn app: icon + title + message + 1-2 nút.
64
+ *
65
+ * - Xác nhận: type="confirm" (dấu ? cam)
66
+ * - Thành công: type="success" (tick xanh)
67
+ * - Cảnh báo: type="warning" (tam giác đỏ)
68
+ * - Thông báo: type="notice" (đám mây cam)
69
+ */
70
+ export default function ModalNotification({
71
+ open,
72
+ type = 'notice',
73
+ title,
74
+ message,
75
+ icon,
76
+ showClose = false,
77
+ onClose,
78
+ primaryText,
79
+ onPrimaryPress,
80
+ primaryIcon,
81
+ secondaryText,
82
+ onSecondaryPress,
83
+ onModalHide,
84
+ }: ModalNotificationProps) {
85
+ const IconByType = ICON_BY_TYPE[type];
86
+ const iconGradient = ICON_GRADIENT_BY_TYPE[type];
87
+
88
+ return (
89
+ <AppModal
90
+ isVisible={open}
91
+ backdropTransitionOutTiming={0}
92
+ animationIn="zoomIn"
93
+ animationOut="zoomOut"
94
+ onBackdropPress={onClose}
95
+ onBackButtonPress={onClose}
96
+ onModalHide={onModalHide}
97
+ >
98
+ <View style={styles.container}>
99
+ {!!iconGradient && (
100
+ <LinearGradient
101
+ colors={iconGradient}
102
+ start={{ x: 0.5, y: 0 }}
103
+ end={{ x: 0.5, y: 1 }}
104
+ style={styles.iconBackdrop}
105
+ />
106
+ )}
107
+
108
+ {showClose && (
109
+ <TouchableOpacity style={styles.closeButton} onPress={onClose}>
110
+ <CloseIcon />
111
+ </TouchableOpacity>
112
+ )}
113
+
114
+ {icon ?? <IconByType width={72} height={72} />}
115
+
116
+ <MText style={styles.title}>{title}</MText>
117
+
118
+ {!!message && <MText style={styles.message}>{message}</MText>}
119
+
120
+ <View style={styles.buttonRow}>
121
+ {!!secondaryText && (
122
+ <TouchableOpacity
123
+ style={[styles.button, styles.secondaryButton]}
124
+ onPress={onSecondaryPress}
125
+ >
126
+ <MText
127
+ style={{
128
+ color: 'rgba(153, 153, 153, 1)',
129
+ }}
130
+ >
131
+ {secondaryText}
132
+ </MText>
133
+ </TouchableOpacity>
134
+ )}
135
+
136
+ {!!primaryText && (
137
+ <TouchableOpacity
138
+ style={[styles.button, styles.primaryButton]}
139
+ onPress={onPrimaryPress}
140
+ >
141
+ {primaryIcon}
142
+ <MText
143
+ style={{
144
+ color: '#EF592E',
145
+ }}
146
+ >
147
+ {primaryText}
148
+ </MText>
149
+ </TouchableOpacity>
150
+ )}
151
+ </View>
152
+ </View>
153
+ </AppModal>
154
+ );
155
+ }
156
+
157
+ const styles = StyleSheet.create({
158
+ container: {
159
+ backgroundColor: '#FFFFFF',
160
+ borderRadius: 16,
161
+ paddingHorizontal: 16,
162
+ paddingTop: 24,
163
+ paddingBottom: 16,
164
+ alignItems: 'center',
165
+ // Để dải gradient sau icon không tràn ra ngoài góc bo
166
+ overflow: 'hidden',
167
+ },
168
+ iconBackdrop: {
169
+ position: 'absolute',
170
+ top: 0,
171
+ left: 0,
172
+ right: 0,
173
+ height: 112,
174
+ // Design chỉ là dải màu nhạt, không dùng full màu gốc
175
+ opacity: 0.15,
176
+ },
177
+ closeButton: {
178
+ position: 'absolute',
179
+ top: 12,
180
+ right: 12,
181
+ width: 28,
182
+ height: 28,
183
+ alignItems: 'center',
184
+ justifyContent: 'center',
185
+ zIndex: 1,
186
+ },
187
+ title: {
188
+ textAlign: 'center',
189
+ marginTop: 12,
190
+ color: '#333333',
191
+ fontFamily: 'BeVietnamPro-SemiBold',
192
+ fontWeight: '600',
193
+ fontSize: 16,
194
+ },
195
+ message: {
196
+ textAlign: 'center',
197
+ marginTop: 8,
198
+ lineHeight: 20,
199
+ paddingHorizontal: 24,
200
+ color: '#828282',
201
+ },
202
+ buttonRow: {
203
+ flexDirection: 'row',
204
+ alignSelf: 'stretch',
205
+ marginTop: 24,
206
+ gap: 12,
207
+ },
208
+ button: {
209
+ flex: 1,
210
+ flexDirection: 'row',
211
+ height: 40,
212
+ borderRadius: 24,
213
+ borderWidth: 0.5,
214
+ alignItems: 'center',
215
+ justifyContent: 'center',
216
+ gap: 6,
217
+ },
218
+ secondaryButton: {
219
+ borderColor: 'rgba(153, 153, 153, 0.5)',
220
+ },
221
+ primaryButton: {
222
+ borderColor: '#EF592E',
223
+ },
224
+ });
@@ -2,7 +2,6 @@
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import {
4
4
  ActivityIndicator,
5
- Alert,
6
5
  SafeAreaView,
7
6
  TextStyle,
8
7
  TouchableOpacity,
@@ -10,6 +9,7 @@ import {
10
9
  ViewStyle,
11
10
  } from 'react-native';
12
11
  import Modal from 'react-native-modal';
12
+ import { AlertGlobal } from './ModalNotification/AlertGlobal';
13
13
  import { MText } from './MText';
14
14
  import MButton from './MButton';
15
15
  import LinearGradient from 'react-native-linear-gradient';
@@ -57,7 +57,12 @@ export default function ModalOptionLoan({
57
57
 
58
58
  const onSubmit = async () => {
59
59
  if (!option) {
60
- Alert.alert('Thông báo', 'Vui lòng chọn gói vay để tiếp tục');
60
+ AlertGlobal.show({
61
+ type: 'warning',
62
+ title: 'Thông báo',
63
+ message: 'Vui lòng chọn gói vay để tiếp tục',
64
+ primaryText: 'Đóng',
65
+ });
61
66
  return;
62
67
  }
63
68
  try {
@@ -71,11 +76,14 @@ export default function ModalOptionLoan({
71
76
  if (response.kind === 'ok' && response.data?.meta?.errorCode === 200) {
72
77
  if (callback) callback();
73
78
  } else {
74
- Alert.alert(
75
- 'Thông báo',
76
- response.data?.meta?.errorMessage ||
77
- 'Có lỗi xảy ra. Vui lòng thử lại sau'
78
- );
79
+ AlertGlobal.show({
80
+ type: 'warning',
81
+ title: 'Thông báo',
82
+ message:
83
+ response.data?.meta?.errorMessage ||
84
+ 'Có lỗi xảy ra. Vui lòng thử lại sau',
85
+ primaryText: 'Đóng',
86
+ });
79
87
  }
80
88
  } catch (error) {
81
89
  console.log(error);
@@ -2,7 +2,6 @@
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import {
4
4
  ActivityIndicator,
5
- Alert,
6
5
  SafeAreaView,
7
6
  TextStyle,
8
7
  TouchableOpacity,
@@ -10,6 +9,7 @@ import {
10
9
  ViewStyle,
11
10
  } from 'react-native';
12
11
  import Modal from 'react-native-modal';
12
+ import { AlertGlobal } from './ModalNotification/AlertGlobal';
13
13
  import { MText } from './MText';
14
14
  import MButton from './MButton';
15
15
  import LinearGradient from 'react-native-linear-gradient';
@@ -62,7 +62,12 @@ export default function ModalOptionLoanDigital({
62
62
 
63
63
  const onSubmit = async () => {
64
64
  if (!option) {
65
- Alert.alert('Thông báo', 'Vui lòng chọn gói vay để tiếp tục');
65
+ AlertGlobal.show({
66
+ type: 'warning',
67
+ title: 'Thông báo',
68
+ message: 'Vui lòng chọn gói vay để tiếp tục',
69
+ primaryText: 'Đóng',
70
+ });
66
71
  return;
67
72
  }
68
73
  try {
@@ -76,11 +81,14 @@ export default function ModalOptionLoanDigital({
76
81
  if (response.kind === 'ok' && response.data?.meta?.errorCode === 200) {
77
82
  if (callback) callback();
78
83
  } else {
79
- Alert.alert(
80
- 'Thông báo',
81
- response.data?.meta?.errorMessage ||
82
- 'Có lỗi xảy ra. Vui lòng thử lại sau'
83
- );
84
+ AlertGlobal.show({
85
+ type: 'warning',
86
+ title: 'Thông báo',
87
+ message:
88
+ response.data?.meta?.errorMessage ||
89
+ 'Có lỗi xảy ra. Vui lòng thử lại sau',
90
+ primaryText: 'Đóng',
91
+ });
84
92
  }
85
93
  } catch (error) {
86
94
  console.log(error);
@@ -83,6 +83,8 @@ import LoanBuyCar from '../screens/v3/LoanBuyCar';
83
83
  import InfoLoanMotobike from '../screens/motobike/InfoLoanMotobike';
84
84
  import ReviewLoanMotobike from '../screens/motobike/ReviewLoanMotobike';
85
85
  import PolicyF88 from '../screens/motobike/PolicyF88';
86
+ import OcrStart from '../screens/NFC/OcrStart';
87
+ import ScanMRZ from '../screens/NFC/ScanMRZ';
86
88
 
87
89
  export const ScreenNames = {
88
90
  Main: 'HomeTimaCare',
@@ -157,6 +159,9 @@ export const ScreenNames = {
157
159
  InfoLoanMotobike: 'InfoLoanMotobike',
158
160
  ReviewLoanMotobike: 'ReviewLoanMotobike',
159
161
  PolicyF88: 'PolicyF88',
162
+ OcrStart: 'OcrStart',
163
+ ScanMRZ: 'ScanMRZ',
164
+ CameraVehicleRegistration: 'CameraVehicleRegistration',
160
165
  };
161
166
 
162
167
  const Stack = createNativeStackNavigator();
@@ -332,6 +337,8 @@ export function PrimaryNavigator(props) {
332
337
  component={ReviewLoanMotobike}
333
338
  />
334
339
  <Stack.Screen name={ScreenNames.PolicyF88} component={PolicyF88} />
340
+ <Stack.Screen name={ScreenNames.OcrStart} component={OcrStart} />
341
+ <Stack.Screen name={ScreenNames.ScanMRZ} component={ScanMRZ} />
335
342
  </Stack.Navigator>
336
343
  );
337
344
  }
@@ -0,0 +1,171 @@
1
+ //@ts-nocheck
2
+ import React from 'react';
3
+ import {
4
+ Image,
5
+ ScrollView,
6
+ StyleSheet,
7
+ TouchableOpacity,
8
+ View,
9
+ } from 'react-native';
10
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
11
+ import { useNavigation } from '@react-navigation/native';
12
+ import { IconBack, IconUserSecurity, TimaSmall } from '../../assets/icons';
13
+ import { MText } from '../../components/MText';
14
+ import LinearGradient from 'react-native-linear-gradient';
15
+ import { ScreenNames } from '../../navigation';
16
+
17
+ export default function OcrStart(props: any) {
18
+ const insets = useSafeAreaInsets();
19
+ const navigation = useNavigation();
20
+ return (
21
+ <View style={styles.container}>
22
+ <View style={[styles.header, { paddingTop: insets.top + 16 }]}>
23
+ <TouchableOpacity
24
+ onPress={() => navigation.goBack()}
25
+ hitSlop={{ top: 12, bottom: 12, left: 12, right: 12 }}
26
+ >
27
+ <IconBack />
28
+ </TouchableOpacity>
29
+ </View>
30
+ <ScrollView style={{ flex: 1 }}>
31
+ <View style={styles.column_top}>
32
+ <IconUserSecurity />
33
+ <MText style={styles.title}>Xác thực giấy tờ để tiếp tục</MText>
34
+ </View>
35
+ <View style={styles.content}>
36
+ <MText style={styles.label}>
37
+ Cách 1: NFC (Áp dụng cho CCCD gắn chip)
38
+ </MText>
39
+ <View style={styles.row}>
40
+ <TimaSmall />
41
+ <MText style={styles.description}>
42
+ Đưa phần chip của CCCD đến vị trí đọc NFC trên mặt lưng điện
43
+ thoại.
44
+ </MText>
45
+ </View>
46
+ <View style={styles.row}>
47
+ <TimaSmall />
48
+ <MText style={styles.description}>
49
+ Giữ nguyên để hệ thống đọc giữ liệu trong 5-10 giây
50
+ </MText>
51
+ </View>
52
+ <Image
53
+ source={require('../../assets/tts/Frame1000011953.png')}
54
+ style={{
55
+ width: '100%',
56
+ height: 82,
57
+ resizeMode: 'contain',
58
+ marginTop: 16,
59
+ }}
60
+ />
61
+ <MText style={[styles.label, { marginTop: 16 }]}>
62
+ Cách 2: Chụp 2 mặt
63
+ </MText>
64
+ <View style={styles.row}>
65
+ <TimaSmall />
66
+ <MText style={styles.description}>
67
+ Nên đặt CCCD/ CC lên mặt phẳng để chụp
68
+ </MText>
69
+ </View>
70
+ <View style={styles.row}>
71
+ <TimaSmall />
72
+ <MText style={styles.description}>
73
+ Đặt CCCD/ CC nằm gọn trong khung hình (Không quá nhỏ hay quá to
74
+ làm mất chi tiết)
75
+ </MText>
76
+ </View>
77
+ <View style={styles.row}>
78
+ <TimaSmall />
79
+ <MText style={styles.description}>
80
+ Chọn nơi ánh sáng tốt, tránh lóa/ chói hình chụp
81
+ </MText>
82
+ </View>
83
+ <Image
84
+ source={require('../../assets/tts/Frame1000011947.png')}
85
+ style={{
86
+ width: '100%',
87
+ height: 82,
88
+ resizeMode: 'contain',
89
+ marginTop: 16,
90
+ }}
91
+ />
92
+ </View>
93
+ </ScrollView>
94
+ <TouchableOpacity
95
+ onPress={() => {
96
+ navigation.navigate(ScreenNames.ScanMRZ, props);
97
+ }}
98
+ style={{
99
+ marginHorizontal: 16,
100
+ marginBottom: 24,
101
+ }}
102
+ >
103
+ <LinearGradient
104
+ start={{ x: 1, y: 0 }}
105
+ end={{ x: 0, y: 1 }}
106
+ style={{
107
+ height: 40,
108
+ marginVertical: 16,
109
+ borderRadius: 30,
110
+ alignItems: 'center',
111
+ justifyContent: 'center',
112
+ }}
113
+ colors={['#FF7A00', '#EF4123']}
114
+ >
115
+ <MText
116
+ style={{
117
+ fontSize: 16,
118
+ color: 'white',
119
+ }}
120
+ >
121
+ Xác thực ngay
122
+ </MText>
123
+ </LinearGradient>
124
+ </TouchableOpacity>
125
+ </View>
126
+ );
127
+ }
128
+
129
+ const styles = StyleSheet.create({
130
+ container: {
131
+ flex: 1,
132
+ backgroundColor: '#FFFFFF',
133
+ },
134
+ header: {
135
+ flexDirection: 'row',
136
+ alignItems: 'center',
137
+ paddingHorizontal: 16,
138
+ backgroundColor: '#FFF3E9',
139
+ },
140
+ title: {
141
+ fontFamily: 'BeVietnamPro-SemiBold',
142
+ fontWeight: '600',
143
+ textAlign: 'center',
144
+ fontSize: 16,
145
+ },
146
+ column_top: {
147
+ alignItems: 'center',
148
+ flexDirection: 'column',
149
+ gap: 16,
150
+ backgroundColor: '#FFF3E9',
151
+ paddingBottom: 16,
152
+ },
153
+ content: {
154
+ flex: 1,
155
+ padding: 16,
156
+ },
157
+ label: {
158
+ fontFamily: 'BeVietnamPro-SemiBold',
159
+ fontWeight: '600',
160
+ },
161
+ row: {
162
+ flexDirection: 'row',
163
+ gap: 10,
164
+ alignItems: 'center',
165
+ marginTop: 10,
166
+ },
167
+ description: {
168
+ fontSize: 12,
169
+ flex: 1,
170
+ },
171
+ });