react-native-timacare 3.3.20 → 3.3.22

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 (116) hide show
  1. package/lib/commonjs/assets/tts/f88.png +0 -0
  2. package/lib/commonjs/assets/v3/11.svg +13 -0
  3. package/lib/commonjs/assets/v3/12.svg +21 -0
  4. package/lib/commonjs/assets/v3/index.js +1 -1
  5. package/lib/commonjs/assets/v3/index.js.flow +4 -0
  6. package/lib/commonjs/assets/v3/index.js.map +1 -1
  7. package/lib/commonjs/components/MSelect.js +1 -1
  8. package/lib/commonjs/components/MSelect.js.flow +4 -2
  9. package/lib/commonjs/components/MSelect.js.map +1 -1
  10. package/lib/commonjs/components/ModalOptionLoanDigital.js +1 -1
  11. package/lib/commonjs/components/ModalOptionLoanDigital.js.flow +7 -15
  12. package/lib/commonjs/components/ModalOptionLoanDigital.js.map +1 -1
  13. package/lib/commonjs/components/select/index.js +1 -1
  14. package/lib/commonjs/components/select/index.js.flow +4 -2
  15. package/lib/commonjs/components/select/index.js.map +1 -1
  16. package/lib/commonjs/navigation/primary-navigator.js +1 -1
  17. package/lib/commonjs/navigation/primary-navigator.js.flow +15 -0
  18. package/lib/commonjs/navigation/primary-navigator.js.map +1 -1
  19. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js +2 -0
  20. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.flow +845 -0
  21. package/lib/commonjs/screens/home/ItemMotoBikeLoan.js.map +1 -0
  22. package/lib/commonjs/screens/home/index.js +1 -1
  23. package/lib/commonjs/screens/home/index.js.flow +8 -3
  24. package/lib/commonjs/screens/home/index.js.map +1 -1
  25. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js +2 -0
  26. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.flow +674 -0
  27. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.map +1 -0
  28. package/lib/commonjs/screens/motobike/PolicyF88.js +2 -0
  29. package/lib/commonjs/screens/motobike/PolicyF88.js.flow +131 -0
  30. package/lib/commonjs/screens/motobike/PolicyF88.js.map +1 -0
  31. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js +2 -0
  32. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.flow +453 -0
  33. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.map +1 -0
  34. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  35. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +4 -0
  36. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  37. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  38. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.flow +28 -12
  39. package/lib/commonjs/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  40. package/lib/commonjs/services/api/api.js +1 -1
  41. package/lib/commonjs/services/api/api.js.flow +80 -0
  42. package/lib/commonjs/services/api/api.js.map +1 -1
  43. package/lib/module/assets/tts/f88.png +0 -0
  44. package/lib/module/assets/v3/11.svg +13 -0
  45. package/lib/module/assets/v3/12.svg +21 -0
  46. package/lib/module/assets/v3/index.js +1 -1
  47. package/lib/module/assets/v3/index.js.map +1 -1
  48. package/lib/module/components/MSelect.js +1 -1
  49. package/lib/module/components/MSelect.js.map +1 -1
  50. package/lib/module/components/ModalOptionLoanDigital.js +1 -1
  51. package/lib/module/components/ModalOptionLoanDigital.js.map +1 -1
  52. package/lib/module/components/select/index.js +1 -1
  53. package/lib/module/components/select/index.js.map +1 -1
  54. package/lib/module/navigation/primary-navigator.js +1 -1
  55. package/lib/module/navigation/primary-navigator.js.map +1 -1
  56. package/lib/module/screens/home/ItemMotoBikeLoan.js +2 -0
  57. package/lib/module/screens/home/ItemMotoBikeLoan.js.map +1 -0
  58. package/lib/module/screens/home/index.js +1 -1
  59. package/lib/module/screens/home/index.js.map +1 -1
  60. package/lib/module/screens/motobike/InfoLoanMotobike.js +2 -0
  61. package/lib/module/screens/motobike/InfoLoanMotobike.js.map +1 -0
  62. package/lib/module/screens/motobike/PolicyF88.js +2 -0
  63. package/lib/module/screens/motobike/PolicyF88.js.map +1 -0
  64. package/lib/module/screens/motobike/ReviewLoanMotobike.js +2 -0
  65. package/lib/module/screens/motobike/ReviewLoanMotobike.js.map +1 -0
  66. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  67. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  68. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js +1 -1
  69. package/lib/module/screens/toan-trinh-so/VehicleRegistrationBack.js.map +1 -1
  70. package/lib/module/services/api/api.js +1 -1
  71. package/lib/module/services/api/api.js.map +1 -1
  72. package/lib/typescript/assets/v3/index.d.ts +3 -1
  73. package/lib/typescript/assets/v3/index.d.ts.map +1 -1
  74. package/lib/typescript/components/MSelect.d.ts.map +1 -1
  75. package/lib/typescript/components/ModalOptionLoanDigital.d.ts.map +1 -1
  76. package/lib/typescript/components/select/index.d.ts.map +1 -1
  77. package/lib/typescript/navigation/primary-navigator.d.ts +3 -0
  78. package/lib/typescript/navigation/primary-navigator.d.ts.map +1 -1
  79. package/lib/typescript/screens/home/ItemMotoBikeLoan.d.ts +8 -0
  80. package/lib/typescript/screens/home/ItemMotoBikeLoan.d.ts.map +1 -0
  81. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  82. package/lib/typescript/screens/motobike/InfoLoanMotobike.d.ts +2 -0
  83. package/lib/typescript/screens/motobike/InfoLoanMotobike.d.ts.map +1 -0
  84. package/lib/typescript/screens/motobike/PolicyF88.d.ts +2 -0
  85. package/lib/typescript/screens/motobike/PolicyF88.d.ts.map +1 -0
  86. package/lib/typescript/screens/motobike/ReviewLoanMotobike.d.ts +2 -0
  87. package/lib/typescript/screens/motobike/ReviewLoanMotobike.d.ts.map +1 -0
  88. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  89. package/lib/typescript/screens/toan-trinh-so/VehicleRegistrationBack.d.ts.map +1 -1
  90. package/lib/typescript/services/api/api.d.ts +80 -0
  91. package/lib/typescript/services/api/api.d.ts.map +1 -1
  92. package/package.json +1 -1
  93. package/src/assets/tts/f88.png +0 -0
  94. package/src/assets/v3/11.svg +13 -0
  95. package/src/assets/v3/12.svg +21 -0
  96. package/src/assets/v3/index.tsx +4 -0
  97. package/src/components/MSelect.tsx +4 -2
  98. package/src/components/ModalOptionLoanDigital.tsx +7 -15
  99. package/src/components/select/index.tsx +4 -2
  100. package/src/navigation/primary-navigator.tsx +15 -0
  101. package/src/screens/home/ItemMotoBikeLoan.tsx +845 -0
  102. package/src/screens/home/index.tsx +8 -3
  103. package/src/screens/motobike/InfoLoanMotobike.tsx +674 -0
  104. package/src/screens/motobike/PolicyF88.tsx +131 -0
  105. package/src/screens/motobike/ReviewLoanMotobike.tsx +453 -0
  106. package/src/screens/toan-trinh-so/TTSSelfie.tsx +4 -0
  107. package/src/screens/toan-trinh-so/VehicleRegistrationBack.tsx +28 -12
  108. package/src/services/api/api.ts +80 -0
  109. package/lib/commonjs/components/CommonSelect.js +0 -2
  110. package/lib/commonjs/components/CommonSelect.js.flow +0 -12
  111. package/lib/commonjs/components/CommonSelect.js.map +0 -1
  112. package/lib/module/components/CommonSelect.js +0 -2
  113. package/lib/module/components/CommonSelect.js.map +0 -1
  114. package/lib/typescript/components/CommonSelect.d.ts +0 -8
  115. package/lib/typescript/components/CommonSelect.d.ts.map +0 -1
  116. package/src/components/CommonSelect.tsx +0 -12
