react-native-timacare 3.1.65 → 3.1.67

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 (250) hide show
  1. package/lib/commonjs/AppStore.js +1 -1
  2. package/lib/commonjs/AppStore.js.flow +4 -2
  3. package/lib/commonjs/AppStore.js.map +1 -1
  4. package/lib/commonjs/assets/v3/home.svg +5 -0
  5. package/lib/commonjs/assets/v3/index.js +2 -0
  6. package/lib/commonjs/assets/v3/index.js.flow +38 -0
  7. package/lib/commonjs/assets/v3/index.js.map +1 -0
  8. package/lib/commonjs/assets/v3/option1.svg +27 -0
  9. package/lib/commonjs/assets/v3/option2.svg +25 -0
  10. package/lib/commonjs/assets/v3/step1-success.svg +39 -0
  11. package/lib/commonjs/assets/v3/step1.svg +90 -0
  12. package/lib/commonjs/assets/v3/step2-disable.svg +14 -0
  13. package/lib/commonjs/assets/v3/step2-success.svg +8 -0
  14. package/lib/commonjs/assets/v3/step2.svg +37 -0
  15. package/lib/commonjs/assets/v3/step3-disable.svg +17 -0
  16. package/lib/commonjs/assets/v3/step3-success.svg +17 -0
  17. package/lib/commonjs/assets/v3/step3.svg +45 -0
  18. package/lib/commonjs/assets/v3/step4-disable.svg +11 -0
  19. package/lib/commonjs/assets/v3/step4-success.svg +11 -0
  20. package/lib/commonjs/assets/v3/step4.svg +29 -0
  21. package/lib/commonjs/assets/v3/step5-disable.svg +17 -0
  22. package/lib/commonjs/assets/v3/step5-success.svg +17 -0
  23. package/lib/commonjs/assets/v3/step5.svg +45 -0
  24. package/lib/commonjs/components/ItemTimaOneV2.js +2 -0
  25. package/lib/commonjs/components/ItemTimaOneV2.js.flow +617 -0
  26. package/lib/commonjs/components/ItemTimaOneV2.js.map +1 -0
  27. package/lib/commonjs/components/ItemTimaOneV3.js +2 -0
  28. package/lib/commonjs/components/ItemTimaOneV3.js.flow +558 -0
  29. package/lib/commonjs/components/ItemTimaOneV3.js.map +1 -0
  30. package/lib/commonjs/components/MText.js +1 -1
  31. package/lib/commonjs/components/MText.js.flow +1 -1
  32. package/lib/commonjs/components/ModalOptionLoan.js +2 -0
  33. package/lib/commonjs/components/ModalOptionLoan.js.flow +242 -0
  34. package/lib/commonjs/components/ModalOptionLoan.js.map +1 -0
  35. package/lib/commonjs/navigation/primary-navigator.js +1 -1
  36. package/lib/commonjs/navigation/primary-navigator.js.flow +12 -0
  37. package/lib/commonjs/navigation/primary-navigator.js.map +1 -1
  38. package/lib/commonjs/screens/eSign/index.js +1 -1
  39. package/lib/commonjs/screens/eSign/index.js.flow +53 -41
  40. package/lib/commonjs/screens/eSign/index.js.map +1 -1
  41. package/lib/commonjs/screens/home/index.js +1 -1
  42. package/lib/commonjs/screens/home/index.js.flow +64 -625
  43. package/lib/commonjs/screens/home/index.js.map +1 -1
  44. package/lib/commonjs/screens/mySignViettel/Layer_3.png +0 -0
  45. package/lib/commonjs/screens/mySignViettel/index.js +2 -0
  46. package/lib/commonjs/screens/mySignViettel/index.js.flow +278 -0
  47. package/lib/commonjs/screens/mySignViettel/index.js.map +1 -0
  48. package/lib/commonjs/screens/sign-tima/ViewContract.js +1 -1
  49. package/lib/commonjs/screens/sign-tima/ViewContract.js.flow +57 -43
  50. package/lib/commonjs/screens/sign-tima/ViewContract.js.map +1 -1
  51. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  52. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +1 -1
  53. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  54. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js +1 -1
  55. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.flow +9 -2
  56. package/lib/commonjs/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  57. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js +1 -1
  58. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.flow +110 -7
  59. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  60. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  61. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.flow +9 -8
  62. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  63. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js +1 -1
  64. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.flow +43 -169
  65. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  66. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  67. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.flow +1 -1
  68. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  69. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  70. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.flow +1 -1
  71. package/lib/commonjs/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  72. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  73. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +17 -14
  74. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  75. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  76. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.flow +71 -12
  77. package/lib/commonjs/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  78. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  79. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +133 -43
  80. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  81. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  82. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.flow +1 -1
  83. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  84. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  85. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.flow +1 -1
  86. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  87. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  88. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.flow +1 -1
  89. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  90. package/lib/commonjs/screens/toan-trinh-so/store.js +1 -1
  91. package/lib/commonjs/screens/toan-trinh-so/store.js.flow +2 -2
  92. package/lib/commonjs/screens/toan-trinh-so/store.js.map +1 -1
  93. package/lib/commonjs/screens/v3/AssetInformation.js +2 -0
  94. package/lib/commonjs/screens/v3/AssetInformation.js.flow +690 -0
  95. package/lib/commonjs/screens/v3/AssetInformation.js.map +1 -0
  96. package/lib/commonjs/services/api/api.js +1 -1
  97. package/lib/commonjs/services/api/api.js.flow +196 -0
  98. package/lib/commonjs/services/api/api.js.map +1 -1
  99. package/lib/commonjs/utils/index.js +1 -1
  100. package/lib/commonjs/utils/index.js.flow +2 -0
  101. package/lib/commonjs/utils/index.js.map +1 -1
  102. package/lib/module/AppStore.js +1 -1
  103. package/lib/module/AppStore.js.map +1 -1
  104. package/lib/module/assets/v3/home.svg +5 -0
  105. package/lib/module/assets/v3/index.js +2 -0
  106. package/lib/module/assets/v3/index.js.map +1 -0
  107. package/lib/module/assets/v3/option1.svg +27 -0
  108. package/lib/module/assets/v3/option2.svg +25 -0
  109. package/lib/module/assets/v3/step1-success.svg +39 -0
  110. package/lib/module/assets/v3/step1.svg +90 -0
  111. package/lib/module/assets/v3/step2-disable.svg +14 -0
  112. package/lib/module/assets/v3/step2-success.svg +8 -0
  113. package/lib/module/assets/v3/step2.svg +37 -0
  114. package/lib/module/assets/v3/step3-disable.svg +17 -0
  115. package/lib/module/assets/v3/step3-success.svg +17 -0
  116. package/lib/module/assets/v3/step3.svg +45 -0
  117. package/lib/module/assets/v3/step4-disable.svg +11 -0
  118. package/lib/module/assets/v3/step4-success.svg +11 -0
  119. package/lib/module/assets/v3/step4.svg +29 -0
  120. package/lib/module/assets/v3/step5-disable.svg +17 -0
  121. package/lib/module/assets/v3/step5-success.svg +17 -0
  122. package/lib/module/assets/v3/step5.svg +45 -0
  123. package/lib/module/components/ItemTimaOneV2.js +2 -0
  124. package/lib/module/components/ItemTimaOneV2.js.map +1 -0
  125. package/lib/module/components/ItemTimaOneV3.js +2 -0
  126. package/lib/module/components/ItemTimaOneV3.js.map +1 -0
  127. package/lib/module/components/MText.js +1 -1
  128. package/lib/module/components/ModalOptionLoan.js +2 -0
  129. package/lib/module/components/ModalOptionLoan.js.map +1 -0
  130. package/lib/module/navigation/primary-navigator.js +1 -1
  131. package/lib/module/navigation/primary-navigator.js.map +1 -1
  132. package/lib/module/screens/eSign/index.js +1 -1
  133. package/lib/module/screens/eSign/index.js.map +1 -1
  134. package/lib/module/screens/home/index.js +1 -1
  135. package/lib/module/screens/home/index.js.map +1 -1
  136. package/lib/module/screens/mySignViettel/Layer_3.png +0 -0
  137. package/lib/module/screens/mySignViettel/index.js +2 -0
  138. package/lib/module/screens/mySignViettel/index.js.map +1 -0
  139. package/lib/module/screens/sign-tima/ViewContract.js +1 -1
  140. package/lib/module/screens/sign-tima/ViewContract.js.map +1 -1
  141. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  142. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  143. package/lib/module/screens/toan-trinh-so/RegisterBack.js +1 -1
  144. package/lib/module/screens/toan-trinh-so/RegisterBack.js.map +1 -1
  145. package/lib/module/screens/toan-trinh-so/ReviewInformation.js +1 -1
  146. package/lib/module/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  147. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  148. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  149. package/lib/module/screens/toan-trinh-so/ReviewLoan.js +1 -1
  150. package/lib/module/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  151. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js +1 -1
  152. package/lib/module/screens/toan-trinh-so/TTSNationalIDBack.js.map +1 -1
  153. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js +1 -1
  154. package/lib/module/screens/toan-trinh-so/TTSNationalIDFront.js.map +1 -1
  155. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  156. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  157. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js +1 -1
  158. package/lib/module/screens/toan-trinh-so/TTSSignLoan.js.map +1 -1
  159. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  160. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  161. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js +1 -1
  162. package/lib/module/screens/toan-trinh-so/VehicleRegistration.js.map +1 -1
  163. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  164. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  165. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js +1 -1
  166. package/lib/module/screens/toan-trinh-so/VehicleRegistrationFront.js.map +1 -1
  167. package/lib/module/screens/toan-trinh-so/store.js +1 -1
  168. package/lib/module/screens/toan-trinh-so/store.js.map +1 -1
  169. package/lib/module/screens/v3/AssetInformation.js +2 -0
  170. package/lib/module/screens/v3/AssetInformation.js.map +1 -0
  171. package/lib/module/services/api/api.js +1 -1
  172. package/lib/module/services/api/api.js.map +1 -1
  173. package/lib/module/utils/index.js +1 -1
  174. package/lib/module/utils/index.js.map +1 -1
  175. package/lib/typescript/AppStore.d.ts +2 -2
  176. package/lib/typescript/AppStore.d.ts.map +1 -1
  177. package/lib/typescript/assets/v3/index.d.ts +19 -0
  178. package/lib/typescript/assets/v3/index.d.ts.map +1 -0
  179. package/lib/typescript/components/ItemTimaOneV2.d.ts +7 -0
  180. package/lib/typescript/components/ItemTimaOneV2.d.ts.map +1 -0
  181. package/lib/typescript/components/ItemTimaOneV3.d.ts +7 -0
  182. package/lib/typescript/components/ItemTimaOneV3.d.ts.map +1 -0
  183. package/lib/typescript/components/ModalOptionLoan.d.ts +8 -0
  184. package/lib/typescript/components/ModalOptionLoan.d.ts.map +1 -0
  185. package/lib/typescript/navigation/primary-navigator.d.ts +2 -0
  186. package/lib/typescript/navigation/primary-navigator.d.ts.map +1 -1
  187. package/lib/typescript/screens/eSign/index.d.ts.map +1 -1
  188. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  189. package/lib/typescript/screens/mySignViettel/index.d.ts +2 -0
  190. package/lib/typescript/screens/mySignViettel/index.d.ts.map +1 -0
  191. package/lib/typescript/screens/sign-tima/ViewContract.d.ts.map +1 -1
  192. package/lib/typescript/screens/toan-trinh-so/RegisterBack.d.ts.map +1 -1
  193. package/lib/typescript/screens/toan-trinh-so/ReviewInformation.d.ts.map +1 -1
  194. package/lib/typescript/screens/toan-trinh-so/ReviewInformationOther.d.ts.map +1 -1
  195. package/lib/typescript/screens/toan-trinh-so/ReviewLoan.d.ts.map +1 -1
  196. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  197. package/lib/typescript/screens/toan-trinh-so/TTSSignLoan.d.ts.map +1 -1
  198. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  199. package/lib/typescript/screens/v3/AssetInformation.d.ts +2 -0
  200. package/lib/typescript/screens/v3/AssetInformation.d.ts.map +1 -0
  201. package/lib/typescript/services/api/api.d.ts +192 -0
  202. package/lib/typescript/services/api/api.d.ts.map +1 -1
  203. package/lib/typescript/utils/index.d.ts.map +1 -1
  204. package/package.json +1 -1
  205. package/src/AppStore.tsx +4 -2
  206. package/src/assets/v3/home.svg +5 -0
  207. package/src/assets/v3/index.tsx +38 -0
  208. package/src/assets/v3/option1.svg +27 -0
  209. package/src/assets/v3/option2.svg +25 -0
  210. package/src/assets/v3/step1-success.svg +39 -0
  211. package/src/assets/v3/step1.svg +90 -0
  212. package/src/assets/v3/step2-disable.svg +14 -0
  213. package/src/assets/v3/step2-success.svg +8 -0
  214. package/src/assets/v3/step2.svg +37 -0
  215. package/src/assets/v3/step3-disable.svg +17 -0
  216. package/src/assets/v3/step3-success.svg +17 -0
  217. package/src/assets/v3/step3.svg +45 -0
  218. package/src/assets/v3/step4-disable.svg +11 -0
  219. package/src/assets/v3/step4-success.svg +11 -0
  220. package/src/assets/v3/step4.svg +29 -0
  221. package/src/assets/v3/step5-disable.svg +17 -0
  222. package/src/assets/v3/step5-success.svg +17 -0
  223. package/src/assets/v3/step5.svg +45 -0
  224. package/src/components/ItemTimaOneV2.tsx +617 -0
  225. package/src/components/ItemTimaOneV3.tsx +558 -0
  226. package/src/components/MText.tsx +1 -1
  227. package/src/components/ModalOptionLoan.tsx +242 -0
  228. package/src/navigation/primary-navigator.tsx +12 -0
  229. package/src/screens/eSign/index.tsx +53 -41
  230. package/src/screens/home/index.tsx +64 -625
  231. package/src/screens/mySignViettel/Layer_3.png +0 -0
  232. package/src/screens/mySignViettel/index.tsx +278 -0
  233. package/src/screens/sign-tima/ViewContract.tsx +57 -43
  234. package/src/screens/toan-trinh-so/OCR.tsx +1 -1
  235. package/src/screens/toan-trinh-so/RegisterBack.tsx +9 -2
  236. package/src/screens/toan-trinh-so/ReviewInformation.tsx +110 -7
  237. package/src/screens/toan-trinh-so/ReviewInformationOther.tsx +9 -8
  238. package/src/screens/toan-trinh-so/ReviewLoan.tsx +43 -169
  239. package/src/screens/toan-trinh-so/TTSNationalIDBack.tsx +1 -1
  240. package/src/screens/toan-trinh-so/TTSNationalIDFront.tsx +1 -1
  241. package/src/screens/toan-trinh-so/TTSSelfie.tsx +17 -14
  242. package/src/screens/toan-trinh-so/TTSSignLoan.tsx +71 -12
  243. package/src/screens/toan-trinh-so/VehicleCamera.tsx +133 -43
  244. package/src/screens/toan-trinh-so/VehicleRegistration.tsx +1 -1
  245. package/src/screens/toan-trinh-so/VehicleRegistrationBack.tsx +1 -1
  246. package/src/screens/toan-trinh-so/VehicleRegistrationFront.tsx +1 -1
  247. package/src/screens/toan-trinh-so/store.ts +2 -2
  248. package/src/screens/v3/AssetInformation.tsx +690 -0
  249. package/src/services/api/api.ts +196 -0
  250. package/src/utils/index.tsx +2 -0
