react-native-timacare 3.3.56-alert → 3.3.58-cccd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/lib/commonjs/assets/icons/index.js +1 -1
  2. package/lib/commonjs/assets/icons/index.js.flow +2 -0
  3. package/lib/commonjs/assets/icons/index.js.map +1 -1
  4. package/lib/commonjs/assets/icons/modal_confirm.svg +5 -5
  5. package/lib/commonjs/assets/icons/modal_notice.svg +32 -32
  6. package/lib/commonjs/assets/icons/modal_success.svg +26 -26
  7. package/lib/commonjs/assets/icons/modal_warning.svg +21 -21
  8. package/lib/commonjs/assets/icons/user_security.svg +10 -0
  9. package/lib/commonjs/assets/tts/Frame1000011947.png +0 -0
  10. package/lib/commonjs/components/AlertLoan.js +1 -1
  11. package/lib/commonjs/components/AlertLoan.js.flow +1 -1
  12. package/lib/commonjs/components/AlertLoan.js.map +1 -1
  13. package/lib/commonjs/components/AppModal.js +1 -1
  14. package/lib/commonjs/components/AppModal.js.flow +40 -2
  15. package/lib/commonjs/components/AppModal.js.map +1 -1
  16. package/lib/commonjs/components/ItemTimaOne.js +1 -1
  17. package/lib/commonjs/components/ItemTimaOne.js.flow +1 -1
  18. package/lib/commonjs/components/ItemTimaOne.js.map +1 -1
  19. package/lib/commonjs/components/ModalNotification/AlertGlobal.js +1 -1
  20. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.flow +92 -33
  21. package/lib/commonjs/components/ModalNotification/AlertGlobal.js.map +1 -1
  22. package/lib/commonjs/components/ModalNotification/index.js +1 -1
  23. package/lib/commonjs/components/ModalNotification/index.js.flow +7 -0
  24. package/lib/commonjs/components/ModalNotification/index.js.map +1 -1
  25. package/lib/commonjs/components/ModalOptionLoan.js +1 -1
  26. package/lib/commonjs/components/ModalOptionLoan.js.flow +1 -1
  27. package/lib/commonjs/components/ModalOptionLoan.js.map +1 -1
  28. package/lib/commonjs/components/ModalOptionLoanDigital.js +1 -1
  29. package/lib/commonjs/components/ModalOptionLoanDigital.js.flow +1 -1
  30. package/lib/commonjs/components/ModalOptionLoanDigital.js.map +1 -1
  31. package/lib/commonjs/components/modalStack.js +2 -0
  32. package/lib/commonjs/components/modalStack.js.flow +47 -0
  33. package/lib/commonjs/components/modalStack.js.map +1 -0
  34. package/lib/commonjs/navigation/primary-navigator.js +1 -1
  35. package/lib/commonjs/navigation/primary-navigator.js.flow +7 -0
  36. package/lib/commonjs/navigation/primary-navigator.js.map +1 -1
  37. package/lib/commonjs/screens/NFC/OcrStart.js +2 -0
  38. package/lib/commonjs/screens/NFC/OcrStart.js.flow +171 -0
  39. package/lib/commonjs/screens/NFC/OcrStart.js.map +1 -0
  40. package/lib/commonjs/screens/NFC/ScanMRZ.js +2 -0
  41. package/lib/commonjs/screens/NFC/ScanMRZ.js.flow +563 -0
  42. package/lib/commonjs/screens/NFC/ScanMRZ.js.map +1 -0
  43. package/lib/commonjs/screens/camera/CCCDCameraScreen.js +1 -1
  44. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.flow +203 -133
  45. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.map +1 -1
  46. package/lib/commonjs/screens/camera/index.js +1 -1
  47. package/lib/commonjs/screens/camera/index.js.flow +1 -1
  48. package/lib/commonjs/screens/camera/index.js.map +1 -1
  49. package/lib/commonjs/screens/detail-loan/PaymentInfo.js +1 -1
  50. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.flow +1 -1
  51. package/lib/commonjs/screens/detail-loan/PaymentInfo.js.map +1 -1
  52. package/lib/commonjs/screens/detail-loan/ShowQrCode.js +1 -1
  53. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.flow +1 -1
  54. package/lib/commonjs/screens/detail-loan/ShowQrCode.js.map +1 -1
  55. package/lib/commonjs/screens/digital-lending/Step6.js +1 -1
  56. package/lib/commonjs/screens/digital-lending/Step6.js.flow +1 -1
  57. package/lib/commonjs/screens/digital-lending/Step6.js.map +1 -1
  58. package/lib/commonjs/screens/eSign/index.js +1 -1
  59. package/lib/commonjs/screens/eSign/index.js.flow +1 -1
  60. package/lib/commonjs/screens/eSign/index.js.map +1 -1
  61. package/lib/commonjs/screens/home/DigitalTopupItem.js +1 -1
  62. package/lib/commonjs/screens/home/DigitalTopupItem.js.flow +1 -1
  63. package/lib/commonjs/screens/home/DigitalTopupItem.js.map +1 -1
  64. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js +1 -1
  65. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.flow +1 -1
  66. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.map +1 -1
  67. package/lib/commonjs/screens/home/index.js +1 -1
  68. package/lib/commonjs/screens/home/index.js.flow +8 -113
  69. package/lib/commonjs/screens/home/index.js.map +1 -1
  70. package/lib/commonjs/screens/nationalID/index.js +1 -1
  71. package/lib/commonjs/screens/nationalID/index.js.flow +123 -218
  72. package/lib/commonjs/screens/nationalID/index.js.map +1 -1
  73. package/lib/commonjs/screens/nationalIDBack/index.js +1 -1
  74. package/lib/commonjs/screens/nationalIDBack/index.js.flow +129 -209
  75. package/lib/commonjs/screens/nationalIDBack/index.js.map +1 -1
  76. package/lib/commonjs/screens/payment-evidence/ModalGuideline.js +1 -1
  77. package/lib/commonjs/screens/payment-evidence/ModalGuideline.js.flow +1 -1
  78. package/lib/commonjs/screens/payment-evidence/ModalGuideline.js.map +1 -1
  79. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  80. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +270 -556
  81. package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
  82. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js +1 -1
  83. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.flow +1 -1
  84. package/lib/commonjs/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  85. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
  86. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +226 -288
  87. package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  88. package/lib/commonjs/utils/cameraCrop.js +2 -0
  89. package/lib/commonjs/utils/cameraCrop.js.flow +96 -0
  90. package/lib/commonjs/utils/cameraCrop.js.map +1 -0
  91. package/lib/module/assets/icons/index.js +1 -1
  92. package/lib/module/assets/icons/index.js.map +1 -1
  93. package/lib/module/assets/icons/modal_confirm.svg +5 -5
  94. package/lib/module/assets/icons/modal_notice.svg +32 -32
  95. package/lib/module/assets/icons/modal_success.svg +26 -26
  96. package/lib/module/assets/icons/modal_warning.svg +21 -21
  97. package/lib/module/assets/icons/user_security.svg +10 -0
  98. package/lib/module/assets/tts/Frame1000011947.png +0 -0
  99. package/lib/module/components/AlertLoan.js +1 -1
  100. package/lib/module/components/AlertLoan.js.map +1 -1
  101. package/lib/module/components/AppModal.js +1 -1
  102. package/lib/module/components/AppModal.js.map +1 -1
  103. package/lib/module/components/ItemTimaOne.js +1 -1
  104. package/lib/module/components/ItemTimaOne.js.map +1 -1
  105. package/lib/module/components/ModalNotification/AlertGlobal.js +1 -1
  106. package/lib/module/components/ModalNotification/AlertGlobal.js.map +1 -1
  107. package/lib/module/components/ModalNotification/index.js +1 -1
  108. package/lib/module/components/ModalNotification/index.js.map +1 -1
  109. package/lib/module/components/ModalOptionLoan.js +1 -1
  110. package/lib/module/components/ModalOptionLoan.js.map +1 -1
  111. package/lib/module/components/ModalOptionLoanDigital.js +1 -1
  112. package/lib/module/components/ModalOptionLoanDigital.js.map +1 -1
  113. package/lib/module/components/modalStack.js +2 -0
  114. package/lib/module/components/modalStack.js.map +1 -0
  115. package/lib/module/navigation/primary-navigator.js +1 -1
  116. package/lib/module/navigation/primary-navigator.js.map +1 -1
  117. package/lib/module/screens/NFC/OcrStart.js +2 -0
  118. package/lib/module/screens/NFC/OcrStart.js.map +1 -0
  119. package/lib/module/screens/NFC/ScanMRZ.js +2 -0
  120. package/lib/module/screens/NFC/ScanMRZ.js.map +1 -0
  121. package/lib/module/screens/camera/CCCDCameraScreen.js +1 -1
  122. package/lib/module/screens/camera/CCCDCameraScreen.js.map +1 -1
  123. package/lib/module/screens/camera/index.js +1 -1
  124. package/lib/module/screens/camera/index.js.map +1 -1
  125. package/lib/module/screens/detail-loan/PaymentInfo.js +1 -1
  126. package/lib/module/screens/detail-loan/PaymentInfo.js.map +1 -1
  127. package/lib/module/screens/detail-loan/ShowQrCode.js +1 -1
  128. package/lib/module/screens/detail-loan/ShowQrCode.js.map +1 -1
  129. package/lib/module/screens/digital-lending/Step6.js +1 -1
  130. package/lib/module/screens/digital-lending/Step6.js.map +1 -1
  131. package/lib/module/screens/eSign/index.js +1 -1
  132. package/lib/module/screens/eSign/index.js.map +1 -1
  133. package/lib/module/screens/home/DigitalTopupItem.js +1 -1
  134. package/lib/module/screens/home/DigitalTopupItem.js.map +1 -1
  135. package/lib/module/screens/home/ItemMotoBikeLoan.js +1 -1
  136. package/lib/module/screens/home/ItemMotoBikeLoan.js.map +1 -1
  137. package/lib/module/screens/home/index.js +1 -1
  138. package/lib/module/screens/home/index.js.map +1 -1
  139. package/lib/module/screens/nationalID/index.js +1 -1
  140. package/lib/module/screens/nationalID/index.js.map +1 -1
  141. package/lib/module/screens/nationalIDBack/index.js +1 -1
  142. package/lib/module/screens/nationalIDBack/index.js.map +1 -1
  143. package/lib/module/screens/payment-evidence/ModalGuideline.js +1 -1
  144. package/lib/module/screens/payment-evidence/ModalGuideline.js.map +1 -1
  145. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  146. package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
  147. package/lib/module/screens/toan-trinh-so/RegisterCamera.js +1 -1
  148. package/lib/module/screens/toan-trinh-so/RegisterCamera.js.map +1 -1
  149. package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
  150. package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
  151. package/lib/module/utils/cameraCrop.js +2 -0
  152. package/lib/module/utils/cameraCrop.js.map +1 -0
  153. package/lib/typescript/assets/icons/index.d.ts +2 -1
  154. package/lib/typescript/assets/icons/index.d.ts.map +1 -1
  155. package/lib/typescript/components/AppModal.d.ts +6 -1
  156. package/lib/typescript/components/AppModal.d.ts.map +1 -1
  157. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts +20 -4
  158. package/lib/typescript/components/ModalNotification/AlertGlobal.d.ts.map +1 -1
  159. package/lib/typescript/components/ModalNotification/index.d.ts +6 -1
  160. package/lib/typescript/components/ModalNotification/index.d.ts.map +1 -1
  161. package/lib/typescript/components/modalStack.d.ts +11 -0
  162. package/lib/typescript/components/modalStack.d.ts.map +1 -0
  163. package/lib/typescript/navigation/primary-navigator.d.ts +3 -0
  164. package/lib/typescript/navigation/primary-navigator.d.ts.map +1 -1
  165. package/lib/typescript/screens/NFC/OcrStart.d.ts +2 -0
  166. package/lib/typescript/screens/NFC/OcrStart.d.ts.map +1 -0
  167. package/lib/typescript/screens/NFC/ScanMRZ.d.ts +15 -0
  168. package/lib/typescript/screens/NFC/ScanMRZ.d.ts.map +1 -0
  169. package/lib/typescript/screens/camera/CCCDCameraScreen.d.ts.map +1 -1
  170. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  171. package/lib/typescript/screens/nationalID/index.d.ts.map +1 -1
  172. package/lib/typescript/screens/nationalIDBack/index.d.ts.map +1 -1
  173. package/lib/typescript/screens/toan-trinh-so/OCR.d.ts.map +1 -1
  174. package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
  175. package/lib/typescript/utils/cameraCrop.d.ts +43 -0
  176. package/lib/typescript/utils/cameraCrop.d.ts.map +1 -0
  177. package/package.json +2 -1
  178. package/src/assets/icons/index.tsx +2 -0
  179. package/src/assets/icons/modal_confirm.svg +5 -5
  180. package/src/assets/icons/modal_notice.svg +32 -32
  181. package/src/assets/icons/modal_success.svg +26 -26
  182. package/src/assets/icons/modal_warning.svg +21 -21
  183. package/src/assets/icons/user_security.svg +10 -0
  184. package/src/assets/tts/Frame1000011947.png +0 -0
  185. package/src/components/AlertLoan.tsx +1 -1
  186. package/src/components/AppModal.tsx +40 -2
  187. package/src/components/ItemTimaOne.tsx +1 -1
  188. package/src/components/ModalNotification/AlertGlobal.tsx +92 -33
  189. package/src/components/ModalNotification/index.tsx +7 -0
  190. package/src/components/ModalOptionLoan.tsx +1 -1
  191. package/src/components/ModalOptionLoanDigital.tsx +1 -1
  192. package/src/components/modalStack.ts +47 -0
  193. package/src/navigation/primary-navigator.tsx +7 -0
  194. package/src/screens/NFC/OcrStart.tsx +171 -0
  195. package/src/screens/NFC/ScanMRZ.tsx +563 -0
  196. package/src/screens/camera/CCCDCameraScreen.tsx +203 -133
  197. package/src/screens/camera/index.tsx +1 -1
  198. package/src/screens/detail-loan/PaymentInfo.tsx +1 -1
  199. package/src/screens/detail-loan/ShowQrCode.tsx +1 -1
  200. package/src/screens/digital-lending/Step6.tsx +1 -1
  201. package/src/screens/eSign/index.tsx +1 -1
  202. package/src/screens/home/DigitalTopupItem.tsx +1 -1
  203. package/src/screens/home/ItemMotoBikeLoan.tsx +1 -1
  204. package/src/screens/home/index.tsx +8 -113
  205. package/src/screens/nationalID/index.tsx +123 -218
  206. package/src/screens/nationalIDBack/index.tsx +129 -209
  207. package/src/screens/payment-evidence/ModalGuideline.tsx +1 -1
  208. package/src/screens/toan-trinh-so/OCR.tsx +270 -556
  209. package/src/screens/toan-trinh-so/RegisterCamera.tsx +1 -1
  210. package/src/screens/toan-trinh-so/VehicleCamera.tsx +226 -288
  211. package/src/utils/cameraCrop.ts +96 -0