@@ -0,0 +1,131 @@
1
+ //@ts-nocheck
2
+ import React from 'react';
3
+ import { Dimensions, TouchableOpacity, View } from 'react-native';
4
+ import Pdf from 'react-native-pdf';
5
+ import { commonStyles } from '../CommonStyles';
6
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
7
+ import { CheckBox, CheckBoxActive, IconBack } from '../../assets/icons';
8
+ import { useNavigation } from '@react-navigation/native';
9
+ import { MText } from '../../components/MText';
10
+ import { Api } from '../../services/api';
11
+ import LinearGradient from 'react-native-linear-gradient';
12
+ export default function PolicyF88(props) {
13
+ const navigation = useNavigation();
14
+ const insets = useSafeAreaInsets();
15
+ const [check, setCheck] = React.useState(false);
16
+ const [isLoading, setIsLoading] = React.useState(false);
17
+ const { item } = props.route.params;
18
+ const confirm = async () => {
19
+ try {
20
+ setIsLoading(true);
21
+ const response = await Api.getInstance().confirmF88({
22
+ loanBriefId: item?.id,
23
+ });
24
+ if (response.kind === 'ok' && response.data?.meta?.errorCode === 200) {
25
+ navigation.goBack();
26
+ } else {
27
+ Alert.alert(
28
+ 'Thông báo',
29
+ response?.data?.meta?.errorMessage ||
30
+ 'Có lỗi xảy ra, vui lòng thử lại sau!'
31
+ );
32
+ }
33
+ } catch (error) {
34
+ Alert.alert('Thông báo', 'Có lỗi xảy ra, vui lòng thử lại sau');
35
+ } finally {
36
+ setIsLoading(false);
37
+ }
38
+ };
39
+ return (
40
+ <View style={{ flex: 1, backgroundColor: 'white' }}>
41
+ <View
42
+ style={{
43
+ marginTop: insets.top,
44
+ paddingVertical: 16,
45
+ alignItems: 'center',
46
+ justifyContent: 'center',
47
+ flexDirection: 'row',
48
+ }}
49
+ >
50
+ <TouchableOpacity
51
+ onPress={() => navigation.goBack()}
52
+ style={{
53
+ position: 'absolute',
54
+ left: 16,
55
+ }}
56
+ >
57
+ <IconBack />
58
+ </TouchableOpacity>
59
+ <MText
60
+ style={{
61
+ fontWeight: 'bold',
62
+ }}
63
+ >
64
+ ĐIỀU KIỆN VÀ ĐIỀU KHOẢN
65
+ </MText>
66
+ </View>
67
+ <View style={{ flex: 1 }}>
68
+ <Pdf
69
+ trustAllCerts={false}
70
+ source={{
71
+ uri: 'https://cdn.tima.vn/file-pdf/policy_f88.pdf',
72
+ }}
73
+ style={{
74
+ flex: 1,
75
+ width: Dimensions.get('window').width,
76
+ height: Dimensions.get('window').height,
77
+ }}
78
+ />
79
+ </View>
80
+ <View style={{ padding: 16 }}>
81
+ <View
82
+ style={{
83
+ flexDirection: 'row',
84
+ alignItems: 'center',
85
+ marginTop: 24,
86
+ gap: 8,
87
+ }}
88
+ >
89
+ <TouchableOpacity
90
+ onPress={() => {
91
+ setCheck(!check);
92
+ }}
93
+ >
94
+ {check ? <CheckBoxActive /> : <CheckBox />}
95
+ </TouchableOpacity>
96
+ <MText>
97
+ Tôi đồng ý với{' '}
98
+ <MText style={{ color: '#2F80ED' }}>điều kiện và điều khoản</MText>
99
+ </MText>
100
+ </View>
101
+ <TouchableOpacity
102
+ disabled={check || isLoading ? false : true}
103
+ onPress={() => {
104
+ confirm();
105
+ }}
106
+ >
107
+ <LinearGradient
108
+ colors={check ? ['#FF8E4F', '#EF592E'] : ['#E0E0E0', '#E0E0E0']}
109
+ style={{
110
+ height: 40,
111
+ alignItems: 'center',
112
+ justifyContent: 'center',
113
+ borderRadius: 24,
114
+ paddingHorizontal: 10,
115
+ marginTop: 24,
116
+ }}
117
+ >
118
+ <MText
119
+ style={{
120
+ color: 'white',
121
+ fontWeight: 'bold',
122
+ }}
123
+ >
124
+ Đồng ý & Tiếp tục
125
+ </MText>
126
+ </LinearGradient>
127
+ </TouchableOpacity>
128
+ </View>
129
+ </View>
130
+ );
131
+ }
@@ -0,0 +1,453 @@
1
+ //@ts-nocheck
2
+ import React, { useEffect, useRef, useState } from 'react';
3
+ import {
4
+ Alert,
5
+ ScrollView,
6
+ TextInput,
7
+ TextStyle,
8
+ TouchableOpacity,
9
+ View,
10
+ ViewStyle,
11
+ } from 'react-native';
12
+ import MHeader from '../../components/MHeader';
13
+ import { commonStyles } from '../CommonStyles';
14
+ import {
15
+ CheckBox,
16
+ CheckBoxActive,
17
+ DropDown2,
18
+ IconBack,
19
+ Tick2,
20
+ } from '../../assets/icons';
21
+ import { MText } from '../../components/MText';
22
+ import { CommonActions, useNavigation } from '@react-navigation/native';
23
+ import { ScreenNames } from '../../navigation';
24
+ import { Api } from '../../services/api';
25
+ import ttsStore from '../toan-trinh-so/store';
26
+ import appStore from '../../AppStore';
27
+ import { Formik } from 'formik';
28
+ import * as yup from 'yup';
29
+ import { formatMoney } from '../../utils';
30
+ import { color } from '../../theme';
31
+ import MButton from '../../components/MButton';
32
+ import KeyboardSpacer from '../../components/keyboardspace';
33
+ import LinearGradient from 'react-native-linear-gradient';
34
+ import Loading from '../../components/Loading';
35
+
36
+ export default function ReviewLoanMotobike(props) {
37
+ const navigation = useNavigation();
38
+ const loan = props?.route?.params?.loan;
39
+ const formRef = useRef(null);
40
+ const [isLoading, setIsLoading] = useState(false);
41
+
42
+ const onSubmit = async (values) => {
43
+ try {
44
+ setIsLoading(true);
45
+ const body = {
46
+ loanBriefId: loan?.id,
47
+ loanAmount: Number(values.loanAmount),
48
+ rateTypeId: values.rateTypeId,
49
+ loanTime: values.loanTime,
50
+ };
51
+
52
+ const response = await Api.getInstance().updateInfoMotobikeLoan2(body);
53
+ setIsLoading(false);
54
+ if (response.kind === 'ok') {
55
+ if (response.data?.meta?.errorCode === 200) {
56
+ navigation.dispatch(
57
+ CommonActions.reset({
58
+ index: 1,
59
+ routes: [{ name: ScreenNames.Main }],
60
+ })
61
+ );
62
+ } else {
63
+ Alert.alert('Thông báo', response.data?.meta?.errorMessage);
64
+ }
65
+ } else {
66
+ Alert.alert('Thông báo', 'Có lỗi xảy ra. Vui lòng thử lại sau');
67
+ }
68
+ } catch (error) {
69
+ setIsLoading(false);
70
+ console.log(error);
71
+ }
72
+ };
73
+
74
+ const getData = async () => {
75
+ try {
76
+ setIsLoading(true);
77
+ const response = await Api.getInstance().getInfoMotobikeLoan2(loan?.id);
78
+ setIsLoading(false);
79
+
80
+ if (response.kind === 'ok') {
81
+ if (response.data?.meta.errorCode === 200) {
82
+ formRef.current.setFieldValue(
83
+ 'loanAmount',
84
+ response?.data?.data?.loanAmount ?? 0
85
+ );
86
+ formRef.current.setFieldValue(
87
+ 'rateTypeId',
88
+ response?.data?.data?.rateTypeId ?? null
89
+ );
90
+
91
+ if (response?.data?.data?.rateTypeId) {
92
+ appStore.getLoanTimeByType(
93
+ response?.data?.data?.rateTypeId,
94
+ props.route?.params?.loan?.typeLoan ?? 0
95
+ );
96
+ }
97
+ formRef.current.setFieldValue(
98
+ 'loanTime',
99
+ response?.data?.data?.loanTime ?? null
100
+ );
101
+ } else {
102
+ }
103
+ }
104
+ } catch (error) {
105
+ setIsLoading(false);
106
+ console.log(error);
107
+ }
108
+ };
109
+
110
+ useEffect(() => {
111
+ getData();
112
+ appStore.getRateTypeAll();
113
+ }, []);
114
+
115
+ return (
116
+ <View style={{ flex: 1 }}>
117
+ <MHeader title="Vay Online 24/7" />
118
+ <View style={commonStyles.fill}>
119
+ <View style={$h} />
120
+ <View style={$bg}>
121
+ <View
122
+ style={{
123
+ paddingVertical: 10,
124
+ flexDirection: 'row',
125
+ alignItems: 'center',
126
+ paddingHorizontal: 16,
127
+ }}
128
+ >
129
+ <TouchableOpacity
130
+ style={{
131
+ zIndex: 1000,
132
+ }}
133
+ onPress={() => {
134
+ navigation.dispatch(
135
+ CommonActions.reset({
136
+ index: 1,
137
+ routes: [{ name: ScreenNames.Main }],
138
+ })
139
+ );
140
+ }}
141
+ >
142
+ <IconBack />
143
+ </TouchableOpacity>
144
+ <MText style={$title}>Thông tin chi tiết</MText>
145
+ </View>
146
+ <Formik
147
+ validateOnBlur={false}
148
+ validateOnChange={false}
149
+ innerRef={formRef}
150
+ onSubmit={onSubmit}
151
+ initialValues={{
152
+ loanAmount: '',
153
+ rateTypeId: null,
154
+ loanTime: null,
155
+ isCheck: true,
156
+ }}
157
+ validationSchema={yup.object().shape({
158
+ loanAmount: yup.string().required('Số tiền là bắt buộc'),
159
+ rateTypeId: yup.number().required('HTTT là bắt buộc').nullable(),
160
+ loanTime: yup
161
+ .number()
162
+ .required('Thời gian vay là bắt buộc')
163
+ .nullable(),
164
+ })}
165
+ >
166
+ {({
167
+ values,
168
+ setFieldValue,
169
+ errors,
170
+ handleSubmit,
171
+ handleChange,
172
+ }) => (
173
+ <ScrollView
174
+ style={[commonStyles.fill, { paddingHorizontal: 16 }]}
175
+ >
176
+ <MText style={$title2}>Thông tin đề nghị khoản vay</MText>
177
+ <View style={$row}>
178
+ <View style={{ flex: 1 }}>
179
+ <MText style={$label}>Số tiền đề nghị vay</MText>
180
+ <TextInput
181
+ numberOfLines={1}
182
+ style={[
183
+ $textInput,
184
+ {
185
+ color: '#EF592E',
186
+ fontSize: 16,
187
+ fontWeight: '500',
188
+ },
189
+ ]}
190
+ value={formatMoney(values.loanAmount)}
191
+ onChangeText={(text) => {
192
+ setFieldValue('loanAmount', text.replaceAll(',', ''));
193
+ }}
194
+ />
195
+ {errors && errors.loanAmount && (
196
+ <MText style={$error}>{errors.loanAmount}</MText>
197
+ )}
198
+ </View>
199
+ <View style={{ flex: 1 }}>
200
+ <MText style={$label}>Hình thức thanh toán</MText>
201
+ <TouchableOpacity
202
+ style={$select}
203
+ onPress={() => {
204
+ navigation.push(ScreenNames.MSelect, {
205
+ title: 'Chọn hình thức thanh toán',
206
+ data: appStore.listRateType,
207
+ callback: (value) => {
208
+ setFieldValue('rateTypeId', value?.id);
209
+ appStore.getLoanTimeByType(
210
+ value?.id,
211
+ props?.route?.params?.loan?.typeLoan ?? 0
212
+ );
213
+ setFieldValue('loanTime', null);
214
+ },
215
+ });
216
+ }}
217
+ >
218
+ <MText
219
+ numberOfLines={1}
220
+ style={{
221
+ color: '#333333',
222
+ fontSize: 16,
223
+ fontWeight: '500',
224
+ flex: 1,
225
+ fontFamily: 'BeVietnamPro-Medium',
226
+ }}
227
+ >
228
+ {
229
+ appStore.listRateType?.find(
230
+ (x) => x?.id === values.rateTypeId
231
+ )?.name
232
+ }
233
+ </MText>
234
+ <DropDown2 />
235
+ </TouchableOpacity>
236
+ {errors && errors.rateTypeId && (
237
+ <MText style={$error}>{errors.rateTypeId}</MText>
238
+ )}
239
+ </View>
240
+ </View>
241
+
242
+ <MText style={$label}>Thời gian vay</MText>
243
+ <TouchableOpacity
244
+ style={$select}
245
+ onPress={() => {
246
+ navigation.push(ScreenNames.MSelect, {
247
+ title: 'Chọn thời gian vay',
248
+ data: appStore.listLoanTimeByType,
249
+ callback: (value) => {
250
+ setFieldValue('loanTime', value?.id);
251
+ },
252
+ });
253
+ }}
254
+ >
255
+ <MText
256
+ numberOfLines={1}
257
+ style={{
258
+ color: '#333333',
259
+ fontSize: 16,
260
+ fontWeight: '500',
261
+ flex: 1,
262
+ fontFamily: 'BeVietnamPro-Medium',
263
+ }}
264
+ >
265
+ {values?.loanTime ? `${values?.loanTime} tháng` : ''}
266
+ </MText>
267
+ <DropDown2 />
268
+ </TouchableOpacity>
269
+ {errors && errors.loanTime && (
270
+ <MText style={$error}>{errors.loanTime}</MText>
271
+ )}
272
+ <View
273
+ style={{
274
+ backgroundColor: '#FFF8F2',
275
+ borderLeftWidth: 1,
276
+ borderRadius: 8,
277
+ padding: 16,
278
+ borderColor: color.primary,
279
+ marginTop: 10,
280
+ }}
281
+ >
282
+ <MText
283
+ style={{
284
+ color: color.primary,
285
+ fontWeight: 'bold',
286
+ }}
287
+ >
288
+ Bảo hiểm
289
+ </MText>
290
+ <View
291
+ style={{
292
+ flexDirection: 'row',
293
+ alignItems: 'center',
294
+ gap: 10,
295
+ marginTop: 10,
296
+ }}
297
+ >
298
+ <TouchableOpacity
299
+ onPress={() => {
300
+ setFieldValue('isCheck', !values.isCheck);
301
+ }}
302
+ >
303
+ {values.isCheck === true ? (
304
+ <CheckBoxActive />
305
+ ) : (
306
+ <CheckBox />
307
+ )}
308
+ </TouchableOpacity>
309
+ <View style={{ flex: 1 }}>
310
+ <MText
311
+ style={{
312
+ color: '#333333',
313
+ fontSize: 12,
314
+ fontWeight: 'bold',
315
+ }}
316
+ >
317
+ Bảo hiểm kèm khoản vay
318
+ </MText>
319
+ </View>
320
+ </View>
321
+ <View
322
+ style={{
323
+ height: 1,
324
+ backgroundColor: '#BDBDBD',
325
+ marginVertical: 8,
326
+ }}
327
+ />
328
+ <View style={{ flexDirection: 'row', gap: 5 }}>
329
+ <Tick2 />
330
+ <MText
331
+ style={{
332
+ fontSize: 10,
333
+ color: '#828282',
334
+ flex: 1,
335
+ }}
336
+ >
337
+ Gói vay kèm bảo hiểm giúp bạn an tâm và giảm áp lực tài
338
+ chính khi có rủi ro.
339
+ </MText>
340
+ </View>
341
+ </View>
342
+ </ScrollView>
343
+ )}
344
+ </Formik>
345
+ <MButton
346
+ onPress={() => {
347
+ formRef.current?.handleSubmit();
348
+ }}
349
+ style={{
350
+ marginVertical: 24,
351
+ marginHorizontal: 16,
352
+ }}
353
+ >
354
+ <LinearGradient
355
+ start={{ x: 1, y: 0 }}
356
+ end={{ x: 0, y: 1 }}
357
+ style={{
358
+ height: 40,
359
+ marginVertical: 16,
360
+ borderRadius: 30,
361
+ alignItems: 'center',
362
+ justifyContent: 'center',
363
+ }}
364
+ colors={['#FF7A00', '#EF4123']}
365
+ >
366
+ <MText
367
+ style={{
368
+ color: 'white',
369
+ fontSize: 16,
370
+ }}
371
+ >
372
+ Tiếp tục
373
+ </MText>
374
+ </LinearGradient>
375
+ </MButton>
376
+ <KeyboardSpacer />
377
+ </View>
378
+ </View>
379
+ <Loading isLoading={isLoading} />
380
+ </View>
381
+ );
382
+ }
383
+ const $row: ViewStyle = {
384
+ flexDirection: 'row',
385
+ // alignItems: 'center',
386
+ marginBottom: 16,
387
+ gap: 16,
388
+ };
389
+
390
+ const $textInput: ViewStyle = {
391
+ borderWidth: 1,
392
+ borderRadius: 4,
393
+ borderColor: '#E0E0E0',
394
+ height: 40,
395
+ paddingHorizontal: 8,
396
+ fontFamily: 'BeVietnamPro-Medium',
397
+ };
398
+
399
+ const $label: TextStyle = {
400
+ fontSize: 14,
401
+ color: '#333333',
402
+ paddingBottom: 5,
403
+ };
404
+
405
+ const $title2: TextStyle = {
406
+ fontSize: 16,
407
+ fontWeight: 'bold',
408
+ color: '#333333',
409
+ paddingBottom: 10,
410
+ marginTop: 6,
411
+ };
412
+
413
+ const $title: TextStyle = {
414
+ fontSize: 16,
415
+ fontWeight: 'bold',
416
+ color: '#333333',
417
+ position: 'absolute',
418
+ left: 0,
419
+ right: 0,
420
+ textAlign: 'center',
421
+ };
422
+ const $h: ViewStyle = {
423
+ backgroundColor: '#EF592E',
424
+ position: 'absolute',
425
+ height: 30,
426
+ width: '100%',
427
+ };
428
+
429
+ const $bg: ViewStyle = {
430
+ borderTopLeftRadius: 30,
431
+ borderTopRightRadius: 30,
432
+ backgroundColor: 'white',
433
+ flex: 1,
434
+ };
435
+
436
+ const $select: ViewStyle = {
437
+ flexDirection: 'row',
438
+ height: 40,
439
+ alignItems: 'center',
440
+ paddingHorizontal: 8,
441
+ borderWidth: 1,
442
+ borderRadius: 4,
443
+ borderColor: '#E0E0E0',
444
+ };
445
+
446
+ const $error: TextStyle = {
447
+ color: '#EB5757',
448
+ fontSize: 14,
449
+ fontStyle: 'italic',
450
+ fontFamily: 'BeVietnamPro-Thin',
451
+ fontWeight: '300',
452
+ marginTop: 5,
453
+ };
@@ -183,6 +183,10 @@ export default function TTSSelfie(props: any) {
183
183
  navigation.push(ScreenNames.TopupLoanInfo, {
184
184
  loan: props?.route?.params?.loan,
185
185
  });
186
+ } else if (props?.route?.params?.loan?.typeLoan === 8) {
187
+ navigation.push(ScreenNames.InfoLoanMotobike, {
188
+ loan: props?.route?.params?.loan,
189
+ });
186
190
  } else {
187
191
  navigation.push(ScreenNames.ReviewInformation, {
188
192
  loan: props?.route?.params?.loan,
@@ -78,19 +78,35 @@ export default function VehicleRegistrationBack(props: any) {
78
78
  // loan: props?.route?.params?.loan,
79
79
  // front: true,
80
80
  // });
81
- navigation.dispatch(
82
- CommonActions.reset({
83
- index: 1,
84
- routes: [
85
- {
86
- name: ScreenNames.AssetInformation,
87
- params: {
88
- loan: props?.route?.params?.loan,
81
+ if (props?.route?.params?.loan?.typeLoan === 8) {
82
+ navigation.dispatch(
83
+ CommonActions.reset({
84
+ index: 1,
85
+ routes: [
86
+ {
87
+ name: ScreenNames.ReviewLoanMotobike,
88
+ params: {
89
+ loan: props?.route?.params?.loan,
90
+ },
89
91
  },
90
- },
91
- ],
92
- })
93
- );
92
+ ],
93
+ })
94
+ );
95
+ } else {
96
+ navigation.dispatch(
97
+ CommonActions.reset({
98
+ index: 1,
99
+ routes: [
100
+ {
101
+ name: ScreenNames.AssetInformation,
102
+ params: {
103
+ loan: props?.route?.params?.loan,
104
+ },
105
+ },
106
+ ],
107
+ })
108
+ );
109
+ }
94
110
  } else {
95
111
  Alert.alert('Thông báo', response.data?.meta?.errorMessage);
96
112
  }