react-native-timacare 3.3.55 → 3.3.56-alert

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 (574) 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 +8 -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/components/AppModal.js +2 -0
  15. package/lib/commonjs/components/AppModal.js.flow +34 -0
  16. package/lib/commonjs/components/AppModal.js.map +1 -0
  17. package/lib/commonjs/components/ItemTimaOne.js +2 -0
  18. package/lib/commonjs/components/{ItemTimaOneV3.js.flow → ItemTimaOne.js.flow} +1 -1
  19. package/lib/commonjs/components/ItemTimaOne.js.map +1 -0
  20. package/lib/commonjs/components/ModalNotification/AlertGlobal.js +2 -0
  21. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.flow +100 -0
  22. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.map +1 -0
  23. package/lib/commonjs/components/ModalNotification/index.js +2 -0
  24. package/lib/commonjs/components/ModalNotification/index.js.flow +224 -0
  25. package/lib/commonjs/components/ModalNotification/index.js.map +1 -0
  26. package/lib/commonjs/components/ModalOptionLoan.js +1 -1
  27. package/lib/commonjs/components/ModalOptionLoan.js.flow +15 -7
  28. package/lib/commonjs/components/ModalOptionLoan.js.map +1 -1
  29. package/lib/commonjs/components/ModalOptionLoanDigital.js +1 -1
  30. package/lib/commonjs/components/ModalOptionLoanDigital.js.flow +15 -7
  31. package/lib/commonjs/components/ModalOptionLoanDigital.js.map +1 -1
  32. package/lib/commonjs/screens/SelectorStore.js +1 -1
  33. package/lib/commonjs/screens/SelectorStore.js.flow +7 -2
  34. package/lib/commonjs/screens/SelectorStore.js.map +1 -1
  35. package/lib/commonjs/screens/camera/CCCDCameraScreen.js +1 -1
  36. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.flow +50 -54
  37. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.map +1 -1
  38. package/lib/commonjs/screens/camera/index.js +1 -1
  39. package/lib/commonjs/screens/camera/index.js.flow +50 -54
  40. package/lib/commonjs/screens/camera/index.js.map +1 -1
  41. package/lib/commonjs/screens/cimb-sign/index.js +1 -1
  42. package/lib/commonjs/screens/cimb-sign/index.js.flow +10 -14
  43. package/lib/commonjs/screens/cimb-sign/index.js.map +1 -1
  44. package/lib/commonjs/screens/detail-loan/PaymentInfo.js +1 -1
  45. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.flow +75 -54
  46. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.map +1 -1
  47. package/lib/commonjs/screens/detail-loan/ShowQrCode.js +1 -1
  48. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.flow +77 -54
  49. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.map +1 -1
  50. package/lib/commonjs/screens/detail-loan/store.js +1 -1
  51. package/lib/commonjs/screens/detail-loan/store.js.flow +39 -7
  52. package/lib/commonjs/screens/detail-loan/store.js.map +1 -1
  53. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js +1 -1
  54. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js.flow +20 -4
  55. package/lib/commonjs/screens/detail-loan-tima/InforLoan.js.map +1 -1
  56. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js +1 -1
  57. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js.flow +19 -4
  58. package/lib/commonjs/screens/detail-loan-tima/PaymentSchedule.js.map +1 -1
  59. package/lib/commonjs/screens/digital-lending/Step6.js +1 -1
  60. package/lib/commonjs/screens/digital-lending/Step6.js.flow +24 -29
  61. package/lib/commonjs/screens/digital-lending/Step6.js.map +1 -1
  62. package/lib/commonjs/screens/digital-lending/store.js +1 -1
  63. package/lib/commonjs/screens/digital-lending/store.js.flow +113 -20
  64. package/lib/commonjs/screens/digital-lending/store.js.map +1 -1
  65. package/lib/commonjs/screens/eSign/Store.js +1 -1
  66. package/lib/commonjs/screens/eSign/Store.js.flow +69 -34
  67. package/lib/commonjs/screens/eSign/Store.js.map +1 -1
  68. package/lib/commonjs/screens/eSign/index.js +1 -1
  69. package/lib/commonjs/screens/eSign/index.js.flow +33 -34
  70. package/lib/commonjs/screens/eSign/index.js.map +1 -1
  71. package/lib/commonjs/screens/full-submit/accept_policy.js +1 -1
  72. package/lib/commonjs/screens/full-submit/accept_policy.js.flow +101 -85
  73. package/lib/commonjs/screens/full-submit/accept_policy.js.map +1 -1
  74. package/lib/commonjs/screens/full-submit/store.js +1 -1
  75. package/lib/commonjs/screens/full-submit/store.js.flow +157 -27
  76. package/lib/commonjs/screens/full-submit/store.js.map +1 -1
  77. package/lib/commonjs/screens/full-submit/update-info.js +1 -1
  78. package/lib/commonjs/screens/full-submit/update-info.js.flow +0 -1
  79. package/lib/commonjs/screens/full-submit/update-info.js.map +1 -1
  80. package/lib/commonjs/screens/home/DigitalTopupItem.js +1 -1
  81. package/lib/commonjs/screens/home/DigitalTopupItem.js.flow +15 -7
  82. package/lib/commonjs/screens/home/DigitalTopupItem.js.map +1 -1
  83. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js +1 -1
  84. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.flow +16 -7
  85. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.map +1 -1
  86. package/lib/commonjs/screens/home/Store.js +1 -1
  87. package/lib/commonjs/screens/home/Store.js.flow +44 -23
  88. package/lib/commonjs/screens/home/Store.js.map +1 -1
  89. package/lib/commonjs/screens/home/index.js +1 -1
  90. package/lib/commonjs/screens/home/index.js.flow +299 -186
  91. package/lib/commonjs/screens/home/index.js.map +1 -1
  92. package/lib/commonjs/screens/liveness/LivenessStore.js +1 -1
  93. package/lib/commonjs/screens/liveness/LivenessStore.js.flow +111 -89
  94. package/lib/commonjs/screens/liveness/LivenessStore.js.map +1 -1
  95. package/lib/commonjs/screens/liveness/index.js +1 -1
  96. package/lib/commonjs/screens/liveness/index.js.flow +67 -68
  97. package/lib/commonjs/screens/liveness/index.js.map +1 -1
  98. package/lib/commonjs/screens/liveness-v2/index.js +1 -1
  99. package/lib/commonjs/screens/liveness-v2/index.js.flow +52 -52
  100. package/lib/commonjs/screens/liveness-v2/index.js.map +1 -1
  101. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js +1 -1
  102. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js.flow +20 -10
  103. package/lib/commonjs/screens/loan/PreviewSchedulePaymentTopup.js.map +1 -1
  104. package/lib/commonjs/screens/loan/UpdateLoan.js +1 -1
  105. package/lib/commonjs/screens/loan/UpdateLoan.js.flow +56 -23
  106. package/lib/commonjs/screens/loan/UpdateLoan.js.map +1 -1
  107. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js +1 -1
  108. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.flow +43 -29
  109. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.map +1 -1
  110. package/lib/commonjs/screens/motobike/PolicyF88.js +1 -1
  111. package/lib/commonjs/screens/motobike/PolicyF88.js.flow +15 -6
  112. package/lib/commonjs/screens/motobike/PolicyF88.js.map +1 -1
  113. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js +1 -1
  114. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.flow +13 -3
  115. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  116. package/lib/commonjs/screens/mrz-scanner/index.js +1 -1
  117. package/lib/commonjs/screens/mrz-scanner/index.js.flow +56 -55
  118. package/lib/commonjs/screens/mrz-scanner/index.js.map +1 -1
  119. package/lib/commonjs/screens/mrz-scanner/store.js +1 -1
  120. package/lib/commonjs/screens/mrz-scanner/store.js.flow +13 -3
  121. package/lib/commonjs/screens/mrz-scanner/store.js.map +1 -1
  122. package/lib/commonjs/screens/nationalID/Store.js +1 -1
  123. package/lib/commonjs/screens/nationalID/Store.js.flow +50 -29
  124. package/lib/commonjs/screens/nationalID/Store.js.map +1 -1
  125. package/lib/commonjs/screens/nationalID/index.js +1 -1
  126. package/lib/commonjs/screens/nationalID/index.js.flow +0 -1
  127. package/lib/commonjs/screens/nationalID/index.js.map +1 -1
  128. package/lib/commonjs/screens/nationalIDBack/Store.js +1 -1
  129. package/lib/commonjs/screens/nationalIDBack/Store.js.flow +44 -26
  130. package/lib/commonjs/screens/nationalIDBack/Store.js.map +1 -1
  131. package/lib/commonjs/screens/nationalIDBack/index.js +1 -1
  132. package/lib/commonjs/screens/nationalIDBack/index.js.flow +0 -1
  133. package/lib/commonjs/screens/nationalIDBack/index.js.map +1 -1
  134. package/lib/commonjs/screens/notification/ListLoanStore.js +1 -1
  135. package/lib/commonjs/screens/notification/ListLoanStore.js.flow +19 -4
  136. package/lib/commonjs/screens/notification/ListLoanStore.js.map +1 -1
  137. package/lib/commonjs/screens/notification/index.js +1 -1
  138. package/lib/commonjs/screens/notification/index.js.flow +0 -1
  139. package/lib/commonjs/screens/notification/index.js.map +1 -1
  140. package/lib/commonjs/screens/notification/store.js +1 -1
  141. package/lib/commonjs/screens/notification/store.js.flow +7 -2
  142. package/lib/commonjs/screens/notification/store.js.map +1 -1
  143. package/lib/commonjs/screens/personal/index.js +1 -1
  144. package/lib/commonjs/screens/personal/index.js.flow +21 -19
  145. package/lib/commonjs/screens/personal/index.js.map +1 -1
  146. package/lib/commonjs/screens/qualify/Store.js.flow +0 -1
  147. package/lib/commonjs/screens/qualify/Store.js.map +1 -1
  148. package/lib/commonjs/screens/quick-submit/store.js +1 -1
  149. package/lib/commonjs/screens/quick-submit/store.js.flow +85 -15
  150. package/lib/commonjs/screens/quick-submit/store.js.map +1 -1
  151. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js +1 -1
  152. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js.flow +20 -4
  153. package/lib/commonjs/screens/schedule-payment/DigitalSchedulePayment.js.map +1 -1
  154. package/lib/commonjs/screens/schedule-payment/store.js +1 -1
  155. package/lib/commonjs/screens/schedule-payment/store.js.flow +13 -5
  156. package/lib/commonjs/screens/schedule-payment/store.js.map +1 -1
  157. package/lib/commonjs/screens/selfie/SelfieStore.js +1 -1
  158. package/lib/commonjs/screens/selfie/SelfieStore.js.flow +25 -9
  159. package/lib/commonjs/screens/selfie/SelfieStore.js.map +1 -1
  160. package/lib/commonjs/screens/selfie/index.js +1 -1
  161. package/lib/commonjs/screens/selfie/index.js.flow +0 -1
  162. package/lib/commonjs/screens/selfie/index.js.map +1 -1
  163. package/lib/commonjs/screens/sign-tima/ViewContract.js +1 -1
  164. package/lib/commonjs/screens/sign-tima/ViewContract.js.flow +17 -18
  165. package/lib/commonjs/screens/sign-tima/ViewContract.js.map +1 -1
  166. package/lib/commonjs/screens/sign-tima/store.js +1 -1
  167. package/lib/commonjs/screens/sign-tima/store.js.flow +37 -7
  168. package/lib/commonjs/screens/sign-tima/store.js.map +1 -1
  169. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js +1 -1
  170. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js.flow +36 -10
  171. package/lib/commonjs/screens/toan-trinh-so/LoanInterestRate.js.map +1 -1
  172. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  173. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +64 -66
  174. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  175. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js +1 -1
  176. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.flow +21 -4
  177. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  178. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js +1 -1
  179. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.flow +50 -54
  180. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  181. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js +1 -1
  182. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.flow +31 -25
  183. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  184. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  185. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.flow +88 -82
  186. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  187. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js +1 -1
  188. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.flow +25 -5
  189. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  190. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  191. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.flow +19 -4
  192. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  193. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  194. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.flow +19 -4
  195. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  196. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js +1 -1
  197. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js.flow +42 -25
  198. package/lib/commonjs/screens/toan-trinh-so/TTSOTP.js.map +1 -1
  199. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  200. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +63 -56
  201. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  202. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  203. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.flow +63 -55
  204. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  205. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  206. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.flow +50 -43
  207. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  208. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  209. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +50 -54
  210. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  211. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  212. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.flow +19 -4
  213. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  214. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  215. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.flow +19 -4
  216. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  217. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  218. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.flow +19 -4
  219. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  220. package/lib/commonjs/screens/toan-trinh-so/store.js +1 -1
  221. package/lib/commonjs/screens/toan-trinh-so/store.js.flow +82 -37
  222. package/lib/commonjs/screens/toan-trinh-so/store.js.map +1 -1
  223. package/lib/commonjs/screens/uploadVideo/index.js +1 -1
  224. package/lib/commonjs/screens/uploadVideo/index.js.flow +26 -21
  225. package/lib/commonjs/screens/uploadVideo/index.js.map +1 -1
  226. package/lib/commonjs/screens/uploadVideo/videoStore.js +1 -1
  227. package/lib/commonjs/screens/uploadVideo/videoStore.js.flow +19 -4
  228. package/lib/commonjs/screens/uploadVideo/videoStore.js.map +1 -1
  229. package/lib/commonjs/screens/v3/AssetInformation.js +1 -1
  230. package/lib/commonjs/screens/v3/AssetInformation.js.flow +35 -16
  231. package/lib/commonjs/screens/v3/AssetInformation.js.map +1 -1
  232. package/lib/commonjs/screens/v3/LoanBuyCar.js +1 -1
  233. package/lib/commonjs/screens/v3/LoanBuyCar.js.flow +35 -16
  234. package/lib/commonjs/screens/v3/LoanBuyCar.js.map +1 -1
  235. package/lib/commonjs/services/api/api.js +1 -1
  236. package/lib/commonjs/services/api/api.js.flow +23 -26
  237. package/lib/commonjs/services/api/api.js.map +1 -1
  238. package/lib/module/AppStore.js +1 -1
  239. package/lib/module/AppStore.js.map +1 -1
  240. package/lib/module/RNTimacare.js +1 -1
  241. package/lib/module/RNTimacare.js.map +1 -1
  242. package/lib/module/assets/icons/index.js +1 -1
  243. package/lib/module/assets/icons/index.js.map +1 -1
  244. package/lib/module/assets/icons/modal_confirm.svg +15 -0
  245. package/lib/module/assets/icons/modal_notice.svg +74 -0
  246. package/lib/module/assets/icons/modal_success.svg +55 -0
  247. package/lib/module/assets/icons/modal_warning.svg +48 -0
  248. package/lib/module/components/AppModal.js +2 -0
  249. package/lib/module/components/AppModal.js.map +1 -0
  250. package/lib/module/components/ItemTimaOne.js +2 -0
  251. package/lib/module/components/ItemTimaOne.js.map +1 -0
  252. package/lib/module/components/ModalNotification/AlertGlobal.js +2 -0
  253. package/lib/module/components/ModalNotification/AlertGlobal.js.map +1 -0
  254. package/lib/module/components/ModalNotification/index.js +2 -0
  255. package/lib/module/components/ModalNotification/index.js.map +1 -0
  256. package/lib/module/components/ModalOptionLoan.js +1 -1
  257. package/lib/module/components/ModalOptionLoan.js.map +1 -1
  258. package/lib/module/components/ModalOptionLoanDigital.js +1 -1
  259. package/lib/module/components/ModalOptionLoanDigital.js.map +1 -1
  260. package/lib/module/screens/SelectorStore.js +1 -1
  261. package/lib/module/screens/SelectorStore.js.map +1 -1
  262. package/lib/module/screens/camera/CCCDCameraScreen.js +1 -1
  263. package/lib/module/screens/camera/CCCDCameraScreen.js.map +1 -1
  264. package/lib/module/screens/camera/index.js +1 -1
  265. package/lib/module/screens/camera/index.js.map +1 -1
  266. package/lib/module/screens/cimb-sign/index.js +1 -1
  267. package/lib/module/screens/cimb-sign/index.js.map +1 -1
  268. package/lib/module/screens/detail-loan/PaymentInfo.js +1 -1
  269. package/lib/module/screens/detail-loan/PaymentInfo.js.map +1 -1
  270. package/lib/module/screens/detail-loan/ShowQrCode.js +1 -1
  271. package/lib/module/screens/detail-loan/ShowQrCode.js.map +1 -1
  272. package/lib/module/screens/detail-loan/store.js +1 -1
  273. package/lib/module/screens/detail-loan/store.js.map +1 -1
  274. package/lib/module/screens/detail-loan-tima/InforLoan.js +1 -1
  275. package/lib/module/screens/detail-loan-tima/InforLoan.js.map +1 -1
  276. package/lib/module/screens/detail-loan-tima/PaymentSchedule.js +1 -1
  277. package/lib/module/screens/detail-loan-tima/PaymentSchedule.js.map +1 -1
  278. package/lib/module/screens/digital-lending/Step6.js +1 -1
  279. package/lib/module/screens/digital-lending/Step6.js.map +1 -1
  280. package/lib/module/screens/digital-lending/store.js +1 -1
  281. package/lib/module/screens/digital-lending/store.js.map +1 -1
  282. package/lib/module/screens/eSign/Store.js +1 -1
  283. package/lib/module/screens/eSign/Store.js.map +1 -1
  284. package/lib/module/screens/eSign/index.js +1 -1
  285. package/lib/module/screens/eSign/index.js.map +1 -1
  286. package/lib/module/screens/full-submit/accept_policy.js +1 -1
  287. package/lib/module/screens/full-submit/accept_policy.js.map +1 -1
  288. package/lib/module/screens/full-submit/store.js +1 -1
  289. package/lib/module/screens/full-submit/store.js.map +1 -1
  290. package/lib/module/screens/full-submit/update-info.js +1 -1
  291. package/lib/module/screens/full-submit/update-info.js.map +1 -1
  292. package/lib/module/screens/home/DigitalTopupItem.js +1 -1
  293. package/lib/module/screens/home/DigitalTopupItem.js.map +1 -1
  294. package/lib/module/screens/home/ItemMotoBikeLoan.js +1 -1
  295. package/lib/module/screens/home/ItemMotoBikeLoan.js.map +1 -1
  296. package/lib/module/screens/home/Store.js +1 -1
  297. package/lib/module/screens/home/Store.js.map +1 -1
  298. package/lib/module/screens/home/index.js +1 -1
  299. package/lib/module/screens/home/index.js.map +1 -1
  300. package/lib/module/screens/liveness/LivenessStore.js +1 -1
  301. package/lib/module/screens/liveness/LivenessStore.js.map +1 -1
  302. package/lib/module/screens/liveness/index.js +1 -1
  303. package/lib/module/screens/liveness/index.js.map +1 -1
  304. package/lib/module/screens/liveness-v2/index.js +1 -1
  305. package/lib/module/screens/liveness-v2/index.js.map +1 -1
  306. package/lib/module/screens/loan/PreviewSchedulePaymentTopup.js +1 -1
  307. package/lib/module/screens/loan/PreviewSchedulePaymentTopup.js.map +1 -1
  308. package/lib/module/screens/loan/UpdateLoan.js +1 -1
  309. package/lib/module/screens/loan/UpdateLoan.js.map +1 -1
  310. package/lib/module/screens/motobike/InfoLoanMotobike.js +1 -1
  311. package/lib/module/screens/motobike/InfoLoanMotobike.js.map +1 -1
  312. package/lib/module/screens/motobike/PolicyF88.js +1 -1
  313. package/lib/module/screens/motobike/PolicyF88.js.map +1 -1
  314. package/lib/module/screens/motobike/ReviewLoanMotobike.js +1 -1
  315. package/lib/module/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  316. package/lib/module/screens/mrz-scanner/index.js +1 -1
  317. package/lib/module/screens/mrz-scanner/index.js.map +1 -1
  318. package/lib/module/screens/mrz-scanner/store.js +1 -1
  319. package/lib/module/screens/mrz-scanner/store.js.map +1 -1
  320. package/lib/module/screens/nationalID/Store.js +1 -1
  321. package/lib/module/screens/nationalID/Store.js.map +1 -1
  322. package/lib/module/screens/nationalID/index.js +1 -1
  323. package/lib/module/screens/nationalID/index.js.map +1 -1
  324. package/lib/module/screens/nationalIDBack/Store.js +1 -1
  325. package/lib/module/screens/nationalIDBack/Store.js.map +1 -1
  326. package/lib/module/screens/nationalIDBack/index.js +1 -1
  327. package/lib/module/screens/nationalIDBack/index.js.map +1 -1
  328. package/lib/module/screens/notification/ListLoanStore.js +1 -1
  329. package/lib/module/screens/notification/ListLoanStore.js.map +1 -1
  330. package/lib/module/screens/notification/index.js +1 -1
  331. package/lib/module/screens/notification/index.js.map +1 -1
  332. package/lib/module/screens/notification/store.js +1 -1
  333. package/lib/module/screens/notification/store.js.map +1 -1
  334. package/lib/module/screens/personal/index.js +1 -1
  335. package/lib/module/screens/personal/index.js.map +1 -1
  336. package/lib/module/screens/qualify/Store.js.map +1 -1
  337. package/lib/module/screens/quick-submit/store.js +1 -1
  338. package/lib/module/screens/quick-submit/store.js.map +1 -1
  339. package/lib/module/screens/schedule-payment/DigitalSchedulePayment.js +1 -1
  340. package/lib/module/screens/schedule-payment/DigitalSchedulePayment.js.map +1 -1
  341. package/lib/module/screens/schedule-payment/store.js +1 -1
  342. package/lib/module/screens/schedule-payment/store.js.map +1 -1
  343. package/lib/module/screens/selfie/SelfieStore.js +1 -1
  344. package/lib/module/screens/selfie/SelfieStore.js.map +1 -1
  345. package/lib/module/screens/selfie/index.js +1 -1
  346. package/lib/module/screens/selfie/index.js.map +1 -1
  347. package/lib/module/screens/sign-tima/ViewContract.js +1 -1
  348. package/lib/module/screens/sign-tima/ViewContract.js.map +1 -1
  349. package/lib/module/screens/sign-tima/store.js +1 -1
  350. package/lib/module/screens/sign-tima/store.js.map +1 -1
  351. package/lib/module/screens/toan-trinh-so/LoanInterestRate.js +1 -1
  352. package/lib/module/screens/toan-trinh-so/LoanInterestRate.js.map +1 -1
  353. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  354. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  355. package/lib/module/screens/toan-trinh-so/RegisterBack.js +1 -1
  356. package/lib/module/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  357. package/lib/module/screens/toan-trinh-so/RegisterCamera.js +1 -1
  358. package/lib/module/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  359. package/lib/module/screens/toan-trinh-so/ReviewInformation.js +1 -1
  360. package/lib/module/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  361. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  362. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  363. package/lib/module/screens/toan-trinh-so/ReviewLoan.js +1 -1
  364. package/lib/module/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  365. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  366. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  367. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  368. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  369. package/lib/module/screens/toan-trinh-so/TTSOTP.js +1 -1
  370. package/lib/module/screens/toan-trinh-so/TTSOTP.js.map +1 -1
  371. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  372. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  373. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  374. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  375. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  376. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  377. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  378. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  379. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  380. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  381. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  382. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  383. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  384. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  385. package/lib/module/screens/toan-trinh-so/store.js +1 -1
  386. package/lib/module/screens/toan-trinh-so/store.js.map +1 -1
  387. package/lib/module/screens/uploadVideo/index.js +1 -1
  388. package/lib/module/screens/uploadVideo/index.js.map +1 -1
  389. package/lib/module/screens/uploadVideo/videoStore.js +1 -1
  390. package/lib/module/screens/uploadVideo/videoStore.js.map +1 -1
  391. package/lib/module/screens/v3/AssetInformation.js +1 -1
  392. package/lib/module/screens/v3/AssetInformation.js.map +1 -1
  393. package/lib/module/screens/v3/LoanBuyCar.js +1 -1
  394. package/lib/module/screens/v3/LoanBuyCar.js.map +1 -1
  395. package/lib/module/services/api/api.js +1 -1
  396. package/lib/module/services/api/api.js.map +1 -1
  397. package/lib/typescript/AppStore.d.ts.map +1 -1
  398. package/lib/typescript/RNTimacare.d.ts.map +1 -1
  399. package/lib/typescript/assets/icons/index.d.ts +5 -1
  400. package/lib/typescript/assets/icons/index.d.ts.map +1 -1
  401. package/lib/typescript/components/AppModal.d.ts +18 -0
  402. package/lib/typescript/components/AppModal.d.ts.map +1 -0
  403. package/lib/typescript/components/ItemTimaOne.d.ts +7 -0
  404. package/lib/typescript/components/ItemTimaOne.d.ts.map +1 -0
  405. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts +30 -0
  406. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts.map +1 -0
  407. package/lib/typescript/components/ModalNotification/index.d.ts +35 -0
  408. package/lib/typescript/components/ModalNotification/index.d.ts.map +1 -0
  409. package/lib/typescript/components/ModalOptionLoan.d.ts.map +1 -1
  410. package/lib/typescript/components/ModalOptionLoanDigital.d.ts.map +1 -1
  411. package/lib/typescript/screens/SelectorStore.d.ts.map +1 -1
  412. package/lib/typescript/screens/camera/CCCDCameraScreen.d.ts.map +1 -1
  413. package/lib/typescript/screens/camera/index.d.ts.map +1 -1
  414. package/lib/typescript/screens/cimb-sign/index.d.ts.map +1 -1
  415. package/lib/typescript/screens/detail-loan/ShowQrCode.d.ts.map +1 -1
  416. package/lib/typescript/screens/detail-loan/store.d.ts.map +1 -1
  417. package/lib/typescript/screens/detail-loan-tima/InforLoan.d.ts.map +1 -1
  418. package/lib/typescript/screens/detail-loan-tima/PaymentSchedule.d.ts.map +1 -1
  419. package/lib/typescript/screens/digital-lending/Step6.d.ts.map +1 -1
  420. package/lib/typescript/screens/digital-lending/store.d.ts.map +1 -1
  421. package/lib/typescript/screens/eSign/Store.d.ts.map +1 -1
  422. package/lib/typescript/screens/eSign/index.d.ts.map +1 -1
  423. package/lib/typescript/screens/full-submit/accept_policy.d.ts.map +1 -1
  424. package/lib/typescript/screens/full-submit/store.d.ts.map +1 -1
  425. package/lib/typescript/screens/full-submit/update-info.d.ts.map +1 -1
  426. package/lib/typescript/screens/home/DigitalTopupItem.d.ts.map +1 -1
  427. package/lib/typescript/screens/home/ItemMotoBikeLoan.d.ts.map +1 -1
  428. package/lib/typescript/screens/home/Store.d.ts.map +1 -1
  429. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  430. package/lib/typescript/screens/liveness/LivenessStore.d.ts.map +1 -1
  431. package/lib/typescript/screens/liveness/index.d.ts.map +1 -1
  432. package/lib/typescript/screens/loan/PreviewSchedulePaymentTopup.d.ts.map +1 -1
  433. package/lib/typescript/screens/loan/UpdateLoan.d.ts.map +1 -1
  434. package/lib/typescript/screens/motobike/InfoLoanMotobike.d.ts.map +1 -1
  435. package/lib/typescript/screens/motobike/PolicyF88.d.ts.map +1 -1
  436. package/lib/typescript/screens/motobike/ReviewLoanMotobike.d.ts.map +1 -1
  437. package/lib/typescript/screens/mrz-scanner/index.d.ts.map +1 -1
  438. package/lib/typescript/screens/mrz-scanner/store.d.ts.map +1 -1
  439. package/lib/typescript/screens/nationalID/Store.d.ts.map +1 -1
  440. package/lib/typescript/screens/nationalID/index.d.ts.map +1 -1
  441. package/lib/typescript/screens/nationalIDBack/Store.d.ts.map +1 -1
  442. package/lib/typescript/screens/nationalIDBack/index.d.ts.map +1 -1
  443. package/lib/typescript/screens/notification/ListLoanStore.d.ts.map +1 -1
  444. package/lib/typescript/screens/notification/index.d.ts.map +1 -1
  445. package/lib/typescript/screens/notification/store.d.ts.map +1 -1
  446. package/lib/typescript/screens/personal/index.d.ts.map +1 -1
  447. package/lib/typescript/screens/qualify/Store.d.ts.map +1 -1
  448. package/lib/typescript/screens/quick-submit/store.d.ts.map +1 -1
  449. package/lib/typescript/screens/schedule-payment/DigitalSchedulePayment.d.ts.map +1 -1
  450. package/lib/typescript/screens/schedule-payment/store.d.ts.map +1 -1
  451. package/lib/typescript/screens/selfie/SelfieStore.d.ts.map +1 -1
  452. package/lib/typescript/screens/selfie/index.d.ts.map +1 -1
  453. package/lib/typescript/screens/sign-tima/ViewContract.d.ts.map +1 -1
  454. package/lib/typescript/screens/sign-tima/store.d.ts.map +1 -1
  455. package/lib/typescript/screens/toan-trinh-so/LoanInterestRate.d.ts.map +1 -1
  456. package/lib/typescript/screens/toan-trinh-so/OCR.d.ts.map +1 -1
  457. package/lib/typescript/screens/toan-trinh-so/RegisterBack.d.ts.map +1 -1
  458. package/lib/typescript/screens/toan-trinh-so/RegisterCamera.d.ts.map +1 -1
  459. package/lib/typescript/screens/toan-trinh-so/ReviewInformation.d.ts.map +1 -1
  460. package/lib/typescript/screens/toan-trinh-so/ReviewInformationOther.d.ts.map +1 -1
  461. package/lib/typescript/screens/toan-trinh-so/ReviewLoan.d.ts.map +1 -1
  462. package/lib/typescript/screens/toan-trinh-so/TTSNationalIDBack.d.ts.map +1 -1
  463. package/lib/typescript/screens/toan-trinh-so/TTSNationalIDFront.d.ts.map +1 -1
  464. package/lib/typescript/screens/toan-trinh-so/TTSOTP.d.ts.map +1 -1
  465. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  466. package/lib/typescript/screens/toan-trinh-so/TTSSignLoan.d.ts.map +1 -1
  467. package/lib/typescript/screens/toan-trinh-so/TopupLoanInfo.d.ts.map +1 -1
  468. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  469. package/lib/typescript/screens/toan-trinh-so/VehicleRegistration.d.ts.map +1 -1
  470. package/lib/typescript/screens/toan-trinh-so/VehicleRegistrationBack.d.ts.map +1 -1
  471. package/lib/typescript/screens/toan-trinh-so/VehicleRegistrationFront.d.ts.map +1 -1
  472. package/lib/typescript/screens/toan-trinh-so/store.d.ts.map +1 -1
  473. package/lib/typescript/screens/uploadVideo/index.d.ts.map +1 -1
  474. package/lib/typescript/screens/uploadVideo/videoStore.d.ts.map +1 -1
  475. package/lib/typescript/screens/v3/AssetInformation.d.ts.map +1 -1
  476. package/lib/typescript/screens/v3/LoanBuyCar.d.ts.map +1 -1
  477. package/lib/typescript/services/api/api.d.ts.map +1 -1
  478. package/package.json +1 -1
  479. package/src/AppStore.tsx +7 -2
  480. package/src/RNTimacare.tsx +7 -1
  481. package/src/assets/icons/index.tsx +8 -0
  482. package/src/assets/icons/modal_confirm.svg +15 -0
  483. package/src/assets/icons/modal_notice.svg +74 -0
  484. package/src/assets/icons/modal_success.svg +55 -0
  485. package/src/assets/icons/modal_warning.svg +48 -0
  486. package/src/components/AppModal.tsx +34 -0
  487. package/src/components/{ItemTimaOneV3.tsx → ItemTimaOne.tsx} +1 -1
  488. package/src/components/ModalNotification/AlertGlobal.tsx +100 -0
  489. package/src/components/ModalNotification/index.tsx +224 -0
  490. package/src/components/ModalOptionLoan.tsx +15 -7
  491. package/src/components/ModalOptionLoanDigital.tsx +15 -7
  492. package/src/screens/SelectorStore.tsx +7 -2
  493. package/src/screens/camera/CCCDCameraScreen.tsx +50 -54
  494. package/src/screens/camera/index.tsx +50 -54
  495. package/src/screens/cimb-sign/index.tsx +10 -14
  496. package/src/screens/detail-loan/PaymentInfo.tsx +75 -54
  497. package/src/screens/detail-loan/ShowQrCode.tsx +77 -54
  498. package/src/screens/detail-loan/store.tsx +39 -7
  499. package/src/screens/detail-loan-tima/InforLoan.tsx +20 -4
  500. package/src/screens/detail-loan-tima/PaymentSchedule.tsx +19 -4
  501. package/src/screens/digital-lending/Step6.tsx +24 -29
  502. package/src/screens/digital-lending/store.tsx +113 -20
  503. package/src/screens/eSign/Store.tsx +69 -34
  504. package/src/screens/eSign/index.tsx +33 -34
  505. package/src/screens/full-submit/accept_policy.tsx +101 -85
  506. package/src/screens/full-submit/store.tsx +157 -27
  507. package/src/screens/full-submit/update-info.tsx +0 -1
  508. package/src/screens/home/DigitalTopupItem.tsx +15 -7
  509. package/src/screens/home/ItemMotoBikeLoan.tsx +16 -7
  510. package/src/screens/home/Store.tsx +44 -23
  511. package/src/screens/home/index.tsx +299 -186
  512. package/src/screens/liveness/LivenessStore.tsx +111 -89
  513. package/src/screens/liveness/index.tsx +67 -68
  514. package/src/screens/liveness-v2/index.tsx +52 -52
  515. package/src/screens/loan/PreviewSchedulePaymentTopup.tsx +20 -10
  516. package/src/screens/loan/UpdateLoan.tsx +56 -23
  517. package/src/screens/motobike/InfoLoanMotobike.tsx +43 -29
  518. package/src/screens/motobike/PolicyF88.tsx +15 -6
  519. package/src/screens/motobike/ReviewLoanMotobike.tsx +13 -3
  520. package/src/screens/mrz-scanner/index.tsx +56 -55
  521. package/src/screens/mrz-scanner/store.ts +13 -3
  522. package/src/screens/nationalID/Store.tsx +50 -29
  523. package/src/screens/nationalID/index.tsx +0 -1
  524. package/src/screens/nationalIDBack/Store.tsx +44 -26
  525. package/src/screens/nationalIDBack/index.tsx +0 -1
  526. package/src/screens/notification/ListLoanStore.tsx +19 -4
  527. package/src/screens/notification/index.tsx +0 -1
  528. package/src/screens/notification/store.tsx +7 -2
  529. package/src/screens/personal/index.tsx +21 -19
  530. package/src/screens/qualify/Store.tsx +0 -1
  531. package/src/screens/quick-submit/store.tsx +85 -15
  532. package/src/screens/schedule-payment/DigitalSchedulePayment.tsx +20 -4
  533. package/src/screens/schedule-payment/store.tsx +13 -5
  534. package/src/screens/selfie/SelfieStore.tsx +25 -9
  535. package/src/screens/selfie/index.tsx +0 -1
  536. package/src/screens/sign-tima/ViewContract.tsx +17 -18
  537. package/src/screens/sign-tima/store.tsx +37 -7
  538. package/src/screens/toan-trinh-so/LoanInterestRate.tsx +36 -10
  539. package/src/screens/toan-trinh-so/OCR.tsx +64 -66
  540. package/src/screens/toan-trinh-so/RegisterBack.tsx +21 -4
  541. package/src/screens/toan-trinh-so/RegisterCamera.tsx +50 -54
  542. package/src/screens/toan-trinh-so/ReviewInformation.tsx +31 -25
  543. package/src/screens/toan-trinh-so/ReviewInformationOther.tsx +88 -82
  544. package/src/screens/toan-trinh-so/ReviewLoan.tsx +25 -5
  545. package/src/screens/toan-trinh-so/TTSNationalIDBack.tsx +19 -4
  546. package/src/screens/toan-trinh-so/TTSNationalIDFront.tsx +19 -4
  547. package/src/screens/toan-trinh-so/TTSOTP.tsx +42 -25
  548. package/src/screens/toan-trinh-so/TTSSelfie.tsx +63 -56
  549. package/src/screens/toan-trinh-so/TTSSignLoan.tsx +63 -55
  550. package/src/screens/toan-trinh-so/TopupLoanInfo.tsx +50 -43
  551. package/src/screens/toan-trinh-so/VehicleCamera.tsx +50 -54
  552. package/src/screens/toan-trinh-so/VehicleRegistration.tsx +19 -4
  553. package/src/screens/toan-trinh-so/VehicleRegistrationBack.tsx +19 -4
  554. package/src/screens/toan-trinh-so/VehicleRegistrationFront.tsx +19 -4
  555. package/src/screens/toan-trinh-so/store.ts +82 -37
  556. package/src/screens/uploadVideo/index.tsx +26 -21
  557. package/src/screens/uploadVideo/videoStore.tsx +19 -4
  558. package/src/screens/v3/AssetInformation.tsx +35 -16
  559. package/src/screens/v3/LoanBuyCar.tsx +35 -16
  560. package/src/services/api/api.ts +23 -26
  561. package/lib/commonjs/components/ItemTimaOneV2.js +0 -2
  562. package/lib/commonjs/components/ItemTimaOneV2.js.flow +0 -617
  563. package/lib/commonjs/components/ItemTimaOneV2.js.map +0 -1
  564. package/lib/commonjs/components/ItemTimaOneV3.js +0 -2
  565. package/lib/commonjs/components/ItemTimaOneV3.js.map +0 -1
  566. package/lib/module/components/ItemTimaOneV2.js +0 -2
  567. package/lib/module/components/ItemTimaOneV2.js.map +0 -1
  568. package/lib/module/components/ItemTimaOneV3.js +0 -2
  569. package/lib/module/components/ItemTimaOneV3.js.map +0 -1
  570. package/lib/typescript/components/ItemTimaOneV2.d.ts +0 -7
  571. package/lib/typescript/components/ItemTimaOneV2.d.ts.map +0 -1
  572. package/lib/typescript/components/ItemTimaOneV3.d.ts +0 -7
  573. package/lib/typescript/components/ItemTimaOneV3.d.ts.map +0 -1
  574. package/src/components/ItemTimaOneV2.tsx +0 -617