@@ -7,6 +7,7 @@ import {
7
7
  ImageStyle,
8
8
  Platform,
9
9
  SafeAreaView,
10
+ StyleSheet,
10
11
  TextStyle,
11
12
  TouchableOpacity,
12
13
  View,
@@ -41,6 +42,12 @@ import { IconUpload } from '../../assets/svgs';
41
42
  import ImagePicker from 'react-native-image-crop-picker';
42
43
  import { launchImageLibrary } from 'react-native-image-picker';
43
44
 
45
+ const { width: screenWidth, height: screenHeight } = Dimensions.get('window');
46
+ const frameWidth = screenWidth * 0.85;
47
+ const frameHeight = frameWidth * 0.63; // tỷ lệ giống CCCD
48
+ const frameLeft = (screenWidth - frameWidth) / 2;
49
+ const frameTop = ((screenWidth * 4) / 3 - frameHeight) / 2;
50
+
44
51
  export default function VehicleCamera(props: any) {
45
52
  const isFocused = useIsFocused();
46
53
  const [shouldRenderCamera, setShouldRenderCamera] = useState(false);
@@ -244,30 +251,16 @@ export default function VehicleCamera(props: any) {
244
251
 
245
252
  return (
246
253
  <View
247
- style={[$flex, { backgroundColor: 'black' }]}
254
+ style={[$flex, { backgroundColor: '#000' }]}
248
255
  pointerEvents={'box-none'}
249
256
  >
250
257
  {passPermission && shouldRenderCamera ? (
251
- <View
252
- style={[
253
- commonStyles.alignCenter,
254
- commonStyles.fill,
255
- commonStyles.justifyCenter,
256
- {
257
- position: 'absolute',
258
- width: Dimensions.get('window').width,
259
- height: Dimensions.get('window').height,
260
- zIndex: 1000,
261
- },
262
- ]}
263
- >
258
+ <View style={{ flex: 1 }}>
264
259
  <RNCamera
265
260
  ref={myCamera}
266
261
  defaultVideoQuality={RNCamera.Constants.VideoQuality['720p']}
267
262
  style={{
268
- width: Dimensions.get('window').width,
269
- height: 260,
270
- overflow: 'hidden',
263
+ flex: 1,
271
264
  }}
272
265
  maxZoom={1}
273
266
  androidCameraPermissionOptions={{
@@ -279,32 +272,61 @@ export default function VehicleCamera(props: any) {
279
272
  quality={0.8}
280
273
  pictureSize="1280x720"
281
274
  >
282
- {({ camera, status, recordAudioPermissionStatus }) => {
283
- if (status !== 'READY') return <ActivityIndicator />;
284
- }}
275
+ <View style={$overlay}>
276
+ <View style={$darkOverlayTop} />
277
+ <View style={$row}>
278
+ <View style={$darkOverlaySide} />
279
+ <View style={$frameBorder}>
280
+ {/* Top Left */}
281
+ <Corner
282
+ style={{
283
+ top: 0,
284
+ left: 0,
285
+ borderTopWidth: CORNER_WIDTH,
286
+ borderLeftWidth: CORNER_WIDTH,
287
+ borderColor: BORDER_COLOR,
288
+ }}
289
+ />
290
+
291
+ {/* Top Right */}
292
+ <Corner
293
+ style={{
294
+ top: 0,
295
+ right: 0,
296
+ borderTopWidth: CORNER_WIDTH,
297
+ borderRightWidth: CORNER_WIDTH,
298
+ borderColor: BORDER_COLOR,
299
+ }}
300
+ />
301
+
302
+ {/* Bottom Left */}
303
+ <Corner
304
+ style={{
305
+ bottom: 0,
306
+ left: 0,
307
+ borderBottomWidth: CORNER_WIDTH,
308
+ borderLeftWidth: CORNER_WIDTH,
309
+ borderColor: BORDER_COLOR,
310
+ }}
311
+ />
312
+
313
+ {/* Bottom Right */}
314
+ <Corner
315
+ style={{
316
+ bottom: 0,
317
+ right: 0,
318
+ borderBottomWidth: CORNER_WIDTH,
319
+ borderRightWidth: CORNER_WIDTH,
320
+ borderColor: BORDER_COLOR,
321
+ }}
322
+ />
323
+ </View>
324
+ <View style={$darkOverlaySide} />
325
+ </View>
326
+ <View style={$darkOverlayBottom} />
327
+ </View>
285
328
  </RNCamera>
286
- <TouchableOpacity
287
- onPress={() => {
288
- pickImageFromGallery();
289
- }}
290
- style={{
291
- flexDirection: 'row',
292
- alignItems: 'center',
293
- gap: 8,
294
- marginTop: 16,
295
- zIndex: 1000,
296
- }}
297
- >
298
- <IconUpload />
299
- <MText
300
- style={{
301
- color: 'white',
302
- fontSize: 12,
303
- }}
304
- >
305
- Tải ảnh từ thư viện
306
- </MText>
307
- </TouchableOpacity>
329
+
308
330
  <View
309
331
  style={{
310
332
  position: 'absolute',
@@ -314,6 +336,28 @@ export default function VehicleCamera(props: any) {
314
336
  zIndex: 1000,
315
337
  }}
316
338
  >
339
+ <TouchableOpacity
340
+ onPress={() => {
341
+ pickImageFromGallery();
342
+ }}
343
+ style={{
344
+ flexDirection: 'row',
345
+ alignItems: 'center',
346
+ justifyContent: 'center',
347
+ gap: 8,
348
+ marginBottom: 50,
349
+ }}
350
+ >
351
+ <IconUpload />
352
+ <MText
353
+ style={{
354
+ color: 'white',
355
+ fontSize: 12,
356
+ }}
357
+ >
358
+ Tải ảnh từ thư viện
359
+ </MText>
360
+ </TouchableOpacity>
317
361
  {!taking && (
318
362
  <>
319
363
  <MText
@@ -388,7 +432,7 @@ export default function VehicleCamera(props: any) {
388
432
  </SafeAreaView>
389
433
  </View>
390
434
  ) : (
391
- <></>
435
+ <View></View>
392
436
  )}
393
437
  <Modal
394
438
  isVisible={showModal}
@@ -514,6 +558,52 @@ export default function VehicleCamera(props: any) {
514
558
  );
515
559
  }
516
560
 
561
+ const CORNER_SIZE = 20;
562
+ const CORNER_WIDTH = 2;
563
+ const BORDER_COLOR = '#FDFDFD';
564
+
565
+ const Corner = ({ style }: { style: ViewStyle }) => (
566
+ <View
567
+ style={[
568
+ style,
569
+ {
570
+ position: 'absolute',
571
+ width: CORNER_SIZE,
572
+ height: CORNER_SIZE,
573
+ },
574
+ ]}
575
+ />
576
+ );
577
+
578
+ const overlayColor = 'rgba(22, 22, 22, 0.7)';
579
+
580
+ const $overlay: ViewStyle = {
581
+ ...StyleSheet.absoluteFillObject,
582
+ justifyContent: 'center',
583
+ alignItems: 'center',
584
+ };
585
+
586
+ const $darkOverlayTop: ViewStyle = {
587
+ width: '100%',
588
+ height: (screenHeight - frameHeight) / 2,
589
+ backgroundColor: overlayColor,
590
+ };
591
+
592
+ const $darkOverlayBottom: ViewStyle = {
593
+ width: '100%',
594
+ height: (screenHeight - frameHeight) / 2,
595
+ backgroundColor: overlayColor,
596
+ };
597
+ const $darkOverlaySide: ViewStyle = {
598
+ width: (screenWidth - frameWidth) / 2,
599
+ height: frameHeight,
600
+ backgroundColor: overlayColor,
601
+ };
602
+ const $frameBorder: ViewStyle = {
603
+ width: frameWidth,
604
+ height: frameHeight,
605
+ };
606
+
517
607
  const $row: ViewStyle = {
518
608
  flexDirection: 'row',
519
609
  alignItems: 'center',
@@ -84,7 +84,7 @@ export default function VehicleRegistration(props) {
84
84
  name: 'image.jpg',
85
85
  });
86
86
 
87
- const response = await Api.getInstance().uploadImageOcr(formData);
87
+ const response = await Api.getInstance().uploadImageAutoDE(formData);
88
88
  setIsLoading(false);
89
89
  if (response.kind === 'ok') {
90
90
  if (response.data?.meta?.errorCode === 200) {
@@ -70,7 +70,7 @@ export default function VehicleRegistrationBack(props: any) {
70
70
  name: 'image.jpg',
71
71
  });
72
72
 
73
- const response = await Api.getInstance().uploadImageOcr(formData);
73
+ const response = await Api.getInstance().uploadImageAutoDE(formData);
74
74
  setIsLoading(false);
75
75
  if (response.kind === 'ok') {
76
76
  if (response.data?.meta?.errorCode === 200) {
@@ -77,7 +77,7 @@ export default function VehicleRegistrationFront(props: any) {
77
77
  name: 'image.jpg',
78
78
  });
79
79
 
80
- const response = await Api.getInstance().uploadImageOcr(formData);
80
+ const response = await Api.getInstance().uploadImageAutoDE(formData);
81
81
  setIsLoading(false);
82
82
  if (response.kind === 'ok') {
83
83
  if (response.data?.meta?.errorCode === 200) {
@@ -256,7 +256,7 @@ class Store {
256
256
 
257
257
  async getFirstPayment(id) {
258
258
  try {
259
- const response = await Api.getInstance().getFirstPaymentTTS(id);
259
+ const response = await Api.getInstance().getFirstPaymentTTSV2(id);
260
260
  if (response.kind === 'ok') {
261
261
  if (response.data.meta.errorCode === 200) {
262
262
  this.listFirstPayment = response.data.data.map((item: any) => {
@@ -275,10 +275,10 @@ class Store {
275
275
 
276
276
  async signViettel(id, onSuccess?) {
277
277
  try {
278
+
278
279
  const response = await Api.getInstance().sign_viettel_for_borrower({
279
280
  loanBriefId: id
280
281
  })
281
-
282
282
  if (response.kind === 'ok' && response.data.meta.errorCode === 200) {
283
283
  Alert.alert(
284
284
  'Thông báo',