react-native-timacare 3.3.54 → 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 +318 -475
  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 +318 -475
  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
@@ -2,7 +2,6 @@
2
2
  import React, { useEffect, useState } from 'react';
3
3
  import {
4
4
  ActivityIndicator,
5
- Alert,
6
5
  Dimensions,
7
6
  Image,
8
7
  ImageBackground,
@@ -13,6 +12,7 @@ import {
13
12
  SafeAreaView,
14
13
  ScrollView,
15
14
  StatusBar,
15
+ StyleSheet,
16
16
  TouchableOpacity,
17
17
  View,
18
18
  ViewStyle,
@@ -105,7 +105,7 @@ import {
105
105
  IconOcr,
106
106
  } from '../../assets/svgs';
107
107
  import { o } from 'ramda';
108
- import ItemTimaOneV3 from '../../components/ItemTimaOneV3';
108
+ import ItemTimaOne from '../../components/ItemTimaOne';
109
109
  import ModalOptionLoan from '../../components/ModalOptionLoan';
110
110
  import AlertLoan from '../../components/AlertLoan';
111
111
  import DigitalTopupItem from './DigitalTopupItem';
@@ -113,6 +113,7 @@ import ModalOptionLoanDigital from '../../components/ModalOptionLoanDigital';
113
113
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
114
114
  import ItemMotoBikeLoan from './ItemMotoBikeLoan';
115
115
  import BoxGuidline from './BoxGuidline';
116
+ import { AlertGlobal } from '../../components/ModalNotification/AlertGlobal';
116
117
 
117
118
  const listBanners = [
118
119
  require('../../assets/img/banner1.png'),
@@ -124,6 +125,9 @@ const $action: ViewStyle = {
124
125
  alignItems: 'center',
125
126
  };
126
127
 
128
+ // Gradient cam thương hiệu, dùng lặp lại ở nhiều nút trong màn hình
129
+ const GRADIENT_ORANGE = ['#FF8E4F', '#EF592E'];
130
+
127
131
  let _unsubscribe;
128
132
  // Dữ liệu tham chiếu tĩnh (ngân hàng, nghề nghiệp, tỉnh...) chỉ cần prefetch 1 lần/phiên
129
133
  let _didPrefetchRefData = false;
@@ -293,7 +297,6 @@ export const Home = observer(function Home() {
293
297
  } else {
294
298
  }
295
299
  } else {
296
- Alert.alert('Thông báo', 'Có lỗi xảy ra. Vui lòng thử lại sau');
297
300
  }
298
301
  } catch (error) {
299
302
  console.log(error);
@@ -360,73 +363,93 @@ export const Home = observer(function Home() {
360
363
  console.log(
361
364
  'This feature is not available (on this device / in this context)'
362
365
  );
363
- Alert.alert(
364
- 'Thông báo',
365
- '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ị!',
366
- [{ text: 'Đồng ý' }]
366
+ AlertGlobal.show({
367
+ type: 'warning',
368
+ title: 'Thông báo',
369
+ message:
370
+ '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ị!',
371
+ primaryText: 'Đóng',
372
+ });
373
+ break;
374
+ case RESULTS.DENIED:
375
+ console.log(
376
+ 'The permission has not been requested / is denied but requestable'
367
377
  );
378
+ AlertGlobal.show({
379
+ type: 'warning',
380
+ title: 'Thông báo',
381
+ message:
382
+ '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ị!',
383
+ primaryText: 'Đóng',
384
+ });
368
385
  break;
369
386
  case RESULTS.DENIED:
370
387
  console.log(
371
388
  'The permission has not been requested / is denied but requestable'
372
389
  );
373
- Alert.alert(
374
- 'Thông báo',
375
- 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
376
- [
377
- {
378
- text: 'Đồng ý',
379
- onPress: () => {
380
- if (Platform.OS === 'ios') {
381
- openSettings();
382
- } else {
383
- requestPermissions();
384
- }
385
- },
386
- },
387
- ]
390
+ AlertGlobal.show({
391
+ type: 'warning',
392
+ title: 'Thông báo',
393
+ message:
394
+ 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
395
+ primaryText: 'Đóng',
396
+ });
397
+ break;
398
+ case RESULTS.DENIED:
399
+ console.log(
400
+ 'The permission has not been requested / is denied but requestable'
388
401
  );
402
+ AlertGlobal.show({
403
+ type: 'warning',
404
+ title: 'Thông báo',
405
+ message:
406
+ 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
407
+ primaryText: 'Đồng ý',
408
+ onPrimaryPress: () => {
409
+ if (Platform.OS === 'ios') {
410
+ openSettings();
411
+ } else {
412
+ requestPermissions();
413
+ }
414
+ },
415
+ });
389
416
  break;
390
417
  case RESULTS.LIMITED:
391
418
  console.log('The permission is limited: some actions are possible');
392
- Alert.alert(
393
- 'Thông báo',
394
- 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
395
- [
396
- {
397
- text: 'Đồng ý',
398
- onPress: () => {
399
- if (Platform.OS === 'ios') {
400
- openSettings();
401
- } else {
402
- requestPermissions();
403
- }
404
- },
405
- },
406
- ]
407
- );
419
+ AlertGlobal.show({
420
+ type: 'warning',
421
+ title: 'Thông báo',
422
+ message:
423
+ 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
424
+ primaryText: 'Đồng ý',
425
+ onPrimaryPress: () => {
426
+ if (Platform.OS === 'ios') {
427
+ openSettings();
428
+ } else {
429
+ requestPermissions();
430
+ }
431
+ },
432
+ });
408
433
  break;
409
434
  case RESULTS.GRANTED:
410
435
  console.log('The permission is granted');
411
436
  break;
412
437
  case RESULTS.BLOCKED:
413
438
  console.log('The permission is denied and not requestable anymore');
414
- Alert.alert(
415
- 'Thông báo',
416
- 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
417
- [
418
- {
419
- text: 'Đồng ý',
420
- onPress: () => {
421
- if (Platform.OS === 'ios') {
422
- openSettings();
423
- } else {
424
- openSettings();
425
- }
426
- },
427
- },
428
- ]
429
- );
439
+ AlertGlobal.show({
440
+ type: 'warning',
441
+ title: 'Thông báo',
442
+ message:
443
+ 'Bạn đã từ chối quyền vị trí. Vui lòng cấp quyền vị trí để tiếp tục!',
444
+ primaryText: 'Đồng ý',
445
+ onPrimaryPress: () => {
446
+ if (Platform.OS === 'ios') {
447
+ openSettings();
448
+ } else {
449
+ requestPermissions();
450
+ }
451
+ },
452
+ });
430
453
  break;
431
454
  }
432
455
  });
@@ -463,14 +486,22 @@ export const Home = observer(function Home() {
463
486
  setCheckTCCIMB(false);
464
487
  closeModalThen(() => onRefresh());
465
488
  } else {
466
- Alert.alert(
467
- 'Thông báo',
468
- response?.data?.meta?.errorMessage ||
469
- 'Có lỗi xảy ra. Vui lòng thử lại sau'
470
- );
489
+ AlertGlobal.show({
490
+ type: 'warning',
491
+ title: 'Thông báo',
492
+ message:
493
+ response?.data?.meta?.errorMessage ||
494
+ 'Có lỗi xảy ra. Vui lòng thử lại sau',
495
+ primaryText: 'Đóng',
496
+ });
471
497
  }
472
498
  } catch (error) {
473
- Alert.alert('Thông báo', 'Có lỗi xảy ra. Vui lòng thử lại sau');
499
+ AlertGlobal.show({
500
+ type: 'warning',
501
+ title: 'Thông báo',
502
+ message: 'Có lỗi xảy ra. Vui lòng thử lại sau',
503
+ primaryText: 'Đóng',
504
+ });
474
505
  } finally {
475
506
  setIsConfirmingTCCIMB(false);
476
507
  }
@@ -496,12 +527,31 @@ export const Home = observer(function Home() {
496
527
  if (response.data?.meta?.errorCode === 200) {
497
528
  closeModalThen(() => onRefresh());
498
529
  } else {
499
- Alert.alert('Thông báo', response.data?.meta?.errorMessage);
530
+ AlertGlobal.show({
531
+ type: 'warning',
532
+ title: 'Thông báo',
533
+ message:
534
+ response?.data?.meta?.errorMessage ||
535
+ 'Có lỗi xảy ra. Vui lòng thử lại sau',
536
+ primaryText: 'Đóng',
537
+ });
500
538
  }
501
539
  } else {
502
- Alert.alert('Thông báo', 'Có lỗi xảy ra. Vui lòng thử lại sau');
540
+ AlertGlobal.show({
541
+ type: 'warning',
542
+ title: 'Thông báo',
543
+ message: 'Có lỗi xảy ra. Vui lòng thử lại sau',
544
+ primaryText: 'Đóng',
545
+ });
503
546
  }
504
547
  } catch (error) {
548
+ AlertGlobal.show({
549
+ type: 'warning',
550
+ title: 'Thông báo',
551
+ message: 'Có lỗi xảy ra. Vui lòng thử lại sau',
552
+ primaryText: 'Đóng',
553
+ });
554
+ } finally {
505
555
  setIsLoading(false);
506
556
  }
507
557
  };
@@ -518,10 +568,22 @@ export const Home = observer(function Home() {
518
568
  if (response.data?.meta?.errorCode === 200) {
519
569
  closeModalThen(() => onRefresh());
520
570
  } else {
521
- Alert.alert('Thông báo', response.data?.meta?.errorMessage);
571
+ AlertGlobal.show({
572
+ type: 'warning',
573
+ title: 'Thông báo',
574
+ message:
575
+ response?.data?.meta?.errorMessage ||
576
+ 'Có lỗi xảy ra. Vui lòng thử lại sau',
577
+ primaryText: 'Đóng',
578
+ });
522
579
  }
523
580
  } else {
524
- Alert.alert('Thông báo', 'Có lỗi xảy ra. Vui lòng thử lại sau');
581
+ AlertGlobal.show({
582
+ type: 'warning',
583
+ title: 'Thông báo',
584
+ message: 'Có lỗi xảy ra. Vui lòng thử lại sau',
585
+ primaryText: 'Đóng',
586
+ });
525
587
  }
526
588
  } catch (error) {
527
589
  setIsLoading(false);
@@ -532,7 +594,7 @@ export const Home = observer(function Home() {
532
594
  <View
533
595
  style={[commonStyles.fill, { zIndex: 1, backgroundColor: '#FFFFFF' }]}
534
596
  >
535
- <LinearGradient colors={['#FF8E4F', '#EF592E']}>
597
+ <LinearGradient colors={GRADIENT_ORANGE}>
536
598
  <View style={{ marginTop: insets.top + 16 }}>
537
599
  <View
538
600
  style={{
@@ -627,7 +689,7 @@ export const Home = observer(function Home() {
627
689
  item?.typeLoan === 6 ||
628
690
  item?.typeLoan === 7 ? (
629
691
  <View>
630
- <ItemTimaOneV3 item={item} navigation={navigation} />
692
+ <ItemTimaOne item={item} navigation={navigation} />
631
693
  </View>
632
694
  ) : item?.typeLoan === 4 && !item?.isPipelineCIMB ? (
633
695
  <DigitalTopupItem
@@ -650,16 +712,7 @@ export const Home = observer(function Home() {
650
712
  {/* // type 4 digital topup */}
651
713
  {item?.typeLoan === 4 ? (
652
714
  <View>
653
- <View
654
- style={{
655
- backgroundColor: '#FFFFFF',
656
- paddingHorizontal: 16,
657
- marginBottom: 16,
658
- borderRadius: 8,
659
- borderWidth: 0.5,
660
- borderColor: '#E0E0E0',
661
- }}
662
- >
715
+ <View style={styles.card}>
663
716
  <View
664
717
  style={{
665
718
  flexDirection: 'row',
@@ -679,13 +732,7 @@ export const Home = observer(function Home() {
679
732
  </MText>
680
733
  </View>
681
734
  </View>
682
- <View
683
- style={{
684
- height: 1,
685
- backgroundColor: '#E0E0E0',
686
- marginVertical: 16,
687
- }}
688
- />
735
+ <View style={styles.divider} />
689
736
  <View
690
737
  style={{
691
738
  flexDirection: 'row',
@@ -704,13 +751,7 @@ export const Home = observer(function Home() {
704
751
  {item?.loanStatus}
705
752
  </MText>
706
753
  </View>
707
- <View
708
- style={{
709
- height: 0.5,
710
- backgroundColor: '#E0E0E0',
711
- marginVertical: 16,
712
- }}
713
- />
754
+ <View style={styles.dividerThin} />
714
755
  <View style={{ flexDirection: 'row' }}>
715
756
  {item?.loanStatus === null ||
716
757
  item?.loanStatus === '' ? (
@@ -733,12 +774,7 @@ export const Home = observer(function Home() {
733
774
  <MText
734
775
  style={[
735
776
  commonStyles.textNormal,
736
- {
737
- fontSize: 12,
738
- fontWeight: '300',
739
- marginTop: 8,
740
- textAlign: 'center',
741
- },
777
+ styles.actionLabelCenter,
742
778
  ]}
743
779
  >
744
780
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -778,12 +814,7 @@ export const Home = observer(function Home() {
778
814
  <MText
779
815
  style={[
780
816
  commonStyles.textNormal,
781
- {
782
- fontSize: 12,
783
- fontWeight: '300',
784
- marginTop: 8,
785
- textAlign: 'center',
786
- },
817
+ styles.actionLabelCenter,
787
818
  ]}
788
819
  >
789
820
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -795,12 +826,7 @@ export const Home = observer(function Home() {
795
826
  <MText
796
827
  style={[
797
828
  commonStyles.textNormal,
798
- {
799
- fontSize: 12,
800
- fontWeight: '300',
801
- marginTop: 8,
802
- textAlign: 'center',
803
- },
829
+ styles.actionLabelCenter,
804
830
  ]}
805
831
  >
806
832
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -812,10 +838,7 @@ export const Home = observer(function Home() {
812
838
 
813
839
  {item?.isSignContract && (
814
840
  <MButton
815
- style={{
816
- alignItems: 'center',
817
- marginLeft: 20,
818
- }}
841
+ style={styles.actionButtonSpaced}
819
842
  onPress={() => {
820
843
  checkTerm(item, () => {
821
844
  if (item?.urlSignContract) {
@@ -828,10 +851,13 @@ export const Home = observer(function Home() {
828
851
  )
829
852
  );
830
853
  } else {
831
- Alert.alert(
832
- 'Thông báo',
833
- 'Bạn chưa thể ký hợp đồng bây giờ?'
834
- );
854
+ AlertGlobal.show({
855
+ title: 'Thông báo',
856
+ message:
857
+ 'Bạn chưa thể ký hợp đồng bây giờ?',
858
+ type: 'warning',
859
+ primaryText: 'Đóng',
860
+ });
835
861
  }
836
862
  });
837
863
  }}
@@ -840,10 +866,7 @@ export const Home = observer(function Home() {
840
866
  <MText
841
867
  style={[
842
868
  commonStyles.textNormal,
843
- {
844
- fontSize: 12,
845
- marginTop: 8,
846
- },
869
+ styles.label12,
847
870
  ]}
848
871
  >
849
872
  Ký hợp đồng
@@ -852,10 +875,7 @@ export const Home = observer(function Home() {
852
875
  )}
853
876
  {item?.isSignContractTima && (
854
877
  <MButton
855
- style={{
856
- alignItems: 'center',
857
- marginLeft: 20,
858
- }}
878
+ style={styles.actionButtonSpaced}
859
879
  onPress={() => {
860
880
  checkTerm(item, () => {
861
881
  navigation.dispatch(
@@ -873,11 +893,7 @@ export const Home = observer(function Home() {
873
893
  <MText
874
894
  style={[
875
895
  commonStyles.textNormal,
876
- {
877
- fontSize: 12,
878
- marginTop: 8,
879
- textAlign: 'center',
880
- },
896
+ styles.label12Center,
881
897
  ]}
882
898
  >
883
899
  Hợp đồng{'\n'}dịch vụ
@@ -886,10 +902,7 @@ export const Home = observer(function Home() {
886
902
  )}
887
903
  {item?.paymentEvidenceUrl && (
888
904
  <MButton
889
- style={{
890
- alignItems: 'center',
891
- marginLeft: 20,
892
- }}
905
+ style={styles.actionButtonSpaced}
893
906
  onPress={() => {
894
907
  checkTerm(item, () => {
895
908
  navigation.dispatch(
@@ -907,11 +920,7 @@ export const Home = observer(function Home() {
907
920
  <MText
908
921
  style={[
909
922
  commonStyles.textNormal,
910
- {
911
- fontSize: 12,
912
- marginTop: 8,
913
- textAlign: 'center',
914
- },
923
+ styles.label12Center,
915
924
  ]}
916
925
  >
917
926
  Mục đích {'\n'}sử dụng
@@ -920,10 +929,7 @@ export const Home = observer(function Home() {
920
929
  )}
921
930
  {item?.showPaymentPlan && (
922
931
  <MButton
923
- style={{
924
- alignItems: 'center',
925
- marginLeft: 20,
926
- }}
932
+ style={styles.actionButtonSpaced}
927
933
  onPress={() => {
928
934
  checkTerm(item, () => {
929
935
  navigation.dispatch(
@@ -941,10 +947,7 @@ export const Home = observer(function Home() {
941
947
  <MText
942
948
  style={[
943
949
  commonStyles.textNormal,
944
- {
945
- fontSize: 12,
946
- marginTop: 8,
947
- },
950
+ styles.label12,
948
951
  ]}
949
952
  >
950
953
  Lịch dự kiến
@@ -956,17 +959,7 @@ export const Home = observer(function Home() {
956
959
  {item.messageErrorCIMB !== '' &&
957
960
  item?.messageErrorCIMB &&
958
961
  item?.isCimbApproveFull === null ? (
959
- <View
960
- style={{
961
- backgroundColor: '#FBEFE7',
962
- marginHorizontal: -16,
963
- paddingVertical: 8,
964
- marginTop: 16,
965
- borderBottomRightRadius: 8,
966
- borderBottomLeftRadius: 8,
967
- paddingHorizontal: 16,
968
- }}
969
- >
962
+ <View style={styles.infoBanner}>
970
963
  <View
971
964
  style={{
972
965
  flexDirection: 'row',
@@ -997,7 +990,7 @@ export const Home = observer(function Home() {
997
990
  }}
998
991
  >
999
992
  <LinearGradient
1000
- colors={['#FF8E4F', '#EF592E']}
993
+ colors={GRADIENT_ORANGE}
1001
994
  style={{
1002
995
  paddingHorizontal: 10,
1003
996
  height: 30,
@@ -1022,19 +1015,7 @@ export const Home = observer(function Home() {
1022
1015
  </View>
1023
1016
  </View>
1024
1017
  ) : (
1025
- <View
1026
- style={{
1027
- flexDirection: 'row',
1028
- alignItems: 'center',
1029
- backgroundColor: '#FBEFE7',
1030
- marginHorizontal: -16,
1031
- paddingVertical: 8,
1032
- marginTop: 16,
1033
- borderBottomRightRadius: 8,
1034
- borderBottomLeftRadius: 8,
1035
- paddingHorizontal: 16,
1036
- }}
1037
- >
1018
+ <View style={styles.infoBannerRow}>
1038
1019
  <Info />
1039
1020
  <MText
1040
1021
  style={[
@@ -1060,16 +1041,7 @@ export const Home = observer(function Home() {
1060
1041
  <Observer>
1061
1042
  {() => (
1062
1043
  <View>
1063
- <View
1064
- style={{
1065
- backgroundColor: '#FFFFFF',
1066
- paddingHorizontal: 16,
1067
- marginBottom: 16,
1068
- borderRadius: 8,
1069
- borderWidth: 0.5,
1070
- borderColor: '#E0E0E0',
1071
- }}
1072
- >
1044
+ <View style={styles.card}>
1073
1045
  <View
1074
1046
  style={{
1075
1047
  flexDirection: 'row',
@@ -1091,13 +1063,7 @@ export const Home = observer(function Home() {
1091
1063
  </MText>
1092
1064
  </View>
1093
1065
  </View>
1094
- <View
1095
- style={{
1096
- height: 1,
1097
- backgroundColor: '#E0E0E0',
1098
- marginVertical: 16,
1099
- }}
1100
- />
1066
+ <View style={styles.divider} />
1101
1067
  <View
1102
1068
  style={{
1103
1069
  flexDirection: 'row',
@@ -1140,7 +1106,7 @@ export const Home = observer(function Home() {
1140
1106
  flexDirection: 'row',
1141
1107
  alignItems: 'center',
1142
1108
  }}
1143
- colors={['#FF8E4F', '#EF592E']}
1109
+ colors={GRADIENT_ORANGE}
1144
1110
  >
1145
1111
  <UpdateIcon />
1146
1112
  <MText
@@ -1155,13 +1121,7 @@ export const Home = observer(function Home() {
1155
1121
  </TouchableOpacity>
1156
1122
  ) : (
1157
1123
  <View>
1158
- <View
1159
- style={{
1160
- height: 0.5,
1161
- backgroundColor: '#E0E0E0',
1162
- marginVertical: 16,
1163
- }}
1164
- />
1124
+ <View style={styles.dividerThin} />
1165
1125
  <View style={{ flexDirection: 'row' }}>
1166
1126
  {item?.loanStatus === null ||
1167
1127
  item?.loanStatus === '' ? (
@@ -1186,12 +1146,7 @@ export const Home = observer(function Home() {
1186
1146
  <MText
1187
1147
  style={[
1188
1148
  commonStyles.textNormal,
1189
- {
1190
- fontSize: 12,
1191
- fontWeight: '300',
1192
- marginTop: 8,
1193
- textAlign: 'center',
1194
- },
1149
+ styles.actionLabelCenter,
1195
1150
  ]}
1196
1151
  >
1197
1152
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -1233,12 +1188,7 @@ export const Home = observer(function Home() {
1233
1188
  <MText
1234
1189
  style={[
1235
1190
  commonStyles.textNormal,
1236
- {
1237
- fontSize: 12,
1238
- fontWeight: '300',
1239
- marginTop: 8,
1240
- textAlign: 'center',
1241
- },
1191
+ styles.actionLabelCenter,
1242
1192
  ]}
1243
1193
  >
1244
1194
  Hoàn thiện{'\n'}cung cấp thông
@@ -1255,12 +1205,7 @@ export const Home = observer(function Home() {
1255
1205
  <MText
1256
1206
  style={[
1257
1207
  commonStyles.textNormal,
1258
- {
1259
- fontSize: 12,
1260
- fontWeight: '300',
1261
- marginTop: 8,
1262
- textAlign: 'center',
1263
- },
1208
+ styles.actionLabelCenter,
1264
1209
  ]}
1265
1210
  >
1266
1211
  Hoàn thiện{'\n'}cung cấp thông
@@ -1273,10 +1218,7 @@ export const Home = observer(function Home() {
1273
1218
 
1274
1219
  {item?.isSignContract && (
1275
1220
  <MButton
1276
- style={{
1277
- alignItems: 'center',
1278
- marginLeft: 20,
1279
- }}
1221
+ style={styles.actionButtonSpaced}
1280
1222
  onPress={() => {
1281
1223
  checkTerm(item, () => {
1282
1224
  if (item?.urlSignContract) {
@@ -1289,10 +1231,13 @@ export const Home = observer(function Home() {
1289
1231
  )
1290
1232
  );
1291
1233
  } else {
1292
- Alert.alert(
1293
- 'Thông báo',
1294
- 'Bạn chưa thể ký hợp đồng bây giờ?'
1295
- );
1234
+ AlertGlobal.show({
1235
+ type: 'warning',
1236
+ title: 'Thông báo',
1237
+ message:
1238
+ 'Bạn chưa thể ký hợp đồng bây giờ?',
1239
+ primaryText: 'Đóng',
1240
+ });
1296
1241
  }
1297
1242
  });
1298
1243
  }}
@@ -1301,11 +1246,7 @@ export const Home = observer(function Home() {
1301
1246
  <MText
1302
1247
  style={[
1303
1248
  commonStyles.textNormal,
1304
- {
1305
- fontSize: 12,
1306
- fontWeight: '300',
1307
- marginTop: 8,
1308
- },
1249
+ styles.actionLabel,
1309
1250
  ]}
1310
1251
  >
1311
1252
  Ký hợp đồng
@@ -1314,10 +1255,7 @@ export const Home = observer(function Home() {
1314
1255
  )}
1315
1256
  {item?.isSignContractTima && (
1316
1257
  <MButton
1317
- style={{
1318
- alignItems: 'center',
1319
- marginLeft: 20,
1320
- }}
1258
+ style={styles.actionButtonSpaced}
1321
1259
  onPress={() => {
1322
1260
  checkTerm(item, () => {
1323
1261
  navigation.dispatch(
@@ -1335,12 +1273,7 @@ export const Home = observer(function Home() {
1335
1273
  <MText
1336
1274
  style={[
1337
1275
  commonStyles.textNormal,
1338
- {
1339
- fontSize: 12,
1340
- fontWeight: '300',
1341
- marginTop: 8,
1342
- textAlign: 'center',
1343
- },
1276
+ styles.actionLabelCenter,
1344
1277
  ]}
1345
1278
  >
1346
1279
  Hợp đồng{'\n'}dịch vụ
@@ -1349,10 +1282,7 @@ export const Home = observer(function Home() {
1349
1282
  )}
1350
1283
  {item?.paymentEvidenceUrl && (
1351
1284
  <MButton
1352
- style={{
1353
- alignItems: 'center',
1354
- marginLeft: 20,
1355
- }}
1285
+ style={styles.actionButtonSpaced}
1356
1286
  onPress={() => {
1357
1287
  checkTerm(item, () => {
1358
1288
  navigation.dispatch(
@@ -1370,12 +1300,7 @@ export const Home = observer(function Home() {
1370
1300
  <MText
1371
1301
  style={[
1372
1302
  commonStyles.textNormal,
1373
- {
1374
- fontSize: 12,
1375
- fontWeight: '300',
1376
- marginTop: 8,
1377
- textAlign: 'center',
1378
- },
1303
+ styles.actionLabelCenter,
1379
1304
  ]}
1380
1305
  >
1381
1306
  Mục đích {'\n'}sử dụng
@@ -1384,10 +1309,7 @@ export const Home = observer(function Home() {
1384
1309
  )}
1385
1310
  {item?.showPaymentPlan && (
1386
1311
  <MButton
1387
- style={{
1388
- alignItems: 'center',
1389
- marginLeft: 20,
1390
- }}
1312
+ style={styles.actionButtonSpaced}
1391
1313
  onPress={() => {
1392
1314
  navigation.dispatch(
1393
1315
  StackActions.push(
@@ -1403,11 +1325,7 @@ export const Home = observer(function Home() {
1403
1325
  <MText
1404
1326
  style={[
1405
1327
  commonStyles.textNormal,
1406
- {
1407
- fontSize: 12,
1408
- fontWeight: '300',
1409
- marginTop: 8,
1410
- },
1328
+ styles.actionLabel,
1411
1329
  ]}
1412
1330
  >
1413
1331
  Lịch dự kiến
@@ -1419,17 +1337,7 @@ export const Home = observer(function Home() {
1419
1337
  {item.messageErrorCIMB !== '' &&
1420
1338
  item?.messageErrorCIMB &&
1421
1339
  item?.isCimbApproveFull === null ? (
1422
- <View
1423
- style={{
1424
- backgroundColor: '#FBEFE7',
1425
- marginHorizontal: -16,
1426
- paddingVertical: 8,
1427
- marginTop: 16,
1428
- borderBottomRightRadius: 8,
1429
- borderBottomLeftRadius: 8,
1430
- paddingHorizontal: 16,
1431
- }}
1432
- >
1340
+ <View style={styles.infoBanner}>
1433
1341
  <View
1434
1342
  style={{
1435
1343
  flexDirection: 'row',
@@ -1466,7 +1374,7 @@ export const Home = observer(function Home() {
1466
1374
  }}
1467
1375
  >
1468
1376
  <LinearGradient
1469
- colors={['#FF8E4F', '#EF592E']}
1377
+ colors={GRADIENT_ORANGE}
1470
1378
  style={{
1471
1379
  paddingHorizontal: 10,
1472
1380
  height: 30,
@@ -1491,19 +1399,7 @@ export const Home = observer(function Home() {
1491
1399
  </View>
1492
1400
  </View>
1493
1401
  ) : (
1494
- <View
1495
- style={{
1496
- flexDirection: 'row',
1497
- alignItems: 'center',
1498
- backgroundColor: '#FBEFE7',
1499
- marginHorizontal: -16,
1500
- paddingVertical: 8,
1501
- marginTop: 16,
1502
- borderBottomRightRadius: 8,
1503
- borderBottomLeftRadius: 8,
1504
- paddingHorizontal: 16,
1505
- }}
1506
- >
1402
+ <View style={styles.infoBannerRow}>
1507
1403
  <Info />
1508
1404
  <MText
1509
1405
  style={[
@@ -1533,16 +1429,7 @@ export const Home = observer(function Home() {
1533
1429
  <View>
1534
1430
  {item?.loanStatus !== null &&
1535
1431
  item?.loanStatus !== '' ? (
1536
- <View
1537
- style={{
1538
- backgroundColor: '#FFFFFF',
1539
- paddingHorizontal: 16,
1540
- marginBottom: 16,
1541
- borderRadius: 8,
1542
- borderWidth: 0.5,
1543
- borderColor: '#E0E0E0',
1544
- }}
1545
- >
1432
+ <View style={styles.card}>
1546
1433
  <View
1547
1434
  style={{
1548
1435
  flexDirection: 'row',
@@ -1563,13 +1450,7 @@ export const Home = observer(function Home() {
1563
1450
  </MText>
1564
1451
  </View>
1565
1452
  </View>
1566
- <View
1567
- style={{
1568
- height: 1,
1569
- backgroundColor: '#E0E0E0',
1570
- marginVertical: 16,
1571
- }}
1572
- />
1453
+ <View style={styles.divider} />
1573
1454
  <View
1574
1455
  style={{
1575
1456
  flexDirection: 'row',
@@ -1588,13 +1469,7 @@ export const Home = observer(function Home() {
1588
1469
  {item?.loanStatus}
1589
1470
  </MText>
1590
1471
  </View>
1591
- <View
1592
- style={{
1593
- height: 0.5,
1594
- backgroundColor: '#E0E0E0',
1595
- marginVertical: 16,
1596
- }}
1597
- />
1472
+ <View style={styles.dividerThin} />
1598
1473
  <View style={{ flexDirection: 'row' }}>
1599
1474
  {item?.isUpdateLoan ||
1600
1475
  item?.isUpdateInformation ? (
@@ -1628,12 +1503,7 @@ export const Home = observer(function Home() {
1628
1503
  <MText
1629
1504
  style={[
1630
1505
  commonStyles.textNormal,
1631
- {
1632
- fontSize: 12,
1633
- fontWeight: '300',
1634
- marginTop: 8,
1635
- textAlign: 'center',
1636
- },
1506
+ styles.actionLabelCenter,
1637
1507
  ]}
1638
1508
  >
1639
1509
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -1645,12 +1515,7 @@ export const Home = observer(function Home() {
1645
1515
  <MText
1646
1516
  style={[
1647
1517
  commonStyles.textNormal,
1648
- {
1649
- fontSize: 12,
1650
- fontWeight: '300',
1651
- marginTop: 8,
1652
- textAlign: 'center',
1653
- },
1518
+ styles.actionLabelCenter,
1654
1519
  ]}
1655
1520
  >
1656
1521
  Hoàn thiện{'\n'}cung cấp thông tin
@@ -1659,10 +1524,7 @@ export const Home = observer(function Home() {
1659
1524
  )}
1660
1525
  {item?.isSignContract && (
1661
1526
  <TouchableOpacity
1662
- style={{
1663
- alignItems: 'center',
1664
- marginLeft: 20,
1665
- }}
1527
+ style={styles.actionButtonSpaced}
1666
1528
  onPress={() => {
1667
1529
  checkTerm(item, () => {
1668
1530
  if (item?.urlSignContract) {
@@ -1675,10 +1537,13 @@ export const Home = observer(function Home() {
1675
1537
  )
1676
1538
  );
1677
1539
  } else {
1678
- Alert.alert(
1679
- 'Thông báo',
1680
- 'Bạn chưa thể ký hợp đồng bây giờ?'
1681
- );
1540
+ AlertGlobal.show({
1541
+ type: 'warning',
1542
+ title: 'Thông báo',
1543
+ message:
1544
+ 'Bạn chưa thể ký hợp đồng bây giờ?',
1545
+ primaryText: 'Đóng',
1546
+ });
1682
1547
  }
1683
1548
  });
1684
1549
  }}
@@ -1687,11 +1552,7 @@ export const Home = observer(function Home() {
1687
1552
  <MText
1688
1553
  style={[
1689
1554
  commonStyles.textNormal,
1690
- {
1691
- fontSize: 12,
1692
- fontWeight: '300',
1693
- marginTop: 8,
1694
- },
1555
+ styles.actionLabel,
1695
1556
  ]}
1696
1557
  >
1697
1558
  Ký hợp đồng
@@ -1700,10 +1561,7 @@ export const Home = observer(function Home() {
1700
1561
  )}
1701
1562
  {item?.isSignContractTima && (
1702
1563
  <TouchableOpacity
1703
- style={{
1704
- alignItems: 'center',
1705
- marginLeft: 20,
1706
- }}
1564
+ style={styles.actionButtonSpaced}
1707
1565
  onPress={() => {
1708
1566
  checkTerm(item, () => {
1709
1567
  navigation.dispatch(
@@ -1721,12 +1579,7 @@ export const Home = observer(function Home() {
1721
1579
  <MText
1722
1580
  style={[
1723
1581
  commonStyles.textNormal,
1724
- {
1725
- fontSize: 12,
1726
- fontWeight: '300',
1727
- marginTop: 8,
1728
- textAlign: 'center',
1729
- },
1582
+ styles.actionLabelCenter,
1730
1583
  ]}
1731
1584
  >
1732
1585
  Hợp đồng{'\n'}dịch vụ
@@ -1735,10 +1588,7 @@ export const Home = observer(function Home() {
1735
1588
  )}
1736
1589
  {item?.paymentEvidenceUrl && (
1737
1590
  <TouchableOpacity
1738
- style={{
1739
- alignItems: 'center',
1740
- marginLeft: 20,
1741
- }}
1591
+ style={styles.actionButtonSpaced}
1742
1592
  onPress={() => {
1743
1593
  checkTerm(item, () => {
1744
1594
  navigation.dispatch(
@@ -1756,12 +1606,7 @@ export const Home = observer(function Home() {
1756
1606
  <MText
1757
1607
  style={[
1758
1608
  commonStyles.textNormal,
1759
- {
1760
- fontSize: 12,
1761
- fontWeight: '300',
1762
- marginTop: 8,
1763
- textAlign: 'center',
1764
- },
1609
+ styles.actionLabelCenter,
1765
1610
  ]}
1766
1611
  >
1767
1612
  Mục đích {'\n'}sử dụng
@@ -1770,10 +1615,7 @@ export const Home = observer(function Home() {
1770
1615
  )}
1771
1616
  {item?.showPaymentPlan && (
1772
1617
  <TouchableOpacity
1773
- style={{
1774
- alignItems: 'center',
1775
- marginLeft: 20,
1776
- }}
1618
+ style={styles.actionButtonSpaced}
1777
1619
  onPress={() => {
1778
1620
  navigation.dispatch(
1779
1621
  StackActions.push(
@@ -1789,11 +1631,7 @@ export const Home = observer(function Home() {
1789
1631
  <MText
1790
1632
  style={[
1791
1633
  commonStyles.textNormal,
1792
- {
1793
- fontSize: 12,
1794
- fontWeight: '300',
1795
- marginTop: 8,
1796
- },
1634
+ styles.actionLabel,
1797
1635
  ]}
1798
1636
  >
1799
1637
  Lịch dự kiến
@@ -1802,19 +1640,7 @@ export const Home = observer(function Home() {
1802
1640
  )}
1803
1641
  </View>
1804
1642
 
1805
- <View
1806
- style={{
1807
- flexDirection: 'row',
1808
- alignItems: 'center',
1809
- backgroundColor: '#FBEFE7',
1810
- marginHorizontal: -16,
1811
- paddingVertical: 8,
1812
- marginTop: 16,
1813
- borderBottomRightRadius: 8,
1814
- borderBottomLeftRadius: 8,
1815
- paddingHorizontal: 16,
1816
- }}
1817
- >
1643
+ <View style={styles.infoBannerRow}>
1818
1644
  <Info />
1819
1645
  <MText
1820
1646
  style={[
@@ -1938,18 +1764,9 @@ export const Home = observer(function Home() {
1938
1764
  ) : (
1939
1765
  <Observer>
1940
1766
  {() => (
1941
- <View
1942
- style={{
1943
- backgroundColor: '#FFFFFF',
1944
- paddingHorizontal: 16,
1945
- borderRadius: 8,
1946
- borderWidth: 0.5,
1947
- borderColor: '#E0E0E0',
1948
- marginBottom: 16,
1949
- }}
1950
- >
1767
+ <View style={styles.card}>
1951
1768
  <LinearGradient
1952
- colors={['#FF8E4F', '#EF592E']}
1769
+ colors={GRADIENT_ORANGE}
1953
1770
  style={{
1954
1771
  borderTopLeftRadius: 8,
1955
1772
  borderTopRightRadius: 8,
@@ -1979,7 +1796,7 @@ export const Home = observer(function Home() {
1979
1796
  color: 'white',
1980
1797
  }}
1981
1798
  >
1982
- Số tiền đăng ký vay
1799
+ HD-{item?.id}
1983
1800
  </MText>
1984
1801
  </View>
1985
1802
  <MText
@@ -1989,7 +1806,7 @@ export const Home = observer(function Home() {
1989
1806
  fontWeight: 'bold',
1990
1807
  }}
1991
1808
  >
1992
- {formatMoney(item?.loanAmount)} đ
1809
+ {formatMoney(item?.loanAmount)}đ
1993
1810
  </MText>
1994
1811
  </View>
1995
1812
  </LinearGradient>
@@ -2020,13 +1837,7 @@ export const Home = observer(function Home() {
2020
1837
  {item?.loanStatus ?? 'Chưa xác định'}
2021
1838
  </MText>
2022
1839
  </View>
2023
- <View
2024
- style={{
2025
- height: 0.5,
2026
- backgroundColor: '#E0E0E0',
2027
- marginVertical: 16,
2028
- }}
2029
- />
1840
+ <View style={styles.dividerThin} />
2030
1841
  <View
2031
1842
  style={{
2032
1843
  flexDirection: 'row',
@@ -2054,10 +1865,7 @@ export const Home = observer(function Home() {
2054
1865
  <MText
2055
1866
  style={[
2056
1867
  commonStyles.textNormal,
2057
- {
2058
- fontSize: 12,
2059
- marginTop: 8,
2060
- },
1868
+ styles.label12,
2061
1869
  ]}
2062
1870
  >
2063
1871
  EKYC
@@ -2085,10 +1893,7 @@ export const Home = observer(function Home() {
2085
1893
  <MText
2086
1894
  style={[
2087
1895
  commonStyles.textNormal,
2088
- {
2089
- fontSize: 12,
2090
- marginTop: 8,
2091
- },
1896
+ styles.label12,
2092
1897
  ]}
2093
1898
  >
2094
1899
  Cập nhật{'\n'}thông tin
@@ -2120,10 +1925,7 @@ export const Home = observer(function Home() {
2120
1925
  <MText
2121
1926
  style={[
2122
1927
  commonStyles.textNormal,
2123
- {
2124
- fontSize: 12,
2125
- marginTop: 8,
2126
- },
1928
+ styles.label12,
2127
1929
  ]}
2128
1930
  >
2129
1931
  Quay video
@@ -2148,10 +1950,7 @@ export const Home = observer(function Home() {
2148
1950
  <MText
2149
1951
  style={[
2150
1952
  commonStyles.textNormal,
2151
- {
2152
- fontSize: 12,
2153
- marginTop: 8,
2154
- },
1953
+ styles.label12,
2155
1954
  ]}
2156
1955
  >
2157
1956
  Ký HĐ
@@ -2176,11 +1975,7 @@ export const Home = observer(function Home() {
2176
1975
  <MText
2177
1976
  style={[
2178
1977
  commonStyles.textNormal,
2179
- {
2180
- fontSize: 12,
2181
- marginTop: 8,
2182
- textAlign: 'center',
2183
- },
1978
+ styles.label12Center,
2184
1979
  ]}
2185
1980
  >
2186
1981
  Ký HĐ
@@ -2207,11 +2002,7 @@ export const Home = observer(function Home() {
2207
2002
  <MText
2208
2003
  style={[
2209
2004
  commonStyles.textNormal,
2210
- {
2211
- fontSize: 12,
2212
- marginTop: 8,
2213
- textAlign: 'center',
2214
- },
2005
+ styles.label12Center,
2215
2006
  ]}
2216
2007
  >
2217
2008
  Lịch thanh toán{'\n'}dự kiến
@@ -2219,19 +2010,7 @@ export const Home = observer(function Home() {
2219
2010
  </TouchableOpacity>
2220
2011
  )}
2221
2012
  </View>
2222
- <View
2223
- style={{
2224
- flexDirection: 'row',
2225
- alignItems: 'center',
2226
- backgroundColor: '#FBEFE7',
2227
- marginHorizontal: -16,
2228
- paddingVertical: 8,
2229
- marginTop: 16,
2230
- borderBottomRightRadius: 8,
2231
- borderBottomLeftRadius: 8,
2232
- paddingHorizontal: 16,
2233
- }}
2234
- >
2013
+ <View style={styles.infoBannerRow}>
2235
2014
  <Info />
2236
2015
  <MText
2237
2016
  style={[
@@ -2660,49 +2439,45 @@ export const Home = observer(function Home() {
2660
2439
  marginTop: 8,
2661
2440
  }}
2662
2441
  onPress={async () => {
2663
- Alert.alert(
2664
- 'Vui lòng xác nhận lại',
2665
- `Bạn chắc chắn muốn huỷ khoản vay từ CIMB với số tiền ${formatMoney(
2442
+ AlertGlobal.show({
2443
+ type: 'confirm',
2444
+ title: 'Vui lòng xác nhận lại',
2445
+ message: `Bạn có chắc chắn muốn huỷ khoản vay từ CIMB với số tiền ${formatMoney(
2666
2446
  loanCimb?.loanAmount
2667
2447
  )}`,
2668
- [
2669
- {
2670
- text: 'Có',
2671
- onPress: async () => {
2672
- const response =
2673
- await Api.getInstance().customerCancel({
2674
- LoanBriefId: loanCimb?.id,
2675
- });
2676
- if (response.kind === 'ok') {
2677
- if (response.data.meta.errorCode === 200) {
2678
- closeModal();
2679
- const key = `SHOW_${loanCimb.id}`;
2680
- save(key, true);
2681
- Alert.alert(
2682
- 'Thông báo',
2683
- 'Huỷ đơn thành công',
2684
- [
2685
- {
2686
- text: 'Đồng ý',
2687
- onPress: () => {
2688
- navigation.pop();
2689
- },
2690
- },
2691
- ]
2692
- );
2693
- }
2694
- } else {
2695
- Alert.alert(
2696
- 'Có lỗi xảy ra. Vui lòng thử lại sau!'
2697
- );
2698
- }
2699
- },
2700
- },
2701
- {
2702
- text: 'Không',
2703
- },
2704
- ]
2705
- );
2448
+ primaryText: 'Có',
2449
+ secondaryText: 'Không',
2450
+ onPrimaryPress: async () => {
2451
+ const response =
2452
+ await Api.getInstance().customerCancel({
2453
+ LoanBriefId: loanCimb?.id,
2454
+ });
2455
+ if (response.kind === 'ok') {
2456
+ if (response.data.meta.errorCode === 200) {
2457
+ closeModal();
2458
+ const key = `SHOW_${loanCimb.id}`;
2459
+ save(key, true);
2460
+ AlertGlobal.show({
2461
+ type: 'success',
2462
+ title: 'Thông báo',
2463
+ message:
2464
+ 'Bạn đã hủy khoản vay thành công. Vui lòng chọn khoản vay khác hoặc quay lại trang chủ.',
2465
+ primaryText: 'Đồng ý',
2466
+ onPrimaryPress() {
2467
+ navigation.pop();
2468
+ },
2469
+ });
2470
+ }
2471
+ } else {
2472
+ AlertGlobal.show({
2473
+ type: 'warning',
2474
+ title: 'Thông báo',
2475
+ message: 'Có lỗi xảy ra. Vui lòng thử lại sau!',
2476
+ primaryText: 'Đóng',
2477
+ });
2478
+ }
2479
+ },
2480
+ });
2706
2481
  }}
2707
2482
  >
2708
2483
  <MText style={{ color: '#BDBDBD' }}>Huỷ</MText>
@@ -3023,9 +2798,7 @@ export const Home = observer(function Home() {
3023
2798
  onPress={() => confirmTCCIMB()}
3024
2799
  >
3025
2800
  <LinearGradient
3026
- colors={
3027
- checkTCCIMB ? ['#FF8E4F', '#EF592E'] : ['#E0E0E0', '#E0E0E0']
3028
- }
2801
+ colors={checkTCCIMB ? GRADIENT_ORANGE : ['#E0E0E0', '#E0E0E0']}
3029
2802
  style={{
3030
2803
  height: 40,
3031
2804
  alignItems: 'center',
@@ -3098,3 +2871,73 @@ export const Home = observer(function Home() {
3098
2871
  </View>
3099
2872
  );
3100
2873
  });
2874
+
2875
+ const styles = StyleSheet.create({
2876
+ // Khung thẻ đơn vay (nền trắng, viền xám bo góc) - dùng lại ở nhiều loại đơn
2877
+ card: {
2878
+ backgroundColor: '#FFFFFF',
2879
+ paddingHorizontal: 16,
2880
+ marginBottom: 16,
2881
+ borderRadius: 8,
2882
+ borderWidth: 0.5,
2883
+ borderColor: '#E0E0E0',
2884
+ },
2885
+ // Nhãn các nút hành động ở thẻ CIMB (Hoàn thiện, Hợp đồng dịch vụ, ...)
2886
+ actionLabelCenter: {
2887
+ fontSize: 12,
2888
+ fontWeight: '300',
2889
+ marginTop: 8,
2890
+ textAlign: 'center',
2891
+ },
2892
+ actionLabel: {
2893
+ fontSize: 12,
2894
+ fontWeight: '300',
2895
+ marginTop: 8,
2896
+ },
2897
+ label12: {
2898
+ fontSize: 12,
2899
+ marginTop: 8,
2900
+ },
2901
+ label12Center: {
2902
+ fontSize: 12,
2903
+ marginTop: 8,
2904
+ textAlign: 'center',
2905
+ },
2906
+ // Đường kẻ ngăn cách ngang trong thẻ đơn vay
2907
+ divider: {
2908
+ height: 1,
2909
+ backgroundColor: '#E0E0E0',
2910
+ marginVertical: 16,
2911
+ },
2912
+ dividerThin: {
2913
+ height: 0.5,
2914
+ backgroundColor: '#E0E0E0',
2915
+ marginVertical: 16,
2916
+ },
2917
+ // Nút hành động (icon + nhãn) cách nút trước 20px
2918
+ actionButtonSpaced: {
2919
+ alignItems: 'center',
2920
+ marginLeft: 20,
2921
+ },
2922
+ // Dải thông báo/gợi ý màu cam nhạt ở đáy thẻ CIMB
2923
+ infoBanner: {
2924
+ backgroundColor: '#FBEFE7',
2925
+ marginHorizontal: -16,
2926
+ paddingVertical: 8,
2927
+ marginTop: 16,
2928
+ borderBottomRightRadius: 8,
2929
+ borderBottomLeftRadius: 8,
2930
+ paddingHorizontal: 16,
2931
+ },
2932
+ infoBannerRow: {
2933
+ flexDirection: 'row',
2934
+ alignItems: 'center',
2935
+ backgroundColor: '#FBEFE7',
2936
+ marginHorizontal: -16,
2937
+ paddingVertical: 8,
2938
+ marginTop: 16,
2939
+ borderBottomRightRadius: 8,
2940
+ borderBottomLeftRadius: 8,
2941
+ paddingHorizontal: 16,
2942
+ },
2943
+ });