@@ -1,62 +1,28 @@
1
1
  //@ts-nocheck
2
- import React, { useState, Fragment, useEffect } from 'react';
2
+ import React, { useState } from 'react';
3
3
  import {
4
- ActivityIndicator,
5
- Dimensions,
6
4
  Image,
7
- ImageStyle,
8
- Platform,
9
5
  SafeAreaView,
10
6
  ScrollView,
11
- TextStyle,
12
- TouchableOpacity,
7
+ StyleSheet,
13
8
  View,
14
- ViewStyle,
15
9
  } from 'react-native';
16
- import {
17
- CommonActions,
18
- StackActions,
19
- useNavigation,
20
- } from '@react-navigation/native';
21
- import { observer, Observer } from 'mobx-react-lite';
10
+ import { StackActions, useNavigation } from '@react-navigation/native';
11
+ import { observer } from 'mobx-react-lite';
22
12
  import { commonStyles } from '../CommonStyles';
23
13
  import KeyboardSpacer from '../../components/keyboardspace';
24
14
  import MButton from '../../components/MButton';
25
- import { color } from '../../theme';
26
15
  import { ScreenNames } from '../../navigation';
27
- import { MText, MTextInput } from '../../components/MText';
28
- import {
29
- CIMBBank,
30
- IconBack,
31
- IconBackWhite,
32
- IconCamera,
33
- IconDropDown,
34
- IconSelect,
35
- IconSelected,
36
- TimaSmall,
37
- TimaSmallWhite,
38
- } from '../../assets/icons';
16
+ import { MText } from '../../components/MText';
17
+ import { CIMBBank, TimaSmall, TimaSmallWhite } from '../../assets/icons';
39
18
  import nationalIDStore from './Store';
