@controleonline/ui-customers 1.0.81 → 1.0.82

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 (62) hide show
  1. package/.github/workflows/integration-source-gate.yml +68 -0
  2. package/.github/workflows/publish-npm.yml +91 -0
  3. package/AGENTS.md +12 -6
  4. package/docs/technical/Client-Details-Criar-Usuario.md +113 -0
  5. package/package.json +5 -4
  6. package/src/react/components/tabs/AddressesTab.js +240 -335
  7. package/src/react/components/tabs/DocumentAttachments.js +270 -0
  8. package/src/react/components/tabs/DocumentsTab.js +355 -463
  9. package/src/react/components/tabs/DocumentsTab.styles.js +123 -0
  10. package/src/react/components/tabs/EmployeeCreateFormFields.js +203 -0
  11. package/src/react/components/tabs/EmployeesTab.js +17 -171
  12. package/src/react/components/tabs/EmployeesTab.styles.js +220 -172
  13. package/src/react/components/tabs/GeneralTab.js +84 -46
  14. package/src/react/components/tabs/GeneralTab.styles.js +81 -77
  15. package/src/react/components/tabs/MediaTab.js +50 -5
  16. package/src/react/components/tabs/PeopleCategoriesPanel.js +161 -78
  17. package/src/react/components/tabs/SalesmanTab.js +1 -1
  18. package/src/react/components/tabs/UserFormModal.js +26 -2
  19. package/src/react/components/tabs/UsersTab.js +30 -19
  20. package/src/react/components/tabs/UsersTab.styles.js +257 -257
  21. package/src/react/components/tabs/UsersTabApiKeyModal.js +115 -0
  22. package/src/react/components/tabs/UsersTabUserModal.js +222 -0
  23. package/src/react/components/tabs/addressesTabHelpers.js +190 -0
  24. package/src/react/components/tabs/documentsTabHelpers.js +142 -0
  25. package/src/react/components/tabs/employeeContacts.js +3 -23
  26. package/src/react/components/tabs/employeeUnlink.js +7 -4
  27. package/src/react/components/tabs/employeesTabHelpers.js +33 -9
  28. package/src/react/components/tabs/generalTabHelpers.js +30 -8
  29. package/src/react/components/tabs/useGeneralTabPeopleLink.js +68 -0
  30. package/src/react/components/tabs/usersTabHelpers.js +24 -23
  31. package/src/react/pages/details.page.styles.js +114 -100
  32. package/src/react/utils/humanCompanyLinkTypes.js +28 -0
  33. package/src/tests/browser/manager/client-details-add-user-modal.spec.js +281 -0
  34. package/src/tests/browser/manager/client-details-address-create-coords.spec.js +414 -0
  35. package/src/tests/browser/manager/client-details-address-edit.spec.js +331 -0
  36. package/src/tests/browser/manager/client-details-contact-edit.spec.js +198 -0
  37. package/src/tests/browser/manager/client-details-create-contact.spec.js +306 -0
  38. package/src/tests/browser/manager/client-details-documents.spec.js +346 -0
  39. package/src/tests/browser/manager/client-details-identity-case.spec.js +227 -0
  40. package/src/tests/browser/manager/client-details-people-type.manifest.md +18 -0
  41. package/src/tests/browser/manager/client-details-people-type.spec.js +345 -0
  42. package/src/tests/browser/manager/client-details-supplier-product-create.spec.js +334 -0
  43. package/src/tests/browser/manager/client-details-users-tab-load.spec.js +194 -0
  44. package/src/tests/browser/manager/employees-salesman-after-sales.spec.js +441 -0
  45. package/src/tests/react/components/SalesmanTab.company.test.js +40 -0
  46. package/src/tests/react/components/tabs/UsersTab.styles.test.js +39 -0
  47. package/src/tests/react/components/tabs/addressesTabHelpers.test.js +78 -0
  48. package/src/tests/react/components/tabs/documentsTabContract.test.mjs +37 -0
  49. package/src/tests/react/components/tabs/documentsTabHelpers.test.mjs +93 -0
  50. package/src/tests/react/components/tabs/employeeContacts.test.js +46 -4
  51. package/src/tests/react/components/tabs/employeeLinkTypes.contract.test.mjs +52 -0
  52. package/src/tests/react/components/tabs/employeeUnlink.test.js +11 -11
  53. package/src/tests/react/components/tabs/employeesTabHelpers.media.test.js +2 -23
  54. package/src/tests/react/components/tabs/employeesTabHelpers.test.js +59 -0
  55. package/src/tests/react/components/tabs/generalTabHelpers.test.js +35 -0
  56. package/src/tests/react/components/tabs/peopleMediaTabs.test.js +217 -217
  57. package/src/tests/react/components/tabs/peopleType.contract.test.mjs +47 -0
  58. package/src/tests/react/components/tabs/resolveSeededLinkType.test.mjs +20 -0
  59. package/src/tests/react/components/tabs/salesmanTabMedia.no-redeclare.test.mjs +33 -0
  60. package/src/tests/react/components/tabs/usersTabHelpers.test.js +20 -0
  61. package/src/tests/react/components/tabs/usersTabHelpers.test.mjs +63 -0
  62. package/src/tests/react/utils/humanCompanyLinkTypes.test.js +50 -0
