-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRequesterContent.tsx
More file actions
108 lines (103 loc) · 2.99 KB
/
RequesterContent.tsx
File metadata and controls
108 lines (103 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import { Fragment } from 'react';
import { UserNestedDetail } from 'api/models';
import LinkButton from 'components/LinkButton/LinkButton';
import User from 'components/User/User';
import { ButtonGroup } from 'primereact/buttongroup';
import { Chip } from 'primereact/chip';
import { Tag } from 'primereact/tag';
import { Tooltip } from 'primereact/tooltip';
import { href } from 'react-router';
import { RequestAdditionalDataType } from 'types/additionalDataTypes';
type RequesterContentProps = {
additionalData: RequestAdditionalDataType;
requester: UserNestedDetail;
};
type RequesterContentButtonsProps = {
requestTitle: string;
requester: UserNestedDetail;
};
export const RequesterContent = ({
additionalData,
requester,
}: RequesterContentProps) => {
return (
<div>
<div className="align-items-center flex">
<User
className="mr-2"
imageUrl={requester.avatar_url}
name={requester.full_name}
/>
<Fragment>
<Tooltip
className="text-xs"
position="top"
target=".requester-different-data-tag"
/>
{additionalData.requester && (
<Tag
className="requester-different-data-tag"
data-pr-tooltip={`Név: ${additionalData.requester.last_name} ${additionalData.requester.first_name}
Telefonszám: ${additionalData.requester.phone_number}`}
icon="pi pi-exclamation-triangle"
severity="warning"
value="Eltérő adatok"
/>
)}
</Fragment>
</div>
<div className="align-items-center flex flex-wrap">
<Chip
className="mt-1 mr-2"
icon="pi pi-phone"
label={requester.phone_number}
/>
<Chip className="mt-1" icon="pi pi-envelope" label={requester.email} />
</div>
</div>
);
};
export const RequesterContentButtons = ({
requestTitle,
requester,
}: RequesterContentButtonsProps) => {
return (
<ButtonGroup
pt={{
root: {
className: 'flex flex-no-wrap justify-content-end sm:flex-wrap',
},
}}
>
<LinkButton
buttonProps={{
className: 'p-button-sm p-button-text pl-1 pr-2 py-0',
icon: 'pi pi-phone',
label: 'Hívás',
}}
linkProps={{ to: `tel:${requester.phone_number}` }}
/>
<LinkButton
buttonProps={{
className:
'p-button-sm p-button-text pl-2 pr-2 py-0 white-space-nowrap',
icon: 'pi pi-envelope',
label: 'E-mail',
}}
linkProps={{
to: `mailto:${requester.email}?subject=${requestTitle}`,
}}
/>
<LinkButton
buttonProps={{
className: 'p-button-sm p-button-text pl-2 pr-1 py-0',
icon: 'pi pi-user',
label: 'Profil',
}}
linkProps={{
to: href('/users/:userId', { userId: requester.id.toString() }),
}}
/>
</ButtonGroup>
);
};