@@ -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);
@@ -1,7 +1,7 @@
1
1
  //@ts-nocheck
2
2
  import { observable, action, toJS } from 'mobx';
3
3
  import { Api } from '../services/api';
4
- import { Alert } from 'react-native';
4
+ import { AlertGlobal } from '../components/ModalNotification/AlertGlobal';
5
5
  import { myLog } from '../utils/log';
6
6
 
7
7
  export enum Types {
@@ -70,7 +70,12 @@ class SelectorStore {
70
70
  } else {
71
71
  this.isLoading = false;
72
72
  this.isError = false;
73
- Alert.alert('Lỗi', response.Messages);
73
+ AlertGlobal.show({
74
+ type: 'warning',
75
+ title: 'Lỗi',
76
+ message: response.Messages,
77
+ primaryText: 'Đóng',
78
+ });
74
79
  }
75
80
  }
76
81
  }
@@ -2,7 +2,6 @@
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
3
  import {
4
4
  ActivityIndicator,
5
- Alert,
6
5
  Dimensions,
7
6
  Platform,
8
7
  StyleSheet,
@@ -16,6 +15,7 @@ import {
16
15
  } from 'react-native-vision-camera';
17
16
  import { IconBackWhite, TakePhotoSvg } from '../../assets/icons';
18
17
  import { MText } from '../../components/MText';
18
+ import { AlertGlobal } from '../../components/ModalNotification/AlertGlobal';
19
19
  import { useNavigation, useIsFocused } from '@react-navigation/native';
20
20
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
21
21
  import { commonStyles } from '../CommonStyles';
@@ -64,51 +64,49 @@ export default function CCCDCameraScreen(props) {
64
64
  console.log(
65
65
  'This feature is not available (on this device / in this context)'
66
66
  );
67
- Alert.alert(
68
- 'Thông báo',
69
- 'Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',
70
- [{ text: 'Đồng ý' }]
71
- );
67
+ AlertGlobal.show({
68
+ type: 'warning',
69
+ title: 'Thông báo',
70
+ message:
71
+ 'Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',
72
+ primaryText: 'Đồng ý',
73
+ });
72
74
  break;
73
75
  case RESULTS.DENIED:
74
76
  console.log(
75
77
  'The permission has not been requested / is denied but requestable'
76
78
  );
77
- Alert.alert(
78
- 'Thông báo',
79
- 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
80
- [
81
- {
82
- text: 'Đồng ý',
83
- onPress: () => {
84
- if (Platform.OS === 'ios') {
85
- openSettings();
86
- } else {
87
- requestPermissions();
88
- }
89
- },
90
- },
91
- ]
92
- );
79
+ AlertGlobal.show({
80
+ type: 'warning',
81
+ title: 'Thông báo',
82
+ message:
83
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
84
+ primaryText: 'Đồng ý',
85
+ onPrimaryPress: () => {
86
+ if (Platform.OS === 'ios') {
87
+ openSettings();
88
+ } else {
89
+ requestPermissions();
90
+ }
91
+ },
92
+ });
93
93
  break;
94
94
  case RESULTS.LIMITED:
95
95
  console.log('The permission is limited: some actions are possible');
96
- Alert.alert(
97
- 'Thông báo',
98
- 'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',
99
- [
100
- {
101
- text: 'Đồng ý',
102
- onPress: () => {
103
- if (Platform.OS === 'ios') {
104
- openSettings();
105
- } else {
106
- requestPermissions();
107
- }
108
- },
109
- },
110
- ]
111
- );
96
+ AlertGlobal.show({
97
+ type: 'warning',
98
+ title: 'Thông báo',
99
+ message:
100
+ 'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',
101
+ primaryText: 'Đồng ý',
102
+ onPrimaryPress: () => {
103
+ if (Platform.OS === 'ios') {
104
+ openSettings();
105
+ } else {
106
+ requestPermissions();
107
+ }
108
+ },
109
+ });
112
110
  break;
113
111
  case RESULTS.GRANTED:
114
112
  console.log('The permission is granted');
@@ -116,22 +114,20 @@ export default function CCCDCameraScreen(props) {
116
114
  break;
117
115
  case RESULTS.BLOCKED:
118
116
  console.log('The permission is denied and not requestable anymore');
119
- Alert.alert(
120
- 'Thông báo',
121
- 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
122
- [
123
- {
124
- text: 'Đồng ý',
125
- onPress: () => {
126
- if (Platform.OS === 'ios') {
127
- openSettings();
128
- } else {
129
- openSettings();
130
- }
131
- },
132
- },
133
- ]
134
- );
117
+ AlertGlobal.show({
118
+ type: 'warning',
119
+ title: 'Thông báo',
120
+ message:
121
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
122
+ primaryText: 'Đồng ý',
123
+ onPrimaryPress: () => {
124
+ if (Platform.OS === 'ios') {
125
+ openSettings();
126
+ } else {
127
+ openSettings();
128
+ }
129
+ },
130
+ });
135
131
  break;
136
132
  }
137
133
  });