@@ -131,3 +131,126 @@ export const inlineStyle_350_20 = {
131
131
  fontWeight: '600',
132
132
  color: '#64748B',
133
133
  };
134
+
135
+ export const attachmentListStyle = {
136
+ marginTop: 8,
137
+ gap: 8,
138
+ };
139
+
140
+ export const attachmentHeaderStyle = {
141
+ marginBottom: 4,
142
+ };
143
+
144
+ export const attachmentSubtextStyle = {
145
+ fontSize: 12,
146
+ color: '#64748B',
147
+ fontWeight: '600',
148
+ };
149
+
150
+ export const emptyAttachmentTextStyle = {
151
+ fontSize: 13,
152
+ color: '#94A3B8',
153
+ marginVertical: 4,
154
+ };
155
+
156
+ export const attachmentCardStyle = {
157
+ borderWidth: 1,
158
+ borderColor: '#E2E8F0',
159
+ borderRadius: 10,
160
+ padding: 10,
161
+ backgroundColor: '#F8FAFC',
162
+ marginBottom: 6,
163
+ };
164
+
165
+ export const attachmentMetaStyle = {
166
+ flexDirection: 'row',
167
+ alignItems: 'center',
168
+ gap: 8,
169
+ marginBottom: 6,
170
+ };
171
+
172
+ export const attachmentNameStyle = {
173
+ fontSize: 14,
174
+ color: '#0F172A',
175
+ fontWeight: '600',
176
+ };
177
+
178
+ export const attachmentActionsStyle = {
179
+ flexDirection: 'row',
180
+ flexWrap: 'wrap',
181
+ gap: 6,
182
+ };
183
+
184
+ export const attachmentActionButtonStyle = {
185
+ flexDirection: 'row',
186
+ alignItems: 'center',
187
+ gap: 4,
188
+ paddingHorizontal: 8,
189
+ paddingVertical: 6,
190
+ borderRadius: 8,
191
+ backgroundColor: '#EEF2FF',
192
+ };
193
+
194
+ export const attachmentActionLabelStyle = {
195
+ fontSize: 12,
196
+ color: '#334155',
197
+ fontWeight: '500',
198
+ };
199
+
200
+ export const previewBackdropStyle = {
201
+ flex: 1,
202
+ backgroundColor: 'rgba(15, 23, 42, 0.55)',
203
+ justifyContent: 'center',
204
+ alignItems: 'center',
205
+ padding: 16,
206
+ };
207
+
208
+ export const previewCardStyle = {
209
+ backgroundColor: '#fff',
210
+ borderRadius: 16,
211
+ width: '100%',
212
+ maxWidth: 640,
213
+ maxHeight: '90%',
214
+ overflow: 'hidden',
215
+ };
216
+
217
+ export const previewHeaderStyle = {
218
+ flexDirection: 'row',
219
+ alignItems: 'center',
220
+ justifyContent: 'space-between',
221
+ paddingHorizontal: 16,
222
+ paddingVertical: 12,
223
+ borderBottomWidth: 1,
224
+ borderBottomColor: '#E2E8F0',
225
+ };
226
+
227
+ export const previewTitleStyle = {
228
+ flex: 1,
229
+ fontSize: 16,
230
+ fontWeight: '700',
231
+ color: '#0F172A',
232
+ marginRight: 12,
233
+ };
234
+
235
+ export const previewContentStyle = {
236
+ padding: 16,
237
+ alignItems: 'center',
238
+ };
239
+
240
+ export const previewImageStyle = {
241
+ width: '100%',
242
+ height: 360,
243
+ maxHeight: 480,
244
+ };
245
+
246
+ export const previewFallbackStyle = {
247
+ alignItems: 'center',
248
+ gap: 12,
249
+ paddingVertical: 24,
250
+ };
251
+
252
+ export const previewFallbackTextStyle = {
253
+ fontSize: 14,
254
+ color: '#64748B',
255
+ textAlign: 'center',
256
+ };
@@ -0,0 +1,203 @@
1
+ import React from 'react';
2
+ import {
3
+ ActivityIndicator,
4
+ Dimensions,
5
+ ScrollView,
6
+ Text,
7
+ TextInput,
8
+ TouchableOpacity,
9
+ View,
10
+ Platform,
11
+ } from 'react-native';
12
+ import { Picker } from '@react-native-picker/picker';
13
+ import Icon from 'react-native-vector-icons/MaterialIcons';
14
+ import {
15
+ formatDateInput,
16
+ LINK_TYPE_OPTIONS,
17
+ PEOPLE_TYPE_OPTIONS,
18
+ normalizePeopleType,
19
+ } from './employeesTabHelpers';
20
+ import {
21
+ inlineStyle_281_10,
22
+ inlineStyle_294_12,
23
+ inlineStyle_303_18,
24
+ inlineStyle_308_14,
25
+ inlineStyle_321_12,
26
+ inlineStyle_324_18,
27
+ inlineStyle_326_16,
28
+ inlineStyle_338_16,
29
+ inlineStyle_351_18,
30
+ inlineStyle_353_16,
31
+ inlineStyle_365_16,
32
+ inlineStyle_378_18,
33
+ inlineStyle_380_16,
34
+ inlineStyle_389_16,
35
+ inlineStyle_408_18,
36
+ inlineStyle_422_18,
37
+ inlineStyle_424_16,
38
+ inlineStyle_433_16,
39
+ inlineStyle_446_18,
40
+ modalFooterRow,
41
+ modalCancelButton,
42
+ modalCancelButtonText,
43
+ modalSaveButton,
44
+ modalSaveButtonDisabled,
45
+ modalSaveButtonText,
46
+ } from './EmployeesTab.styles';
47
+
48
+ const SCROLL_MAX_HEIGHT = Math.min(420, Math.round(Dimensions.get('window').height * 0.45));
49
+
50
+ /**
51
+ * Create-collaborator form fields for EmployeesTab modal (app-community#625 / #686).
52
+ */
53
+ const EmployeeCreateFormFields = ({
54
+ formData,
55
+ setFormData,
56
+ linkTypeOptions,
57
+ isSaving,
58
+ onClose,
59
+ onSave,
60
+ title,
61
+ }) => {
62
+ const pickerMode = Platform.OS === 'android' ? 'dropdown' : undefined;
63
+ const isPJ = normalizePeopleType(formData.peopleType) === 'J';
64
+
65
+ return (
66
+ <View style={inlineStyle_281_10}>
67
+ <View style={inlineStyle_294_12}>
68
+ <Text style={inlineStyle_303_18}>{title}</Text>
69
+ <TouchableOpacity onPress={onClose} style={inlineStyle_308_14}>
70
+ <Icon name="close" size={20} color="#64748B" />
71
+ </TouchableOpacity>
72
+ </View>
73
+
74
+ <ScrollView
75
+ style={[inlineStyle_321_12, { maxHeight: SCROLL_MAX_HEIGHT }]}
76
+ contentContainerStyle={{ paddingBottom: 8 }}
77
+ keyboardShouldPersistTaps="handled"
78
+ keyboardDismissMode="on-drag"
79
+ showsVerticalScrollIndicator>
80
+ <View style={inlineStyle_324_18}>
81
+ <Text style={inlineStyle_326_16}>
82
+ {isPJ ? 'Razão Social *' : 'Nome *'}
83
+ </Text>
84
+ <TextInput
85
+ value={formData.name}
86
+ onChangeText={text =>
87
+ setFormData(prev => ({ ...prev, name: text }))
88
+ }
89
+ placeholder="Digite o nome"
90
+ style={inlineStyle_338_16}
91
+ placeholderTextColor="#6c757d"
92
+ />
93
+ </View>
94
+
95
+ <View style={inlineStyle_351_18}>
96
+ <Text style={inlineStyle_353_16}>
97
+ {isPJ ? 'Nome Fantasia *' : 'Apelido *'}
98
+ </Text>
99
+ <TextInput
100
+ value={formData.alias}
101
+ onChangeText={text =>
102
+ setFormData(prev => ({ ...prev, alias: text }))
103
+ }
104
+ placeholder="Digite o apelido"
105
+ style={inlineStyle_365_16}
106
+ placeholderTextColor="#6c757d"
107
+ />
108
+ </View>
109
+
110
+ <View style={inlineStyle_378_18}>
111
+ <Text style={inlineStyle_380_16}>Tipo *</Text>
112
+ <View style={inlineStyle_389_16}>
113
+ <Picker
114
+ selectedValue={normalizePeopleType(formData.peopleType)}
115
+ onValueChange={value =>
116
+ setFormData(prev => ({
117
+ ...prev,
118
+ peopleType: normalizePeopleType(value),
119
+ }))
120
+ }
121
+ mode={pickerMode}
122
+ style={inlineStyle_408_18}>
123
+ {PEOPLE_TYPE_OPTIONS.map(option => (
124
+ <Picker.Item
125
+ key={option.value}
126
+ label={option.label}
127
+ value={option.value}
128
+ />
129
+ ))}
130
+ </Picker>
131
+ </View>
132
+ </View>
133
+
134
+ <View style={inlineStyle_378_18}>
135
+ <Text style={inlineStyle_380_16}>
136
+ {isPJ ? 'Data de Fundação' : 'Data de Nascimento'}
137
+ </Text>
138
+ <View style={inlineStyle_389_16}>
139
+ <Icon name="calendar-today" size={20} color="#6c757d" />
140
+ <TextInput
141
+ value={formData.foundationDateBr}
142
+ onChangeText={text =>
143
+ setFormData(prev => ({
144
+ ...prev,
145
+ foundationDateBr: formatDateInput(text),
146
+ }))
147
+ }
148
+ placeholder="DD/MM/AAAA"
149
+ style={inlineStyle_408_18}
150
+ placeholderTextColor="#6c757d"
151
+ keyboardType="numeric"
152
+ />
153
+ </View>
154
+ </View>
155
+
156
+ <View style={inlineStyle_422_18}>
157
+ <Text style={inlineStyle_424_16}>Tipo de vínculo</Text>
158
+ <View style={inlineStyle_433_16}>
159
+ <Picker
160
+ selectedValue={formData.linkType}
161
+ onValueChange={value =>
162
+ setFormData(prev => ({ ...prev, linkType: value }))
163
+ }
164
+ mode={pickerMode}
165
+ style={inlineStyle_408_18}>
166
+ {(linkTypeOptions.length
167
+ ? linkTypeOptions
168
+ : LINK_TYPE_OPTIONS.map(o => ({ value: o.value, label: o.value }))
169
+ ).map(option => (
170
+ <Picker.Item
171
+ key={option.value}
172
+ label={option.label || option.value}
173
+ value={option.value}
174
+ />
175
+ ))}
176
+ </Picker>
177
+ </View>
178
+ </View>
179
+ </ScrollView>
180
+
181
+ <View style={modalFooterRow}>
182
+ <TouchableOpacity
183
+ onPress={onClose}
184
+ disabled={isSaving}
185
+ style={modalCancelButton}>
186
+ <Text style={modalCancelButtonText}>Cancelar</Text>
187
+ </TouchableOpacity>
188
+ <TouchableOpacity
189
+ onPress={onSave}
190
+ disabled={isSaving}
191
+ style={[modalSaveButton, isSaving && modalSaveButtonDisabled]}>
192
+ {isSaving ? (
193
+ <ActivityIndicator size="small" color="#fff" />
194
+ ) : (
195
+ <Text style={modalSaveButtonText}>Salvar</Text>
196
+ )}
197
+ </TouchableOpacity>
198
+ </View>
199
+ </View>
200
+ );
201
+ };
202
+
203
+ export default EmployeeCreateFormFields;
@@ -6,21 +6,15 @@ import {
6
6
  Platform,
7
7
  ScrollView,
8
8
  Text,
9
- TextInput,
10
9
  TouchableOpacity,
11
10
  View,
12
11
  } from 'react-native';
