l-min-components 1.0.604 → 1.0.607
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/components/AdminRolesPermission/assets/images/shield_big.png +0 -0
- package/src/components/AdminRolesPermission/assets/svg/close-red.jsx +18 -0
- package/src/components/AdminRolesPermission/assets/svg/close.jsx +25 -0
- package/src/components/AdminRolesPermission/assets/svg/englishFlag.jsx +37 -0
- package/src/components/AdminRolesPermission/assets/svg/frenchFlag.jsx +40 -0
- package/src/components/AdminRolesPermission/assets/svg/germanFlag.jsx +31 -0
- package/src/components/AdminRolesPermission/assets/svg/list.jsx +30 -0
- package/src/components/AdminRolesPermission/assets/svg/pencil.jsx +25 -0
- package/src/components/AdminRolesPermission/assets/svg/portugalFlag.jsx +40 -0
- package/src/components/AdminRolesPermission/create/admins.jsx +38 -1
- package/src/components/AdminRolesPermission/create/data.js +279 -104
- package/src/components/AdminRolesPermission/create/index.styled.js +70 -1
- package/src/components/AdminRolesPermission/create/permissions.jsx +110 -4
- package/src/components/AdminRolesPermission/index.jsx +123 -2
- package/src/components/AdminRolesPermission/index.styled.js +192 -0
- package/src/components/AdminRolesPermission/modals/index.styled.js +126 -0
- package/src/components/AdminRolesPermission/modals/preview-modal.jsx +89 -0
- package/src/components/AdminRolesPermission/preview-panels/admins-panel.jsx +50 -0
- package/src/components/AdminRolesPermission/preview-panels/assignees-panel.jsx +62 -0
- package/src/components/AdminRolesPermission/preview-panels/index.styled.js +320 -0
- package/src/components/AdminRolesPermission/preview-panels/unassigned.jsx +37 -0
- package/src/components/AdminSecuritySettings/2fa/index.styled.js +0 -1
- package/src/components/AdminSecuritySettings/index.styled.js +1 -0
- package/src/components/AdminSecuritySettings/modals/otp-password-modal.jsx +0 -1
- package/src/components/AdminSecuritySettings/password/change-password.jsx +1 -0
|
@@ -3,10 +3,23 @@ import { AdminRolesAndPermissionContainer } from "./index.styled";
|
|
|
3
3
|
import { useNavigate } from "react-router-dom";
|
|
4
4
|
import ButtonComponent from "../button";
|
|
5
5
|
import photo from "./assets/images/roles_img.png";
|
|
6
|
+
import SearchBar from "../searchBar";
|
|
7
|
+
import { categoryList } from "./create/data";
|
|
8
|
+
import { MdDeleteOutline } from "react-icons/md";
|
|
9
|
+
import { PencilIcon } from "./assets/svg/pencil";
|
|
10
|
+
import Checkbox from "../checkBoxes/checkbox/index2";
|
|
11
|
+
import avatar from "./assets/images/avatar.png";
|
|
12
|
+
import PreviewModal from "./modals/preview-modal";
|
|
13
|
+
import AssigneesPanel from "./preview-panels/assignees-panel";
|
|
6
14
|
|
|
7
15
|
const AdminRolesAndPermission = () => {
|
|
8
16
|
const navigate = useNavigate();
|
|
9
|
-
|
|
17
|
+
const [deleteModal, setDeleteModal] = useState(false);
|
|
18
|
+
const [deleteAssigneeModal, setDeleteAssigneeModal] = useState(false);
|
|
19
|
+
const [assigneePanel, setAssigneePanel] = useState(false);
|
|
20
|
+
const handleChange = (newValue) => {
|
|
21
|
+
setChecked(newValue);
|
|
22
|
+
};
|
|
10
23
|
return (
|
|
11
24
|
<AdminRolesAndPermissionContainer>
|
|
12
25
|
<div className="arp_header">
|
|
@@ -16,7 +29,7 @@ const AdminRolesAndPermission = () => {
|
|
|
16
29
|
</p>
|
|
17
30
|
</div>
|
|
18
31
|
|
|
19
|
-
<div className="arp_main">
|
|
32
|
+
{/* <div className="arp_main">
|
|
20
33
|
<div className="arp_img">
|
|
21
34
|
<img src={photo} alt="" />
|
|
22
35
|
</div>
|
|
@@ -36,7 +49,115 @@ const AdminRolesAndPermission = () => {
|
|
|
36
49
|
e.preventDefault();
|
|
37
50
|
}}
|
|
38
51
|
/>
|
|
52
|
+
</div> */}
|
|
53
|
+
|
|
54
|
+
<div className="rll_main_body">
|
|
55
|
+
<div className="rll_main_header">
|
|
56
|
+
<SearchBar
|
|
57
|
+
placeholder="Search here"
|
|
58
|
+
outlineColor="transparent"
|
|
59
|
+
heightSize="44px"
|
|
60
|
+
widthSize="100%"
|
|
61
|
+
border="1px solid #ADB2B2"
|
|
62
|
+
// onSubmit={setSearch}
|
|
63
|
+
/>
|
|
64
|
+
|
|
65
|
+
<ButtonComponent
|
|
66
|
+
text={"Create New Role"}
|
|
67
|
+
styles={{ width: "200px", padding: 10, height: 43 }}
|
|
68
|
+
onClick={(e) => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
}}
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div className="rll_role_section">
|
|
75
|
+
<div className="rll_sl_header">
|
|
76
|
+
<div className="rll_sl_one">
|
|
77
|
+
{" "}
|
|
78
|
+
<Checkbox
|
|
79
|
+
label=""
|
|
80
|
+
color="#ff9900"
|
|
81
|
+
defaultValue={false}
|
|
82
|
+
onChange={handleChange}
|
|
83
|
+
className="adm_check"
|
|
84
|
+
/>
|
|
85
|
+
Role
|
|
86
|
+
</div>
|
|
87
|
+
<div className="rll_no_created">No of Permissions</div>
|
|
88
|
+
<div className="rll_sl_two">Assignees</div>
|
|
89
|
+
<div className="rll_sl_three">Action</div>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<div className="rll_sl_body">
|
|
93
|
+
{categoryList?.map((item, idx) => (
|
|
94
|
+
<div className="rll_sl_tr" key={idx} onClick={() => navigate("")}>
|
|
95
|
+
<div className="rll_content_title">
|
|
96
|
+
<div className="rll_img">
|
|
97
|
+
<Checkbox
|
|
98
|
+
label=""
|
|
99
|
+
color="#ff9900"
|
|
100
|
+
defaultValue={item.selection}
|
|
101
|
+
onChange={handleChange}
|
|
102
|
+
className="adm_check"
|
|
103
|
+
/>
|
|
104
|
+
</div>
|
|
105
|
+
{item?.name}
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div className="rll_nc_users"> {item?.permissions}</div>
|
|
109
|
+
|
|
110
|
+
<div className="rll_nc_assign">
|
|
111
|
+
<div className="rll_img_group">
|
|
112
|
+
<div className="rll_img">
|
|
113
|
+
<img src={avatar} alt="" />
|
|
114
|
+
</div>
|
|
115
|
+
<div className="rll_img">
|
|
116
|
+
<img src={avatar} alt="" />
|
|
117
|
+
</div>
|
|
118
|
+
<div className="rll_img">
|
|
119
|
+
<img src={avatar} alt="" />
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
<span> +24 Others</span>
|
|
123
|
+
</div>
|
|
124
|
+
|
|
125
|
+
<div className="rll_action">
|
|
126
|
+
<span className="">
|
|
127
|
+
<MdDeleteOutline
|
|
128
|
+
color="#F95454"
|
|
129
|
+
onClick={() => setDeleteModal(true)}
|
|
130
|
+
/>
|
|
131
|
+
</span>
|
|
132
|
+
<span className="">
|
|
133
|
+
<PencilIcon />
|
|
134
|
+
Edit
|
|
135
|
+
</span>
|
|
136
|
+
</div>
|
|
137
|
+
</div>
|
|
138
|
+
))}
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
39
141
|
</div>
|
|
142
|
+
|
|
143
|
+
<PreviewModal
|
|
144
|
+
isOpen={deleteModal}
|
|
145
|
+
onRequestClose={() => setDeleteModal(false)}
|
|
146
|
+
title={"Are you sure you want to delete “Manager” Role?"}
|
|
147
|
+
subTitle={"Deleting this role means there..."}
|
|
148
|
+
/>
|
|
149
|
+
<PreviewModal
|
|
150
|
+
isOpen={deleteAssigneeModal}
|
|
151
|
+
onRequestClose={() => setDeleteAssigneeModal(false)}
|
|
152
|
+
title={"Are you sure you want to remove Saul Hayes?"}
|
|
153
|
+
subTitle={<span>Admin will no longer have access to <br /> their account.</span>}
|
|
154
|
+
secondaryButtonText={"No"}
|
|
155
|
+
primaryButtonText={"Yes, Remove"}
|
|
156
|
+
/>
|
|
157
|
+
|
|
158
|
+
{assigneePanel && (
|
|
159
|
+
<AssigneesPanel close={() => setAssigneePanel(false)} />
|
|
160
|
+
)}
|
|
40
161
|
</AdminRolesAndPermissionContainer>
|
|
41
162
|
);
|
|
42
163
|
};
|
|
@@ -73,4 +73,196 @@ export const AdminRolesAndPermissionContainer = styled.div`
|
|
|
73
73
|
letter-spacing: 0.32px;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
|
|
77
|
+
.rll_main_header {
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: space-between;
|
|
81
|
+
margin-bottom: 16px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.rll_role_section {
|
|
85
|
+
.rll_sl_header {
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
justify-content: space-between;
|
|
89
|
+
padding: 8px 10px;
|
|
90
|
+
border-radius: 10px 10px 0px 0px;
|
|
91
|
+
border: 1px solid #b0dcdc;
|
|
92
|
+
background: rgba(58, 194, 194, 0.1);
|
|
93
|
+
color: #747682;
|
|
94
|
+
font-size: 16px;
|
|
95
|
+
font-weight: 600;
|
|
96
|
+
|
|
97
|
+
.rll_sl_one {
|
|
98
|
+
width: 30%;
|
|
99
|
+
position: relative;
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
gap: 8px;
|
|
103
|
+
|
|
104
|
+
.adm_check > span {
|
|
105
|
+
border-radius: 8px;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
span {
|
|
109
|
+
display: flex;
|
|
110
|
+
align-items: center;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.rll_no_created {
|
|
115
|
+
width: 20%;
|
|
116
|
+
position: relative;
|
|
117
|
+
|
|
118
|
+
&::before {
|
|
119
|
+
content: "";
|
|
120
|
+
height: 22px;
|
|
121
|
+
width: 2px;
|
|
122
|
+
border-radius: 10px;
|
|
123
|
+
position: absolute;
|
|
124
|
+
top: 0%;
|
|
125
|
+
left: -12px;
|
|
126
|
+
display: block;
|
|
127
|
+
background: #d9d9d9;
|
|
128
|
+
transform: translate(-50%);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.rll_sl_two {
|
|
133
|
+
width: 22%;
|
|
134
|
+
position: relative;
|
|
135
|
+
|
|
136
|
+
&::before {
|
|
137
|
+
content: "";
|
|
138
|
+
height: 22px;
|
|
139
|
+
width: 2px;
|
|
140
|
+
border-radius: 10px;
|
|
141
|
+
position: absolute;
|
|
142
|
+
top: 0%;
|
|
143
|
+
left: -12px;
|
|
144
|
+
display: block;
|
|
145
|
+
background: #d9d9d9;
|
|
146
|
+
transform: translate(-50%);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
.rll_sl_three {
|
|
150
|
+
width: 20%;
|
|
151
|
+
position: relative;
|
|
152
|
+
|
|
153
|
+
&::before {
|
|
154
|
+
content: "";
|
|
155
|
+
height: 22px;
|
|
156
|
+
width: 2px;
|
|
157
|
+
border-radius: 10px;
|
|
158
|
+
position: absolute;
|
|
159
|
+
top: 0%;
|
|
160
|
+
left: -12px;
|
|
161
|
+
display: block;
|
|
162
|
+
background: #d9d9d9;
|
|
163
|
+
transform: translate(-50%);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.rll_sl_body {
|
|
169
|
+
.rll_sl_tr {
|
|
170
|
+
display: flex;
|
|
171
|
+
padding: 12px 10px;
|
|
172
|
+
border-bottom: 1px solid #d2c8c8;
|
|
173
|
+
justify-content: space-between;
|
|
174
|
+
align-items: center;
|
|
175
|
+
|
|
176
|
+
.rll_content_title {
|
|
177
|
+
display: flex;
|
|
178
|
+
align-items: center;
|
|
179
|
+
gap: 10px;
|
|
180
|
+
color: #03091d;
|
|
181
|
+
font-size: 16px;
|
|
182
|
+
font-weight: 600;
|
|
183
|
+
width: 30%;
|
|
184
|
+
|
|
185
|
+
.rll_img {
|
|
186
|
+
width: 25px;
|
|
187
|
+
display: flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
margin-right: 8px;
|
|
190
|
+
.adm_check > span {
|
|
191
|
+
border-radius: 8px;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
.rll_nc_users {
|
|
197
|
+
width: 20%;
|
|
198
|
+
color: #313333;
|
|
199
|
+
font-size: 16px;
|
|
200
|
+
font-weight: 400;
|
|
201
|
+
}
|
|
202
|
+
.rll_nc_assign {
|
|
203
|
+
width: 22%;
|
|
204
|
+
color: #00c2c2;
|
|
205
|
+
font-size: 16px;
|
|
206
|
+
font-weight: 600;
|
|
207
|
+
display: flex;
|
|
208
|
+
align-items: center;
|
|
209
|
+
gap: 15px;
|
|
210
|
+
|
|
211
|
+
span {
|
|
212
|
+
cursor: pointer;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.rll_img_group {
|
|
216
|
+
position: relative;
|
|
217
|
+
display: flex;
|
|
218
|
+
align-items: center;
|
|
219
|
+
max-width: 90px;
|
|
220
|
+
width: 100%;
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
|
|
223
|
+
.rll_img {
|
|
224
|
+
width: 38px;
|
|
225
|
+
height: 38px;
|
|
226
|
+
border-radius: 100%;
|
|
227
|
+
border: 1px solid #c6cccc;
|
|
228
|
+
background: #c6cccc;
|
|
229
|
+
|
|
230
|
+
&:nth-child(2) {
|
|
231
|
+
position: absolute;
|
|
232
|
+
left: 26px;
|
|
233
|
+
}
|
|
234
|
+
&:nth-child(3) {
|
|
235
|
+
position: absolute;
|
|
236
|
+
left: 53px;
|
|
237
|
+
}
|
|
238
|
+
img {
|
|
239
|
+
width: 100%;
|
|
240
|
+
border-radius: 100%;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.rll_action {
|
|
247
|
+
width: 20%;
|
|
248
|
+
color: #00c2c2;
|
|
249
|
+
font-size: 16px;
|
|
250
|
+
font-weight: 600;
|
|
251
|
+
display: flex;
|
|
252
|
+
gap: 50px;
|
|
253
|
+
svg {
|
|
254
|
+
width: 24px;
|
|
255
|
+
height: 24px;
|
|
256
|
+
}
|
|
257
|
+
span {
|
|
258
|
+
display: flex;
|
|
259
|
+
align-items: center;
|
|
260
|
+
gap: 4px;
|
|
261
|
+
cursor: pointer;
|
|
262
|
+
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
76
268
|
`;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
|
|
3
|
+
export const CancelModalContainer = styled.div`
|
|
4
|
+
.success_modal {
|
|
5
|
+
> div > div > div > div > div > div {
|
|
6
|
+
background-color: red;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
export const ModalCardContainer = styled.div`
|
|
12
|
+
/* padding: 25px; */
|
|
13
|
+
font-family: "Nunito";
|
|
14
|
+
width: 100%;
|
|
15
|
+
max-width: 720px;
|
|
16
|
+
`;
|
|
17
|
+
|
|
18
|
+
export const SuccessModal = styled.div`
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
align-items: center;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
border-radius: 34.504px;
|
|
24
|
+
border: 1px solid var(--Neutral-20, #dfe5e5);
|
|
25
|
+
background: var(--white, #fff);
|
|
26
|
+
gap: 40px;
|
|
27
|
+
padding: 30px;
|
|
28
|
+
text-align: center;
|
|
29
|
+
width: 458.463px;
|
|
30
|
+
height: 509.982px;
|
|
31
|
+
h2 {
|
|
32
|
+
color: var(--Neutral-90, #313333);
|
|
33
|
+
text-align: center;
|
|
34
|
+
font-family: Nunito;
|
|
35
|
+
font-size: 22px;
|
|
36
|
+
font-style: normal;
|
|
37
|
+
font-weight: 700;
|
|
38
|
+
line-height: 130%; /* 28.6px */
|
|
39
|
+
letter-spacing: 0.44px;
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
|
|
43
|
+
export const CloseModalButton = styled.div`
|
|
44
|
+
background-color: rgba(255, 255, 255, 1);
|
|
45
|
+
width: 40px;
|
|
46
|
+
height: 40px;
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
padding: 10px;
|
|
51
|
+
font-family: "Nunito";
|
|
52
|
+
border-radius: 50%;
|
|
53
|
+
margin-bottom: 8px;
|
|
54
|
+
margin-left: auto;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
`;
|
|
57
|
+
|
|
58
|
+
export const CardContainer = styled.div`
|
|
59
|
+
background-color: rgba(255, 255, 255, 1);
|
|
60
|
+
padding: 25px;
|
|
61
|
+
font-family: "Nunito";
|
|
62
|
+
width: 100%;
|
|
63
|
+
max-width: 700px;
|
|
64
|
+
border-radius: 30px;
|
|
65
|
+
`;
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
export const CardBody = styled.div`
|
|
69
|
+
width: 100%;
|
|
70
|
+
/* display: flex; */
|
|
71
|
+
margin: 20px auto 10px;
|
|
72
|
+
text-align: center;
|
|
73
|
+
|
|
74
|
+
.ssm_img {
|
|
75
|
+
max-width: 112px;
|
|
76
|
+
width: 100%;
|
|
77
|
+
margin: 0 auto 40px;
|
|
78
|
+
img {
|
|
79
|
+
width: 100%;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
.ssm_img_opt {
|
|
83
|
+
max-width: 69px;
|
|
84
|
+
width: 100%;
|
|
85
|
+
margin: 0 auto 25px;
|
|
86
|
+
img {
|
|
87
|
+
width: 100%;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.ssm_txt {
|
|
92
|
+
color: #313333;
|
|
93
|
+
text-align: center;
|
|
94
|
+
font-size: 22px;
|
|
95
|
+
font-style: normal;
|
|
96
|
+
font-weight: 700;
|
|
97
|
+
letter-spacing: 0.44px;
|
|
98
|
+
}
|
|
99
|
+
.ssm_txt_opt {
|
|
100
|
+
color: #313333;
|
|
101
|
+
text-align: center;
|
|
102
|
+
font-size: 18px;
|
|
103
|
+
font-weight: 700;
|
|
104
|
+
letter-spacing: 0.36px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.ssm_sub_txt {
|
|
108
|
+
color: #4a4d4d;
|
|
109
|
+
text-align: center;
|
|
110
|
+
font-size: 16px;
|
|
111
|
+
font-weight: 400;
|
|
112
|
+
letter-spacing: 0.32px;
|
|
113
|
+
margin-top: 12px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.btn__footer {
|
|
117
|
+
display: flex;
|
|
118
|
+
margin-top: 40px;
|
|
119
|
+
justify-content: center;
|
|
120
|
+
|
|
121
|
+
button {
|
|
122
|
+
width: 195px;
|
|
123
|
+
margin: 0 20px;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
`;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import {
|
|
3
|
+
CardContainer,
|
|
4
|
+
CardBody,
|
|
5
|
+
ModalCardContainer,
|
|
6
|
+
CloseModalButton,
|
|
7
|
+
} from "./index.styled";
|
|
8
|
+
import { IoMdClose } from "react-icons/io";
|
|
9
|
+
import Modal from "react-modal";
|
|
10
|
+
import ButtonComponent from "../../button";
|
|
11
|
+
import img from "../assets/images/shield_big.png";
|
|
12
|
+
|
|
13
|
+
const PreviewModal = (props) => {
|
|
14
|
+
const modalCustomStyles = {
|
|
15
|
+
overlay: {
|
|
16
|
+
position: "fixed",
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
right: 0,
|
|
20
|
+
bottom: 0,
|
|
21
|
+
backgroundColor: "rgba(0, 0, 0, 0.5)",
|
|
22
|
+
zIndex: 9999999999,
|
|
23
|
+
transition: "opacity 2000ms ease-in-out",
|
|
24
|
+
},
|
|
25
|
+
content: {
|
|
26
|
+
position: "absolute",
|
|
27
|
+
overflow: "auto",
|
|
28
|
+
WebkitOverflowScrolling: "scroll",
|
|
29
|
+
outline: "none",
|
|
30
|
+
top: "50%",
|
|
31
|
+
left: "50%",
|
|
32
|
+
right: "auto",
|
|
33
|
+
bottom: "auto",
|
|
34
|
+
marginRight: "-50%",
|
|
35
|
+
transform: "translate(-50%, -50%)",
|
|
36
|
+
borderRadius: "30px",
|
|
37
|
+
border: "none",
|
|
38
|
+
zIndex: 333333333,
|
|
39
|
+
background: "transparent",
|
|
40
|
+
width: "422px",
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
return (
|
|
45
|
+
<Modal
|
|
46
|
+
isOpen={props.isOpen}
|
|
47
|
+
onRequestClose={props.onRequestClose}
|
|
48
|
+
style={modalCustomStyles}
|
|
49
|
+
closeTimeoutMS={0}
|
|
50
|
+
ariaHideApp={false}
|
|
51
|
+
contentLabel="Selected Option"
|
|
52
|
+
>
|
|
53
|
+
<ModalCardContainer>
|
|
54
|
+
<CloseModalButton onClick={props.onRequestClose}>
|
|
55
|
+
<IoMdClose />
|
|
56
|
+
</CloseModalButton>
|
|
57
|
+
<CardContainer>
|
|
58
|
+
<CardBody>
|
|
59
|
+
<div className="ssm_img_opt">
|
|
60
|
+
<img src={img} alt="" />
|
|
61
|
+
</div>
|
|
62
|
+
<p className="ssm_txt_opt">{props.title}</p>
|
|
63
|
+
<p className="ssm_sub_txt">{props.subTitle}</p>
|
|
64
|
+
<div className="btn__footer">
|
|
65
|
+
<ButtonComponent
|
|
66
|
+
text={props.secondaryButtonText || "No, Cancel"}
|
|
67
|
+
type="secondary"
|
|
68
|
+
styles={{ width: "150px", margin: 0, padding: 10, height: 40 }}
|
|
69
|
+
onClick={props.onRequestClose}
|
|
70
|
+
/>
|
|
71
|
+
<ButtonComponent
|
|
72
|
+
text={props.primaryButtonText || "Yes, Add"}
|
|
73
|
+
styles={{
|
|
74
|
+
width: "150px",
|
|
75
|
+
marginLeft: 12,
|
|
76
|
+
padding: 10,
|
|
77
|
+
height: 40,
|
|
78
|
+
}}
|
|
79
|
+
onClick={props.nextOpen}
|
|
80
|
+
/>
|
|
81
|
+
</div>
|
|
82
|
+
</CardBody>
|
|
83
|
+
</CardContainer>
|
|
84
|
+
</ModalCardContainer>
|
|
85
|
+
</Modal>
|
|
86
|
+
);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export default PreviewModal;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { PreviewPanelContainer } from "./index.styled";
|
|
3
|
+
import { CloseIcon } from "../assets/svg/close";
|
|
4
|
+
import { adminPanelList } from "../create/data";
|
|
5
|
+
import { CloseRedIcon } from "../assets/svg/close-red";
|
|
6
|
+
|
|
7
|
+
const PreviewAdminsPanel = ({ close }) => {
|
|
8
|
+
return (
|
|
9
|
+
<PreviewPanelContainer>
|
|
10
|
+
<div className="adp_main_content">
|
|
11
|
+
<div className="adp_header">
|
|
12
|
+
<p className="adp_header_title"> Admins</p>
|
|
13
|
+
|
|
14
|
+
<span className="close_icon" onClick={close}>
|
|
15
|
+
<CloseIcon />
|
|
16
|
+
</span>
|
|
17
|
+
</div>
|
|
18
|
+
<p className="adp_subtitle">
|
|
19
|
+
Add admins to this role and have them access specific <br />
|
|
20
|
+
permissions.
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<div className="adp_body">
|
|
24
|
+
{adminPanelList?.map((item, idx) => (
|
|
25
|
+
<div className="adp_list_row" key={idx}>
|
|
26
|
+
<div className="adp_wrapper">
|
|
27
|
+
<div className="adp_img">
|
|
28
|
+
<img src={item?.image} alt="" />
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
<p className="adp_title">{item?.name}</p>
|
|
33
|
+
<p className="adp_stat">
|
|
34
|
+
<span> </span>
|
|
35
|
+
{item?.status}
|
|
36
|
+
</p>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<span className="close_icon" onClick={close}>
|
|
40
|
+
<CloseRedIcon />
|
|
41
|
+
</span>
|
|
42
|
+
</div>
|
|
43
|
+
))}
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</PreviewPanelContainer>
|
|
47
|
+
);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export default PreviewAdminsPanel;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { PreviewPanelContainer } from "./index.styled";
|
|
3
|
+
import { CloseIcon } from "../assets/svg/close";
|
|
4
|
+
import { assigneeList } from "../create/data";
|
|
5
|
+
import { CloseRedIcon } from "../assets/svg/close-red";
|
|
6
|
+
import SearchBar from "../../searchBar";
|
|
7
|
+
|
|
8
|
+
const AssigneesPanel = ({ close }) => {
|
|
9
|
+
return (
|
|
10
|
+
<PreviewPanelContainer>
|
|
11
|
+
<div className="asp_main_content">
|
|
12
|
+
<div className="asp_header">
|
|
13
|
+
<p className="asp_header_title"> Assignees </p>
|
|
14
|
+
|
|
15
|
+
<span className="close_icon" onClick={close}>
|
|
16
|
+
<CloseIcon fill={"#323232"} />
|
|
17
|
+
</span>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<div className="asp_body">
|
|
21
|
+
<SearchBar
|
|
22
|
+
placeholder="Search here"
|
|
23
|
+
outlineColor="transparent"
|
|
24
|
+
heightSize="44px"
|
|
25
|
+
widthSize="100%"
|
|
26
|
+
border="1px solid #ADB2B2"
|
|
27
|
+
// onSubmit={setSearch}
|
|
28
|
+
/>
|
|
29
|
+
|
|
30
|
+
<div className="asp_inner">
|
|
31
|
+
{assigneeList?.map((item, idx) => (
|
|
32
|
+
<div className="asp_list_row" key={idx}>
|
|
33
|
+
<div className="asp_wrapper">
|
|
34
|
+
<div className="asp_img">
|
|
35
|
+
<img src={item?.image} alt="" />
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div>
|
|
39
|
+
<p className="asp_title">{item?.name}</p>
|
|
40
|
+
<p className="asp_stat">
|
|
41
|
+
{item?.email}
|
|
42
|
+
</p>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div className="asp_assigned">
|
|
47
|
+
<p className="ass_txt"> Assigned on:</p>
|
|
48
|
+
<p className="ass_subtxt"> {item?.date} </p>
|
|
49
|
+
</div>
|
|
50
|
+
<span className="close_icon" onClick={close}>
|
|
51
|
+
<CloseRedIcon />
|
|
52
|
+
</span>
|
|
53
|
+
</div>
|
|
54
|
+
))}
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</PreviewPanelContainer>
|
|
59
|
+
);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export default AssigneesPanel;
|