@@ -2,7 +2,6 @@
2
2
  import React, { useState, Fragment, useEffect, useRef } from 'react';
3
3
  import {
4
4
  ActivityIndicator,
5
- Alert,
6
5
  Dimensions,
7
6
  Image,
8
7
  ImageStyle,
@@ -50,6 +49,7 @@ import {
50
49
  import { Svg, Circle, Defs, ClipPath, Rect } from 'react-native-svg';
51
50
  import Store from './Store';
52
51
  import { MText } from '../../components/MText';
52
+ import { AlertGlobal } from '../../components/ModalNotification/AlertGlobal';
53
53
  import Modal from 'react-native-modal';
54
54
  import LinearGradient from 'react-native-linear-gradient';
55
55
  import RNFS from 'react-native-fs';
@@ -103,51 +103,49 @@ export const Camera = observer(function Camera(props: any) {
103
103
  console.log(
104
104
  'This feature is not available (on this device / in this context)'
105
105
  );
106
- Alert.alert(
107
- 'Thông báo',
108
- 'Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',
109
- [{ text: 'Đồng ý' }]
110
- );
106
+ AlertGlobal.show({
107
+ type: 'warning',
108
+ title: 'Thông báo',
109
+ message:
110
+ 'Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',
111
+ primaryText: 'Đồng ý',
112
+ });
111
113
  break;
112
114
  case RESULTS.DENIED:
113
115
  console.log(
114
116
  'The permission has not been requested / is denied but requestable'
115
117
  );
116
- Alert.alert(
117
- 'Thông báo',
118
- 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
119
- [
120
- {
121
- text: 'Đồng ý',
122
- onPress: () => {
123
- if (Platform.OS === 'ios') {
124
- openSettings();
125
- } else {
126
- requestPermissions();
127
- }
128
- },
129
- },
130
- ]
131
- );
118
+ AlertGlobal.show({
119
+ type: 'warning',
120
+ title: 'Thông báo',
121
+ message:
122
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
123
+ primaryText: 'Đồng ý',
124
+ onPrimaryPress: () => {
125
+ if (Platform.OS === 'ios') {
126
+ openSettings();
127
+ } else {
128
+ requestPermissions();
129
+ }
130
+ },
131
+ });
132
132
  break;
133
133
  case RESULTS.LIMITED:
134
134
  console.log('The permission is limited: some actions are possible');
135
- Alert.alert(
136
- 'Thông báo',
137
- 'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',
138
- [
139
- {
140
- text: 'Đồng ý',
141
- onPress: () => {
142
- if (Platform.OS === 'ios') {
143
- openSettings();
144
- } else {
145
- requestPermissions();
146
- }
147
- },
148
- },
149
- ]
150
- );
135
+ AlertGlobal.show({
136
+ type: 'warning',
137
+ title: 'Thông báo',
138
+ message:
139
+ 'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',
140
+ primaryText: 'Đồng ý',
141
+ onPrimaryPress: () => {
142
+ if (Platform.OS === 'ios') {
143
+ openSettings();
144
+ } else {
145
+ requestPermissions();
146
+ }
147
+ },
148
+ });
151
149
  break;
152
150
  case RESULTS.GRANTED:
153
151
  console.log('The permission is granted');
@@ -155,22 +153,20 @@ export const Camera = observer(function Camera(props: any) {
155
153
  break;
156
154
  case RESULTS.BLOCKED:
157
155
  console.log('The permission is denied and not requestable anymore');
158
- Alert.alert(
159
- 'Thông báo',
160
- 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
161
- [
162
- {
163
- text: 'Đồng ý',
164
- // onPress: () => {
165
- // if (Platform.OS === "ios") {
166
- // openSettings()
167
- // } else {
168
- // openSettings()
169
- // }
170
- // },
171
- },
172
- ]
173
- );
156
+ AlertGlobal.show({
157
+ type: 'warning',
158
+ title: 'Thông báo',
159
+ message:
160
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
161
+ primaryText: 'Đồng ý',
162
+ // onPrimaryPress: () => {
163
+ // if (Platform.OS === "ios") {
164
+ // openSettings()
165
+ // } else {
166
+ // openSettings()
167
+ // }
168
+ // },
169
+ });
174
170
  break;
175
171
  }
176
172
  });
@@ -2,8 +2,9 @@
2
2
  import { useNavigation } from '@react-navigation/native';
3
3
  import { observer } from 'mobx-react-lite';
4
4
  import React, { useState } from 'react';
5
- import { Alert, SafeAreaView, TouchableOpacity, View } from 'react-native';
5
+ import { SafeAreaView, TouchableOpacity, View } from 'react-native';
6
6
  import WebView from 'react-native-webview';
7
+ import { AlertGlobal } from '../../components/ModalNotification/AlertGlobal';
7
8
  import { IconBack } from '../../assets/icons';
8
9
  import { MText } from '../../components/MText';
9
10
  import { color } from '../../theme';
@@ -25,19 +26,14 @@ export const CIMBSign = observer(function CIMBSign(props: any) {
25
26
  ) {
26
27
  navigation.goBack();
27
28
  } else {
28
- Alert.alert(
29
- 'Cảnh báo',
30
- 'Bạn có chắc chắn muốn rời khỏi màn hình ký hợp đồng?',
31
- [
32
- {
33
- text: 'Đồng ý',
34
- onPress: () => navigation.goBack(),
35
- },
36
- {
37
- text: 'Huỷ',
38
- },
39
- ]
40
- );
29
+ AlertGlobal.show({
30
+ type: 'confirm',
31
+ title: 'Cảnh báo',
32
+ message: 'Bạn có chắc chắn muốn rời khỏi màn hình ký hợp đồng?',
33
+ primaryText: 'Đồng ý',
34
+ onPrimaryPress: () => navigation.goBack(),
35
+ secondaryText: 'Huỷ',
36
+ });
41
37
  }
42
38
  }}
43
39
  style={{