13
12
 
14
- import { Picker } from '@react-native-picker/picker';
15
13
  import FeatherIcon from 'react-native-vector-icons/Feather';
16
- import Icon from 'react-native-vector-icons/MaterialIcons';
17
14
  import { useFocusEffect, useNavigation } from '@react-navigation/native';
18
15
  import { useStore, useStores } from '@store';
19
16
  import AnimatedModal from '@controleonline/ui-common/src/react/components/AnimatedModal';
20
17
  import { useMessage } from '@controleonline/ui-common/src/react/components/MessageService';
21
- import {
22
- uppercaseText,
23
- } from '@controleonline/ui-common/src/react/utils/entityDisplay';
24
18
  import {
25
19
  buildEmployeeContactsFromPeopleLinks,
26
20
  buildPeopleLinkReadParams,
@@ -28,43 +22,22 @@ import {
28
22
 
29
23
  import {
30
24
  inlineStyle_243_18,
31
- inlineStyle_279_8,
32
- inlineStyle_281_10,
33
- inlineStyle_294_12,
34
- inlineStyle_303_18,
35
- inlineStyle_308_14,
36
- inlineStyle_321_12,
37
- inlineStyle_324_18,
38
- inlineStyle_326_16,
39
- inlineStyle_338_16,
40
- inlineStyle_351_18,
41
- inlineStyle_353_16,
42
- inlineStyle_365_16,
43
- inlineStyle_378_18,
44
- inlineStyle_380_16,
45
- inlineStyle_389_16,
46
- inlineStyle_408_18,
47
- inlineStyle_422_18,
48
- inlineStyle_424_16,
49
- inlineStyle_433_16,
50
- inlineStyle_446_18,
51
- inlineStyle_460_12,
52
- inlineStyle_472_14,
53
- inlineStyle_480_20,
54
25
  } from './EmployeesTab.styles';
55
26
 
56
27
  import {
57
28
  extractId,
58
29
  normalizeIdentityValue,
59
30
  extractPeopleMediaUrl,
60
- formatDateInput,
61
31
  parseBrDateToYmd,
62
32
  LINK_TYPE_OPTIONS,
63
33
  resolveEmployeeContactLinkType,
34
+ formatEmployeeContactTitle,
35
+ formatEmployeeContactMeta,
64
36
  buildEmployeeCreatePayload,
65
37
  } from './employeesTabHelpers';
66
- import EmployeeContactRow from './EmployeeContactRow';
38
+ import EmployeeCreateFormFields from './EmployeeCreateFormFields';
67
39
  import {useEmployeeUnlink} from './useEmployeeUnlink';
40
+ import EmployeeContactRow from './EmployeeContactRow';
68
41
 
69
42
 
70
43
  export {
@@ -97,6 +70,7 @@ const EmployeesTab = ({
97
70
  alias: '',
98
71
  foundationDateBr: '',
99
72
  linkType: 'employee',
73
+ peopleType: 'F',
100
74
  });
101
75
  const [linkTypeOptions, setLinkTypeOptions] = useState(
102
76
  LINK_TYPE_OPTIONS.map(option => ({
@@ -104,7 +78,6 @@ const EmployeesTab = ({
104
78
  label: '',
105
79
  })),
106
80
  );
107
- const pickerMode = Platform.OS === 'android' ? 'dropdown' : undefined;
108
81
 
109
82
  const peopleStore = useStores(state => state.people) || {};
110
83
  const peopleActions = peopleStore.actions || {};
@@ -199,6 +172,7 @@ const EmployeesTab = ({
199
172
  alias: '',
200
173
  foundationDateBr: '',
201
174
  linkType: 'employee',
175
+ peopleType: 'F',
202
176
  });
203
177
  };
204
178
 
@@ -243,6 +217,7 @@ const EmployeesTab = ({
243
217
  foundationDate,
244
218
  linkType: formData.linkType,
245
219
  parentPeopleId,
220
+ peopleType: formData.peopleType,
246
221
  });
247
222
 
248
223
  await peopleActions.company(payload);
@@ -307,145 +282,16 @@ const EmployeesTab = ({
307
282
  <AnimatedModal
308
283
  visible={showModal}
309
284
  onRequestClose={handleCloseModal}
310
- style={inlineStyle_279_8}>
311
- <View
312
- style={inlineStyle_281_10}>
313
- <View
314
- style={inlineStyle_294_12}>
315
- <Text style={inlineStyle_303_18}>
316
- {txt_title_addPeople}
317
- </Text>
318
- <TouchableOpacity
319
- onPress={handleCloseModal}
320
- style={inlineStyle_308_14}>
321
- <Icon name="close" size={20} color="#64748B" />
322
- </TouchableOpacity>
323
- </View>
324
-
325
- <ScrollView
326
- style={inlineStyle_321_12}
327
- keyboardShouldPersistTaps="handled"
328
- keyboardDismissMode="on-drag">
329
- <View style={inlineStyle_324_18}>
330
- <Text
331
- style={inlineStyle_326_16}>
332
- Nome *
333
- </Text>
334
- <TextInput
335
- value={formData.name}
336
- onChangeText={text => setFormData(prev => ({ ...prev, name: uppercaseText(text) }))}
337
- placeholder="Digite o nome"
338
- style={inlineStyle_338_16}
339
- placeholderTextColor="#6c757d"
340
- />
341
- </View>
342
-
343
- <View style={inlineStyle_351_18}>
344
- <Text
345
- style={inlineStyle_353_16}>
346
- Apelido *
347
- </Text>
348
- <TextInput
349
- value={formData.alias}
350
- onChangeText={text => setFormData(prev => ({ ...prev, alias: uppercaseText(text) }))}
351
- placeholder="Digite o apelido"
352
- style={inlineStyle_365_16}
353
- placeholderTextColor="#6c757d"
354
- />
355
- </View>
356
-
357
- <View style={inlineStyle_378_18}>
358
- <Text
359
- style={inlineStyle_380_16}>
360
- Data de Nascimento
361
- </Text>
362
- <View
363
- style={inlineStyle_389_16}>
364
- <Icon name="calendar-today" size={20} color="#6c757d" />
365
- <TextInput
366
- value={formData.foundationDateBr}
367
- onChangeText={text =>
368
- setFormData(prev => ({
369
- ...prev,
370
- foundationDateBr: formatDateInput(text),
371
- }))
372
- }
373
- placeholder="DD/MM/AAAA"
374
- style={inlineStyle_408_18}
375
- placeholderTextColor="#6c757d"
376
- keyboardType="numeric"
377
- maxLength={10}
378
- />
379
- </View>
380
- </View>
381
-
382
- <View style={inlineStyle_422_18}>
383
- <Text
384
- style={inlineStyle_424_16}>
385
- Tipo de Vinculo
386
- </Text>
387
- <View
388
- style={inlineStyle_433_16}>
389
- <Picker
390
- selectedValue={formData.linkType}
391
- onValueChange={value =>
392
- setFormData(prev => ({ ...prev, linkType: value }))
393
- }
394
- mode={pickerMode}
395
- style={inlineStyle_446_18}>
396
- {linkTypeOptions.map(option => (
397
- <Picker.Item
398
- key={option.value}
399
- label={option.label}
400
- value={option.value}
401
- />
402
- ))}
403
- </Picker>
404
- </View>
405
- </View>
406
- </ScrollView>
407
-
408
- <View
409
- style={inlineStyle_460_12}>
410
- <TouchableOpacity
411
- onPress={() => {
412
- Keyboard.dismiss();
413
- handleCloseModal();
414
- }}
415
- style={inlineStyle_472_14}>
416
- <Text style={inlineStyle_480_20}>
417
- Cancelar
418
- </Text>
419
- </TouchableOpacity>
420
-
421
- <TouchableOpacity
422
- onPress={() => {
423
- Keyboard.dismiss();
424
- handleSaveEmployee();
425
- }}
426
- disabled={isSaving}
427
- style={[
428
- customStyles.saveButton,
429
- isSaving && customStyles.saveButtonDisabled,
430
- ]}>
431
- {isSaving ? (
432
- <ActivityIndicator
433
- size="small"
434
- color={customStyles.saveButtonText.color}
435
- />
436
- ) : (
437
- <>
438
- <FeatherIcon
439
- name="save"
440
- size={16}
441
- color={customStyles.iconButtonPrimaryIcon.color}
442
- />
443
- <Text style={customStyles.saveButtonText}>Salvar</Text>
444
- </>
445
- )}
446
- </TouchableOpacity>
447
- </View>
448
- </View>
285
+ style={{ maxHeight: '90%' }}>
286
+ <EmployeeCreateFormFields
287
+ formData={formData}
288
+ setFormData={setFormData}
289
+ linkTypeOptions={linkTypeOptions}
290
+ isSaving={isSaving}
291
+ onClose={handleCloseModal}
292
+ onSave={handleSaveEmployee}
293
+ title={txt_title_addPeople}
294
+ />
449
295
  </AnimatedModal>
450
296
  </>
451
297
  );