40
- import { clear } from '../../utils/storage';
41
- import { Api } from '../../services/api';
42
- import homeStore from '../home/Store';
43
- import appStore from '../../AppStore';
44
19
  import { toJS } from 'mobx';
45
20
  import Loading from '../../components/Loading';
46
21
  import LinearGradient from 'react-native-linear-gradient';
47
22
  import MHeader from '../../components/MHeader';
48
- import livenessStore from '../liveness/LivenessStore';
49
23
 
50
- const logoView: ImageStyle = {
51
- position: 'absolute',
52
- width: '100%',
53
- height: '100%',
54
- resizeMode: 'cover',
55
- };
56
- const { width: screenWidth, height: screenHeight } = Dimensions.get('window');
57
- const frameWidth = screenWidth * 0.85;
58
- const frameHeight = frameWidth * 0.63; // tỷ lệ giống CCCD
59
- const frameAspectRatio = frameWidth / frameHeight;
24
+ // Khung ảnh có chiều cao = 0.63 * chiều rộng nên tỉ lệ W/H = 1 / 0.63 (giống CCCD)
25
+ const frameAspectRatio = 1 / 0.63;
60
26
 
61
27
  export const NationalID = observer(function NationalID(props: any) {
62
28
  const navigation = useNavigation();
@@ -95,210 +61,102 @@ export const NationalID = observer(function NationalID(props: any) {
95
61
  };
96
62
 
97
63
  const takePhoto = () => {
98
- livenessStore.getConfigOcr(
99
- (data) => {
100
- if (data === 1) {
101
- navigation.push(ScreenNames.CCCDCameraScreen, {
102
- front: true,
103
- callback: (photo) => {
104
- setPhoto(photo);
105
- },
106
- });
107
- } else {
108
- navigation.push(ScreenNames.Camera, {
109
- front: false,
110
- callback: (photo) => {
111
- setPhoto(photo);
112
- },
113
- base64: (data) => {
114
- setBase64(data);
115
- },
116
- });
117
- }
118
- },
119
- () => {
120
- navigation.push(ScreenNames.Camera, {
121
- front: false,
122
- callback: (photo) => {
123
- setPhoto(photo);
124
- },
125
- base64: (data) => {
126
- setBase64(data);
127
- },
128
- });
129
- }
130
- );
64
+ navigation.push(ScreenNames.CCCDCameraScreen, {
65
+ front: true,
66
+ callback: setPhoto,
67
+ });
131
68
  };
132
69
 
133
70
  return (
134
- <View style={{ flex: 1 }}>
135
- <Image source={require('../../assets/img/EKYC.png')} style={logoView} />
136
- <MHeader
137
- title="Xác thực khách hàng"
138
- onBack={() => {
139
- navigation.goBack();
140
- }}
71
+ <View style={commonStyles.fill}>
72
+ <Image
73
+ source={require('../../assets/img/EKYC.png')}
74
+ style={styles.logo}
141
75
  />
76
+ <MHeader title="Xác thực khách hàng" onBack={() => navigation.goBack()} />
142
77
  <SafeAreaView style={commonStyles.fill}>
143
78
  <ScrollView style={commonStyles.fill}>
144
- <View style={{}}>
145
- <View style={{ paddingHorizontal: 16, paddingBottom: 16 }}>
146
- <View
147
- style={{
148
- flexDirection: 'row',
149
- alignItems: 'center',
150
- marginTop: 16,
151
- }}
152
- >
153
- <TimaSmallWhite />
154
- <MText
155
- style={[
156
- commonStyles.textNormalBold,
157
- { fontSize: 16, color: '#FFFFFF', marginLeft: 8 },
158
- ]}
159
- >
160
- Chụp CMND/ CCCD mặt trước
79
+ <View style={styles.body}>
80
+ <View style={styles.frontRow}>
81
+ <TimaSmallWhite />
82
+ <MText style={[commonStyles.textNormalBold, styles.frontLabel]}>
83
+ Chụp CMND/ CCCD mặt trước
84
+ </MText>
85
+ </View>
86
+ <View style={styles.frame}>
87
+ <Image
88
+ source={
89
+ photo
90
+ ? { uri: photo }
91
+ : require('../../assets/img/national_id.png')
92
+ }
93
+ style={styles.frameImage}
94
+ />
95
+ </View>
96
+ <View style={styles.noteSection}>
97
+ <MText style={[commonStyles.textNormalBold, styles.noteTitle]}>
98
+ Lưu ý chụp CMND/ CCCD
99
+ </MText>
100
+ <View style={styles.noteRow}>
101
+ <TimaSmall />
102
+ <MText style={styles.noteText}>
103
+ Nên đặt CCCD/ CMND lên mặt phẳng để chụp
161
104
  </MText>
162
105
  </View>
163
- <View
164
- style={{
165
- width: '100%',
166
- aspectRatio: frameAspectRatio,
167
- borderWidth: 8,
168
- borderRadius: 6,
169
- borderColor: '#FFFFFF',
170
- marginTop: 16,
171
- }}
172
- >
173
- <Image
174
- source={
175
- photo
176
- ? { uri: photo }
177
- : require('../../assets/img/national_id.png')
178
- }
179
- style={{
180
- width: '100%',
181
- height: '100%',
182
- resizeMode: 'cover',
183
- }}
184
- />
106
+ <View style={styles.noteRowTop}>
107
+ <TimaSmall style={styles.noteBulletTop} />
108
+ <MText style={styles.noteText}>
109
+ Đặt CCCD/ CMND nằm gọn trong khung hình{'\n'}(Không quá nhỏ
110
+ hay quá to làm mất chi tiết)
111
+ </MText>
185
112
  </View>
186
- <View style={{ marginTop: 24 }}>
187
- <MText style={[commonStyles.textNormalBold, { fontSize: 16 }]}>
188
- Lưu ý chụp CMND/ CCCD
113
+ <View style={styles.noteRow}>
114
+ <TimaSmall />
115
+ <MText style={styles.noteText}>
116
+ Chọn nơi ánh sáng tốt, tránh lóa/ chói hình chụp
189
117
  </MText>
190
- <View
191
- style={{
192
- flexDirection: 'row',
193
- marginTop: 16,
194
- alignItems: 'center',
195
- }}
196
- >
197
- <TimaSmall />
198
- <MText
199
- style={{ color: '#333333', marginLeft: 8, fontSize: 12 }}
200
- >
201
- Nên đặt CCCD/ CMND lên mặt phẳng để chụp
202
- </MText>
203
- </View>
204
- <View style={{ flexDirection: 'row', marginTop: 8 }}>
205
- <TimaSmall style={{ marginTop: 5 }} />
206
- <MText
207
- style={{ color: '#333333', marginLeft: 8, fontSize: 12 }}
208
- >
209
- Đặt CCCD/ CMND nằm gọn trong khung hình{'\n'}(Không quá nhỏ
210
- hay quá to làm mất chi tiết)
211
- </MText>
212
- </View>
213
- <View
214
- style={{
215
- flexDirection: 'row',
216
- marginTop: 8,
217
- alignItems: 'center',
218
- }}
219
- >
220
- <TimaSmall />
221
- <MText
222
- style={{ color: '#333333', marginLeft: 8, fontSize: 12 }}
223
- >
224
- Chọn nơi ánh sáng tốt, tránh lóa/ chói hình chụp
225
- </MText>
226
- </View>
227
118
  </View>
228
119
  </View>
229
120
  </View>
230
121
  </ScrollView>
231
- <View
232
- style={{
233
- flexDirection: 'row',
234
- paddingHorizontal: 16,
235
- marginBottom: 30,
236
- }}
237
- >
122
+ <View style={styles.actions}>
238
123
  <MButton
239
- onPress={() => {
240
- takePhoto();
241
- }}
124
+ onPress={takePhoto}
242
125
  disabled={isLoading}
243
126
  style={[
244
127
  commonStyles.row,
245
128
  commonStyles.alignCenter,
246
129
  commonStyles.justifyCenter,
247
- {
248
- backgroundColor: '#FFFFFF',
249
- height: 40,
250
- borderRadius: 30,
251
- flex: 1,
252
- marginRight: 8,
253
- borderWidth: 1,
254
- borderColor: '#EF4123',
255
- },
130
+ styles.captureBtn,
256
131
  ]}
257
132
  >
258
- <MText style={[commonStyles.textNormal, { color: '#F05123' }]}>
133
+ <MText style={[commonStyles.textNormal, styles.captureText]}>
259
134
  Chụp ảnh
260
135
  </MText>
261
136
  </MButton>
262
137
 
263
- <Observer>
264
- {() => (
265
- <MButton
266
- disabled={!photo || isLoading}
267
- onPress={nextStep}
268
- style={{ flex: 1 }}
269
- >
270
- <LinearGradient
271
- colors={['#FF7A00', '#EF4123']}
272
- style={[
273
- commonStyles.alignCenter,
274
- commonStyles.justifyCenter,
275
- {
276
- height: 40,
277
- borderRadius: 30,
278
- marginLeft: 8,
279
- },
280
- ]}
281
- >
282
- <MText style={[commonStyles.textNormal, { color: 'white' }]}>
283
- Tiếp tục
284
- </MText>
285
- </LinearGradient>
286
- </MButton>
287
- )}
288
- </Observer>
138
+ <MButton
139
+ disabled={!photo || isLoading}
140
+ onPress={nextStep}
141
+ style={commonStyles.fill}
142
+ >
143
+ <LinearGradient
144
+ colors={['#FF7A00', '#EF4123']}
145
+ style={[
146
+ commonStyles.alignCenter,
147
+ commonStyles.justifyCenter,
148
+ styles.gradientBtn,
149
+ ]}
150
+ >
151
+ <MText style={[commonStyles.textNormal, styles.continueText]}>
152
+ Tiếp tục
153
+ </MText>
154
+ </LinearGradient>
155
+ </MButton>
289
156
  </View>
290
157
  {loan?.isPipelineCIMB && (
291
- <View
292
- style={{
293
- marginBottom: 24,
294
- marginTop: 8,
295
- flexDirection: 'row',
296
- justifyContent: 'center',
297
- }}
298
- >
299
- <MText style={{ fontSize: 12, color: '#333333' }}>
300
- Cung cấp bởi{' '}
301
- </MText>
158
+ <View style={styles.cimbRow}>
159
+ <MText style={styles.cimbText}>Cung cấp bởi </MText>
302
160
  <CIMBBank />
303
161
  </View>
304
162
  )}
@@ -308,3 +166,50 @@ export const NationalID = observer(function NationalID(props: any) {
308
166
  </View>
309
167
  );
310
168
  });
169
+
170
+ const styles = StyleSheet.create({
171
+ logo: {
172
+ position: 'absolute',
173
+ width: '100%',
174
+ height: '100%',
175
+ resizeMode: 'cover',
176
+ },
177
+ body: { paddingHorizontal: 16, paddingBottom: 16 },
178
+ frontRow: { flexDirection: 'row', alignItems: 'center', marginTop: 16 },
179
+ frontLabel: { fontSize: 16, color: '#FFFFFF', marginLeft: 8 },
180
+ frame: {
181
+ width: '100%',
182
+ aspectRatio: frameAspectRatio,
183
+ borderWidth: 8,
184
+ borderRadius: 6,
185
+ borderColor: '#FFFFFF',
186
+ marginTop: 16,
187
+ },
188
+ frameImage: { width: '100%', height: '100%', resizeMode: 'cover' },
189
+ noteSection: { marginTop: 24 },
190
+ noteTitle: { fontSize: 16 },
191
+ noteRow: { flexDirection: 'row', marginTop: 16, alignItems: 'center' },
192
+ noteRowTop: { flexDirection: 'row', marginTop: 8 },
193
+ noteBulletTop: { marginTop: 5 },
194
+ noteText: { color: '#333333', marginLeft: 8, fontSize: 12 },
195
+ actions: { flexDirection: 'row', paddingHorizontal: 16, marginBottom: 30 },
196
+ captureBtn: {
197
+ backgroundColor: '#FFFFFF',
198
+ height: 40,
199
+ borderRadius: 30,
200
+ flex: 1,
201
+ marginRight: 8,
202
+ borderWidth: 1,
203
+ borderColor: '#EF4123',
204
+ },
205
+ captureText: { color: '#F05123' },
206
+ gradientBtn: { height: 40, borderRadius: 30, marginLeft: 8 },
207
+ continueText: { color: 'white' },
208
+ cimbRow: {
209
+ marginBottom: 24,
210
+ marginTop: 8,
211
+ flexDirection: 'row',
212
+ justifyContent: 'center',
213
+ },
214
+ cimbText: { fontSize: 12, color: '#333333' },
215
+ });