react-native-exp-fig 0.1.9 → 0.1.10
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.
- package/package.json +1 -1
- package/src/common/icons-svg/agent/index.tsx +40 -0
- package/src/common/icons-svg/bed/index.tsx +41 -0
- package/src/common/icons-svg/car/index.tsx +29 -0
- package/src/common/icons-svg/check-outline/index.tsx +42 -0
- package/src/common/icons-svg/coffee/index.tsx +43 -0
- package/src/common/icons-svg/constants/index.ts +63 -55
- package/src/common/icons-svg/index.tsx +255 -217
- package/src/common/icons-svg/pencil/index.tsx +32 -0
- package/src/common/icons-svg/refresh-ccw-dot/index.tsx +32 -0
- package/src/common/icons-svg/truck-activity/index.tsx +29 -0
- package/src/components/activities-daily/index.tsx +116 -0
- package/src/components/activities-daily/interface.d.ts +22 -0
- package/src/components/activities-progress/index.tsx +162 -0
- package/src/components/activities-progress/interface.d.ts +41 -0
- package/src/components/avatar-profile/index.tsx +95 -0
- package/src/components/avatar-profile/interface.d.ts +39 -0
- package/src/components/card-history/index.tsx +149 -150
- package/src/components/card-loading/index.tsx +16 -1
- package/src/components/card-work-session/index.tsx +187 -185
- package/src/components/check-box/index.tsx +94 -125
- package/src/components/check-box/interface.d.ts +31 -27
- package/src/components/coil/index.tsx +3 -3
- package/src/components/coil/interface.d.ts +1 -1
- package/src/components/filter-date-selector/index.tsx +101 -89
- package/src/components/history-details/index.tsx +100 -0
- package/src/components/history-details/interface.d.ts +18 -0
- package/src/components/image-capture-with-remove/index.tsx +8 -2
- package/src/components/image-capture-with-remove/interface.d.ts +3 -0
- package/src/components/notification-loading/index.tsx +18 -7
- package/src/components/notification-loading/interface.d.ts +4 -0
- package/src/components/profile-menu-option/index.tsx +65 -0
- package/src/components/profile-menu-option/interface.d.ts +42 -0
- package/src/components/step-indicator/index.tsx +164 -164
- package/src/components/step-indicator/interface.d.ts +34 -34
- package/src/components/user-profile/index.tsx +58 -70
- package/src/index.ts +42 -37
- package/src/stories/activities-daily/activities-daily.stories.tsx +40 -0
- package/src/stories/activities-progress/activities-progress.stories.tsx +61 -0
- package/src/stories/avatar-profile/avatar-profile.stories.tsx +32 -0
- package/src/stories/card-loading/card-loading.stories.tsx +2 -2
- package/src/stories/check-box/check-box.stories.tsx +81 -83
- package/src/stories/coil/coil.stories.tsx +26 -3
- package/src/stories/filter-date-selector/filter-date-selector.stories.tsx +122 -93
- package/src/stories/history-details/history-details.stories.tsx +36 -0
- package/src/stories/image-capture-with-remove/image-capture-with-remove.stories.tsx +10 -0
- package/src/stories/notification-loading/notification-loading.stories.tsx +15 -0
- package/src/stories/profile-menu-option/profile-menu-option.stories.tsx +70 -0
- package/src/stories/step-indicator/step-indicator.stories.tsx +124 -116
- package/src/styles/theme/theme.ts +2 -0
- package/src/utils/format-data/index.ts +66 -40
- package/src/utils/status-color/return-color.ts +12 -4
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { TouchableOpacity } from "react-native";
|
|
6
|
+
|
|
7
|
+
// components
|
|
8
|
+
import { Box } from "../../components/box";
|
|
9
|
+
import { Typography } from "../../components/typography";
|
|
10
|
+
|
|
11
|
+
//commons/ icons
|
|
12
|
+
import { Icons } from "../../common/icons-svg";
|
|
13
|
+
|
|
14
|
+
// styles
|
|
15
|
+
import { theme } from "../../styles/theme/theme";
|
|
16
|
+
|
|
17
|
+
// typings
|
|
18
|
+
import { IActivitiesDaily } from "./interface";
|
|
19
|
+
|
|
20
|
+
const ActivitiesDaily: React.FC<IActivitiesDaily> = ({ handleActivity }) => {
|
|
21
|
+
return (
|
|
22
|
+
<Box
|
|
23
|
+
testID={"activities-daily"}
|
|
24
|
+
width={"100%"}
|
|
25
|
+
height={100}
|
|
26
|
+
backgroundColor={theme.colors.neutral[25]}
|
|
27
|
+
borderStyled={{
|
|
28
|
+
borderRadius: theme.borderWidths.thick_medium,
|
|
29
|
+
}}
|
|
30
|
+
>
|
|
31
|
+
<Box
|
|
32
|
+
width={"100%"}
|
|
33
|
+
height={30}
|
|
34
|
+
backgroundColor={theme.colors.blue[400]}
|
|
35
|
+
borderStyled={{
|
|
36
|
+
borderTopLeftRadius: theme.borderWidths.thin_bold,
|
|
37
|
+
borderTopRightRadius: theme.borderWidths.thin_bold,
|
|
38
|
+
borderColor: theme.colors.blue[400],
|
|
39
|
+
}}
|
|
40
|
+
flexStyle={{
|
|
41
|
+
justifyContent: "center",
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
<Typography
|
|
45
|
+
text={"Atividades diárias"}
|
|
46
|
+
color={theme.colors.neutral[25]}
|
|
47
|
+
size={theme.fontSizes.sm}
|
|
48
|
+
fontFamily={theme.fonts.inter_medium_500}
|
|
49
|
+
fontWeight={"500"}
|
|
50
|
+
lineHeight={theme.fontSizes.lg}
|
|
51
|
+
marginLeft={theme.margins["2xs"]}
|
|
52
|
+
/>
|
|
53
|
+
</Box>
|
|
54
|
+
<Box
|
|
55
|
+
width={"100%"}
|
|
56
|
+
flexStyle={{
|
|
57
|
+
flexDirection: "row",
|
|
58
|
+
justifyContent: "space-between",
|
|
59
|
+
}}
|
|
60
|
+
paddingStyle={{
|
|
61
|
+
padding: theme.paddings["2xs"],
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
<Typography
|
|
65
|
+
text={"Selecione uma das opções"}
|
|
66
|
+
color={theme.colors.blue[500]}
|
|
67
|
+
size={theme.fontSizes.xs}
|
|
68
|
+
fontFamily={theme.fonts.inter_bold_700}
|
|
69
|
+
fontWeight={"700"}
|
|
70
|
+
lineHeight={theme.fontSizes.md}
|
|
71
|
+
/>
|
|
72
|
+
|
|
73
|
+
<Box flexStyle={{ flexDirection: "row" }} marginStyle={{ marginTop: 5 }}>
|
|
74
|
+
<TouchableOpacity
|
|
75
|
+
activeOpacity={0.7}
|
|
76
|
+
style={{ marginRight: theme.margins.xl, alignItems: "center" }}
|
|
77
|
+
onPress={() => handleActivity("trabalho")}
|
|
78
|
+
>
|
|
79
|
+
<Icons icon={"TRUCK_ACTIVITY"} />
|
|
80
|
+
<Typography
|
|
81
|
+
text={"Trabalho"}
|
|
82
|
+
color={theme.colors.black[25]}
|
|
83
|
+
size={theme.fontSizes.xs}
|
|
84
|
+
fontFamily={theme.fonts.inter_bold_700}
|
|
85
|
+
fontWeight={"700"}
|
|
86
|
+
lineHeight={theme.fontSizes.sm}
|
|
87
|
+
marginTop={4}
|
|
88
|
+
/>
|
|
89
|
+
</TouchableOpacity>
|
|
90
|
+
|
|
91
|
+
<TouchableOpacity
|
|
92
|
+
activeOpacity={0.7}
|
|
93
|
+
style={{ alignItems: "center" }}
|
|
94
|
+
onPress={() => handleActivity("descanso")}
|
|
95
|
+
>
|
|
96
|
+
<Icons icon={"BED"} />
|
|
97
|
+
<Typography
|
|
98
|
+
text={"Descanso"}
|
|
99
|
+
color={theme.colors.black[25]}
|
|
100
|
+
size={theme.fontSizes.xs}
|
|
101
|
+
fontFamily={theme.fonts.inter_bold_700}
|
|
102
|
+
fontWeight={"700"}
|
|
103
|
+
lineHeight={theme.fontSizes.sm}
|
|
104
|
+
marginTop={4}
|
|
105
|
+
/>
|
|
106
|
+
</TouchableOpacity>
|
|
107
|
+
</Box>
|
|
108
|
+
</Box>
|
|
109
|
+
</Box>
|
|
110
|
+
);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* EXPORTS
|
|
115
|
+
*/
|
|
116
|
+
export { ActivitiesDaily };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { type ViewProps } from "react-native";
|
|
6
|
+
/**
|
|
7
|
+
* INTERFACE
|
|
8
|
+
*/
|
|
9
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
10
|
+
|
|
11
|
+
interface IActivitiesDaily extends ViewProps, IGlobalCss {
|
|
12
|
+
/**
|
|
13
|
+
* function que pega o valor do tipo de atividade
|
|
14
|
+
*/
|
|
15
|
+
// eslint-disable-next-line no-unused-vars
|
|
16
|
+
handleActivity: (activity: string) => void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* EXPORT
|
|
21
|
+
*/
|
|
22
|
+
export type { IActivitiesDaily };
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import React from "react";
|
|
5
|
+
|
|
6
|
+
// components
|
|
7
|
+
import { Box } from "../../components/box";
|
|
8
|
+
import { Typography } from "../../components/typography";
|
|
9
|
+
|
|
10
|
+
//commons/ icons
|
|
11
|
+
import { Icons } from "../../common/icons-svg";
|
|
12
|
+
|
|
13
|
+
// styles
|
|
14
|
+
import { theme } from "../../styles/theme/theme";
|
|
15
|
+
|
|
16
|
+
// typings
|
|
17
|
+
import { IActivitiesProgress } from "./interface";
|
|
18
|
+
|
|
19
|
+
const ActivitiesProgress: React.FC<IActivitiesProgress> = ({
|
|
20
|
+
data_fim = "11/05/2025",
|
|
21
|
+
duracao = "00:30",
|
|
22
|
+
data_inicio = "17:20",
|
|
23
|
+
titleLabel = "Descanso",
|
|
24
|
+
situation = true,
|
|
25
|
+
}) => {
|
|
26
|
+
return (
|
|
27
|
+
<Box
|
|
28
|
+
width={"100%"}
|
|
29
|
+
height={100}
|
|
30
|
+
backgroundColor={theme.colors.neutral[25]}
|
|
31
|
+
borderStyled={{ borderRadius: theme.borderWidths.thick_medium }}
|
|
32
|
+
>
|
|
33
|
+
<Box
|
|
34
|
+
width={"100%"}
|
|
35
|
+
height={30}
|
|
36
|
+
backgroundColor={theme.colors.blue[400]}
|
|
37
|
+
borderStyled={{
|
|
38
|
+
borderTopLeftRadius: theme.borderWidths.thin_bold,
|
|
39
|
+
borderTopRightRadius: theme.borderWidths.thin_bold,
|
|
40
|
+
borderColor: theme.colors.blue[400],
|
|
41
|
+
}}
|
|
42
|
+
flexStyle={{
|
|
43
|
+
justifyContent: "space-between",
|
|
44
|
+
flexDirection: "row",
|
|
45
|
+
}}
|
|
46
|
+
>
|
|
47
|
+
<Box
|
|
48
|
+
flexStyle={{
|
|
49
|
+
flexDirection: "row",
|
|
50
|
+
alignItems: "center",
|
|
51
|
+
}}
|
|
52
|
+
>
|
|
53
|
+
<Typography
|
|
54
|
+
text={"Status: "}
|
|
55
|
+
color={theme.colors.neutral[25]}
|
|
56
|
+
size={theme.fontSizes.sm}
|
|
57
|
+
fontFamily={theme.fonts.inter_medium_500}
|
|
58
|
+
fontWeight={"500"}
|
|
59
|
+
lineHeight={theme.fontSizes.lg}
|
|
60
|
+
marginLeft={theme.margins["2xs"]}
|
|
61
|
+
/>
|
|
62
|
+
<Typography
|
|
63
|
+
text={titleLabel}
|
|
64
|
+
color={titleLabel === "Trabalho" ? theme.colors.green[400] : theme.colors.orange[500]}
|
|
65
|
+
size={theme.fontSizes.sm}
|
|
66
|
+
fontFamily={theme.fonts.inter_semi_bold_600}
|
|
67
|
+
fontWeight={"600"}
|
|
68
|
+
lineHeight={theme.fontSizes.lg}
|
|
69
|
+
/>
|
|
70
|
+
</Box>
|
|
71
|
+
|
|
72
|
+
<Box
|
|
73
|
+
style={{ marginRight: theme.margins["2xs"], marginTop: theme.margins["1xs"] }}
|
|
74
|
+
height={20}
|
|
75
|
+
width={20}
|
|
76
|
+
>
|
|
77
|
+
<Icons
|
|
78
|
+
icon={"CHECK_OUTLINE"}
|
|
79
|
+
color={situation ? theme.colors.green[400] : theme.colors.orange[500]}
|
|
80
|
+
/>
|
|
81
|
+
</Box>
|
|
82
|
+
</Box>
|
|
83
|
+
|
|
84
|
+
<Box
|
|
85
|
+
width={"100%"}
|
|
86
|
+
flexStyle={{
|
|
87
|
+
flexDirection: "row",
|
|
88
|
+
justifyContent: "space-between",
|
|
89
|
+
}}
|
|
90
|
+
paddingStyle={{
|
|
91
|
+
padding: theme.paddings["2xs"],
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
<Box height={20} flexStyle={{ flexDirection: "row", alignItems: "center" }}>
|
|
95
|
+
<Icons icon={"COFFEE"} size={24} />
|
|
96
|
+
<Typography
|
|
97
|
+
text={data_fim}
|
|
98
|
+
color={theme.colors.black[25]}
|
|
99
|
+
size={theme.fontSizes.xs}
|
|
100
|
+
fontFamily={theme.fonts.inter_bold_700}
|
|
101
|
+
fontWeight={"700"}
|
|
102
|
+
lineHeight={theme.fontSizes.lg}
|
|
103
|
+
marginLeft={4}
|
|
104
|
+
/>
|
|
105
|
+
</Box>
|
|
106
|
+
|
|
107
|
+
<Box height={50} flexStyle={{ flexDirection: "row", alignItems: "flex-end" }}>
|
|
108
|
+
<Box
|
|
109
|
+
flexStyle={{ alignItems: "center" }}
|
|
110
|
+
marginStyle={{ marginRight: theme.margins["2xs"] }}
|
|
111
|
+
>
|
|
112
|
+
<Typography
|
|
113
|
+
text={data_inicio}
|
|
114
|
+
color={theme.colors.blue[500]}
|
|
115
|
+
size={theme.fontSizes.sm}
|
|
116
|
+
fontFamily={theme.fonts.inter_bold}
|
|
117
|
+
fontWeight={"700"}
|
|
118
|
+
lineHeight={theme.fontSizes.md}
|
|
119
|
+
/>
|
|
120
|
+
<Typography
|
|
121
|
+
text={"INICIO"}
|
|
122
|
+
color={theme.colors.gray[600]}
|
|
123
|
+
size={theme.fontSizes["2xs"]}
|
|
124
|
+
fontFamily={theme.fonts.inter_medium_500}
|
|
125
|
+
fontWeight={"500"}
|
|
126
|
+
lineHeight={theme.fontSizes.xs}
|
|
127
|
+
marginTop={4}
|
|
128
|
+
/>
|
|
129
|
+
</Box>
|
|
130
|
+
|
|
131
|
+
<Box
|
|
132
|
+
flexStyle={{ alignItems: "center" }}
|
|
133
|
+
marginStyle={{ marginRight: theme.margins["2xs"] }}
|
|
134
|
+
>
|
|
135
|
+
<Typography
|
|
136
|
+
text={duracao}
|
|
137
|
+
color={theme.colors.blue[500]}
|
|
138
|
+
size={theme.fontSizes.sm}
|
|
139
|
+
fontFamily={theme.fonts.inter_bold}
|
|
140
|
+
fontWeight={"700"}
|
|
141
|
+
lineHeight={theme.fontSizes.md}
|
|
142
|
+
/>
|
|
143
|
+
<Typography
|
|
144
|
+
text={"DURAÇÃO"}
|
|
145
|
+
color={theme.colors.gray[600]}
|
|
146
|
+
size={theme.fontSizes["2xs"]}
|
|
147
|
+
fontFamily={theme.fonts.inter_medium_500}
|
|
148
|
+
fontWeight={"500"}
|
|
149
|
+
lineHeight={theme.fontSizes.xs}
|
|
150
|
+
marginTop={4}
|
|
151
|
+
/>
|
|
152
|
+
</Box>
|
|
153
|
+
</Box>
|
|
154
|
+
</Box>
|
|
155
|
+
</Box>
|
|
156
|
+
);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* EXPORTS
|
|
161
|
+
*/
|
|
162
|
+
export { ActivitiesProgress };
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { type ViewProps } from "react-native";
|
|
6
|
+
/**
|
|
7
|
+
* INTERFACE
|
|
8
|
+
*/
|
|
9
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
10
|
+
|
|
11
|
+
interface IActivitiesProgress extends ViewProps, IGlobalCss {
|
|
12
|
+
/**
|
|
13
|
+
* Data de fim da atividade
|
|
14
|
+
*/
|
|
15
|
+
data_fim?: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Duração da atividade
|
|
19
|
+
*/
|
|
20
|
+
duracao?: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Horário de início da atividade
|
|
24
|
+
*/
|
|
25
|
+
data_inicio?: string;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Título/label da atividade
|
|
29
|
+
*/
|
|
30
|
+
titleLabel?: string;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Situação da atividade
|
|
34
|
+
*/
|
|
35
|
+
situation: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* EXPORT
|
|
40
|
+
*/
|
|
41
|
+
export type { IActivitiesProgress };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TouchableOpacity, Image } from "react-native";
|
|
3
|
+
|
|
4
|
+
// components
|
|
5
|
+
import { Box } from "../box";
|
|
6
|
+
import { Typography } from "../typography";
|
|
7
|
+
|
|
8
|
+
// styles
|
|
9
|
+
import { theme } from "../../styles/theme/theme";
|
|
10
|
+
|
|
11
|
+
// icons
|
|
12
|
+
import { Icons } from "../../common/icons-svg";
|
|
13
|
+
|
|
14
|
+
// types
|
|
15
|
+
import { IAvatarProfile } from "./interface";
|
|
16
|
+
|
|
17
|
+
const AvatarProfile: React.FC<IAvatarProfile> = ({
|
|
18
|
+
avatar,
|
|
19
|
+
isEdit = false,
|
|
20
|
+
handleTakePicker,
|
|
21
|
+
name,
|
|
22
|
+
email,
|
|
23
|
+
testID,
|
|
24
|
+
}) => {
|
|
25
|
+
return (
|
|
26
|
+
<Box flexStyle={{ justifyContent: "center", alignItems: "center" }}>
|
|
27
|
+
<Box
|
|
28
|
+
backgroundColor={theme.colors.neutral[25]}
|
|
29
|
+
width={96}
|
|
30
|
+
height={96}
|
|
31
|
+
borderStyled={{ borderRadius: 50 }}
|
|
32
|
+
flexStyle={{ justifyContent: "center", alignItems: "center" }}
|
|
33
|
+
testID={testID}
|
|
34
|
+
>
|
|
35
|
+
<Image
|
|
36
|
+
source={{ uri: avatar ?? "" }}
|
|
37
|
+
alt={avatar ?? "foto de perfil"}
|
|
38
|
+
style={{
|
|
39
|
+
width: 90,
|
|
40
|
+
height: 90,
|
|
41
|
+
borderRadius: 45,
|
|
42
|
+
borderWidth: theme.borderWidths.thin_medium,
|
|
43
|
+
borderColor: theme.colors.black[25],
|
|
44
|
+
}}
|
|
45
|
+
/>
|
|
46
|
+
{isEdit && (
|
|
47
|
+
<Box
|
|
48
|
+
width={20}
|
|
49
|
+
height={20}
|
|
50
|
+
backgroundColor={theme.colors.blue[350]}
|
|
51
|
+
borderStyled={{
|
|
52
|
+
borderRadius: 10,
|
|
53
|
+
borderWidth: theme.borderWidths.thin_medium,
|
|
54
|
+
borderColor: theme.colors.black[25],
|
|
55
|
+
}}
|
|
56
|
+
flexStyle={{ justifyContent: "center", alignItems: "center" }}
|
|
57
|
+
style={{
|
|
58
|
+
position: "absolute",
|
|
59
|
+
bottom: 5,
|
|
60
|
+
right: 5,
|
|
61
|
+
}}
|
|
62
|
+
>
|
|
63
|
+
<TouchableOpacity
|
|
64
|
+
activeOpacity={0.7}
|
|
65
|
+
onPress={handleTakePicker}
|
|
66
|
+
testID="avatar-profile"
|
|
67
|
+
>
|
|
68
|
+
<Icons size={12} icon={"PENCIL"} />
|
|
69
|
+
</TouchableOpacity>
|
|
70
|
+
</Box>
|
|
71
|
+
)}
|
|
72
|
+
</Box>
|
|
73
|
+
|
|
74
|
+
{/* Informações do usuário */}
|
|
75
|
+
<Typography
|
|
76
|
+
text={name}
|
|
77
|
+
size={theme.fontSizes.xl}
|
|
78
|
+
fontFamily={theme.fonts.inter_bold_700}
|
|
79
|
+
fontWeight={"700"}
|
|
80
|
+
lineHeight={theme.fontSizes["2xl"]}
|
|
81
|
+
color={theme.colors.black[100]}
|
|
82
|
+
/>
|
|
83
|
+
<Typography
|
|
84
|
+
text={email}
|
|
85
|
+
size={theme.fontSizes.xs}
|
|
86
|
+
fontFamily={theme.fonts.inter_regular_400}
|
|
87
|
+
fontWeight={"400"}
|
|
88
|
+
lineHeight={theme.fontSizes.sm}
|
|
89
|
+
color={theme.colors.gray[900]}
|
|
90
|
+
/>
|
|
91
|
+
</Box>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
export { AvatarProfile };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IMPORTS
|
|
3
|
+
*/
|
|
4
|
+
import { ViewProps } from "react-native";
|
|
5
|
+
|
|
6
|
+
// typing
|
|
7
|
+
import { IGlobalCss } from "../../styles/global/interface";
|
|
8
|
+
|
|
9
|
+
interface IAvatarProfile extends ViewProps, IGlobalCss {
|
|
10
|
+
/**
|
|
11
|
+
* Função que tira uma foto e editar.
|
|
12
|
+
*/
|
|
13
|
+
handleTakePicker?: () => void;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* foto do usuário.
|
|
17
|
+
*/
|
|
18
|
+
avatar: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* nome do usuário.
|
|
22
|
+
*/
|
|
23
|
+
name: string;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* email do usuário.
|
|
27
|
+
*/
|
|
28
|
+
email: string;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A propriedade para editar a foto do usuário.
|
|
32
|
+
*/
|
|
33
|
+
isEdit: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* EXPORTS
|
|
38
|
+
*/
|
|
39
|
+
export type { IAvatarProfile };
|