@messenger-box/platform-browser 10.0.3-alpha.7 → 10.0.3-alpha.74
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/CHANGELOG.md +100 -0
- package/lib/components/InboxMessage/InboxDetails/index.d.ts +6 -1
- package/lib/components/InboxMessage/InboxDetails/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/InboxDetails/index.js +10 -11
- package/lib/components/InboxMessage/InboxDetails/index.js.map +1 -1
- package/lib/components/InboxMessage/InboxSidebar/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/InboxSidebar/index.js +23 -32
- package/lib/components/InboxMessage/InboxSidebar/index.js.map +1 -1
- package/lib/components/InboxMessage/Messages/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/Messages/index.js +42 -81
- package/lib/components/InboxMessage/Messages/index.js.map +1 -1
- package/lib/components/InboxMessage/MessagesList/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/MessagesList/index.js +53 -74
- package/lib/components/InboxMessage/MessagesList/index.js.map +1 -1
- package/lib/components/InboxMessage/Popover/index.d.ts +5 -1
- package/lib/components/InboxMessage/Popover/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/Popover/index.js +8 -35
- package/lib/components/InboxMessage/Popover/index.js.map +1 -1
- package/lib/components/InboxMessage/UserModalContent/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/UserModalContent/index.js +50 -47
- package/lib/components/InboxMessage/UserModalContent/index.js.map +1 -1
- package/lib/components/InboxMessage/index.d.ts.map +1 -1
- package/lib/components/InboxMessage/index.js +38 -70
- package/lib/components/InboxMessage/index.js.map +1 -1
- package/lib/components/dashboard/menu_header.d.ts.map +1 -1
- package/lib/components/dashboard/menu_header.js +38 -24
- package/lib/components/dashboard/menu_header.js.map +1 -1
- package/lib/components/dashboard/modals/direct_modal.d.ts +10 -8
- package/lib/components/dashboard/modals/direct_modal.d.ts.map +1 -1
- package/lib/components/dashboard/modals/direct_modal.js +59 -39
- package/lib/components/dashboard/modals/direct_modal.js.map +1 -1
- package/lib/components/dashboard/modals.d.ts +18 -6
- package/lib/components/dashboard/modals.d.ts.map +1 -1
- package/lib/components/dashboard/modals.js +60 -101
- package/lib/components/dashboard/modals.js.map +1 -1
- package/lib/components/messenger/avatar/index.d.ts.map +1 -1
- package/lib/components/messenger/index.d.ts.map +1 -1
- package/lib/components/messenger/index.js +45 -82
- package/lib/components/messenger/index.js.map +1 -1
- package/lib/components/messenger/messagesList/index.d.ts.map +1 -1
- package/lib/components/messenger/messagesList/index.js +174 -454
- package/lib/components/messenger/messagesList/index.js.map +1 -1
- package/lib/components/messenger/messagesList/messageBox.d.ts +0 -1
- package/lib/components/messenger/messagesList/messageBox.d.ts.map +1 -1
- package/lib/components/messenger/more_action/index.d.ts.map +1 -1
- package/lib/components/messenger/postMessage/postMessage.d.ts +7 -2
- package/lib/components/messenger/postMessage/postMessage.d.ts.map +1 -1
- package/lib/components/messenger/sidebarThreadList/index.d.ts.map +1 -1
- package/lib/components/messenger/threadSidebar/index.d.ts.map +1 -1
- package/lib/components/messenger/types/message.d.ts +11 -11
- package/lib/components/messenger/types/message.d.ts.map +1 -1
- package/lib/components/post/create_post/create_post.d.ts +10 -1
- package/lib/components/post/create_post/create_post.d.ts.map +1 -1
- package/lib/components/post/index.d.ts +5 -3
- package/lib/components/post/index.d.ts.map +1 -1
- package/lib/components/post/index.js +63 -97
- package/lib/components/post/index.js.map +1 -1
- package/lib/components/post/post_header/post_header_custom_status.d.ts.map +1 -1
- package/lib/compute.d.ts.map +1 -1
- package/lib/compute.js +1 -1
- package/lib/compute.js.map +1 -1
- package/lib/containers/Dashboard.d.ts.map +1 -1
- package/lib/containers/Dashboard.js +110 -124
- package/lib/containers/Dashboard.js.map +1 -1
- package/lib/containers/DashboardWithLoader.d.ts.map +1 -1
- package/lib/containers/DashboardWithLoader.js +10 -3
- package/lib/containers/DashboardWithLoader.js.map +1 -1
- package/package.json +5 -5
- package/src/components/InboxMessage/InboxDetails/index.tsx +13 -15
- package/src/components/InboxMessage/InboxSidebar/index.tsx +23 -33
- package/src/components/InboxMessage/Messages/index.tsx +58 -97
- package/src/components/InboxMessage/MessagesList/index.tsx +71 -82
- package/src/components/InboxMessage/Popover/index.tsx +14 -38
- package/src/components/InboxMessage/UserModalContent/index.tsx +41 -44
- package/src/components/InboxMessage/index.tsx +53 -68
- package/src/components/dashboard/menu_header.tsx +52 -45
- package/src/components/dashboard/modals/direct_modal.tsx +73 -40
- package/src/components/dashboard/modals.tsx +114 -105
- package/src/components/messenger/avatar/index.tsx +27 -13
- package/src/components/messenger/index.tsx +126 -161
- package/src/components/messenger/messagesList/index.tsx +288 -572
- package/src/components/messenger/messagesList/messageBox.tsx +45 -34
- package/src/components/messenger/more_action/index.tsx +16 -10
- package/src/components/messenger/postMessage/postMessage.tsx +28 -16
- package/src/components/messenger/sidebarThreadList/index.tsx +52 -178
- package/src/components/messenger/threadSidebar/index.tsx +88 -75
- package/src/components/messenger/types/message.ts +12 -11
- package/src/components/post/channel_view/channel_view.tsx +2 -2
- package/src/components/post/create_post/create_post.tsx +104 -195
- package/src/components/post/index.tsx +78 -99
- package/src/components/post/post_header/post_header_custom_status.tsx +7 -6
- package/src/components/post/post_header/style.ts +51 -51
- package/src/compute.ts +8 -8
- package/src/containers/Dashboard.tsx +170 -213
- package/src/containers/DashboardWithLoader.tsx +13 -5
- package/lib/components/InboxMessage/InboxDetails/style.d.ts +0 -2
- package/lib/components/InboxMessage/InboxDetails/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/InboxDetails/style.js +0 -27
- package/lib/components/InboxMessage/InboxDetails/style.js.map +0 -1
- package/lib/components/InboxMessage/InboxSidebar/styles.d.ts +0 -2
- package/lib/components/InboxMessage/InboxSidebar/styles.d.ts.map +0 -1
- package/lib/components/InboxMessage/InboxSidebar/styles.js +0 -57
- package/lib/components/InboxMessage/InboxSidebar/styles.js.map +0 -1
- package/lib/components/InboxMessage/Messages/styles.d.ts +0 -81
- package/lib/components/InboxMessage/Messages/styles.d.ts.map +0 -1
- package/lib/components/InboxMessage/Messages/styles.js +0 -85
- package/lib/components/InboxMessage/Messages/styles.js.map +0 -1
- package/lib/components/InboxMessage/Popover/style.d.ts +0 -28
- package/lib/components/InboxMessage/Popover/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/Popover/style.js +0 -27
- package/lib/components/InboxMessage/Popover/style.js.map +0 -1
- package/lib/components/InboxMessage/UserModalContent/style.d.ts +0 -2
- package/lib/components/InboxMessage/UserModalContent/style.d.ts.map +0 -1
- package/lib/components/InboxMessage/UserModalContent/style.js +0 -98
- package/lib/components/InboxMessage/UserModalContent/style.js.map +0 -1
- package/lib/components/InboxMessage/style.js +0 -189
- package/lib/components/InboxMessage/style.js.map +0 -1
- package/lib/components/messenger/avatar/style.d.ts +0 -2
- package/lib/components/messenger/avatar/style.d.ts.map +0 -1
- package/lib/components/messenger/messagesList/style.js +0 -446
- package/lib/components/messenger/messagesList/style.js.map +0 -1
- package/lib/components/messenger/more_action/index.js +0 -48
- package/lib/components/messenger/more_action/index.js.map +0 -1
- package/lib/components/messenger/more_action/style.d.ts +0 -2
- package/lib/components/messenger/more_action/style.d.ts.map +0 -1
- package/lib/components/messenger/more_action/style.js +0 -45
- package/lib/components/messenger/more_action/style.js.map +0 -1
- package/lib/components/post/style.js +0 -20101
- package/lib/components/post/style.js.map +0 -1
- package/lib/style.js +0 -400
- package/lib/style.js.map +0 -1
- package/src/components/InboxMessage/InboxDetails/style.ts +0 -27
- package/src/components/InboxMessage/InboxSidebar/styles.ts +0 -57
- package/src/components/InboxMessage/Messages/styles.ts +0 -85
- package/src/components/InboxMessage/Popover/style.ts +0 -27
- package/src/components/InboxMessage/UserModalContent/style.ts +0 -98
- package/src/components/messenger/avatar/style.ts +0 -86
- package/src/components/messenger/more_action/style.ts +0 -45
|
@@ -3,23 +3,20 @@ import { useSelector } from 'react-redux';
|
|
|
3
3
|
import { Modal } from 'react-bootstrap';
|
|
4
4
|
import Select from 'react-select';
|
|
5
5
|
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import { VscChromeClose } from 'react-icons/vsc';
|
|
7
|
-
import { AiOutlineMenu } from 'react-icons/ai';
|
|
6
|
+
import { VscChromeClose } from '@react-icons/all-files/vsc/VscChromeClose';
|
|
7
|
+
import { AiOutlineMenu } from '@react-icons/all-files/ai/AiOutlineMenu';
|
|
8
8
|
import { indexOf } from 'lodash-es';
|
|
9
|
-
import { Button, Avatar, Text } from '@chakra-ui/react';
|
|
10
|
-
import { css } from '@emotion/css';
|
|
11
9
|
import {
|
|
12
10
|
useGetAllUsersQuery,
|
|
13
11
|
useGetMessagesQuery,
|
|
14
12
|
useAddDirectChannelMutation,
|
|
15
13
|
useGetChannelsByUserQuery,
|
|
16
14
|
useGetAllChannelQuery,
|
|
17
|
-
} from 'common/
|
|
15
|
+
} from 'common/graphql';
|
|
18
16
|
import Messages from './Messages';
|
|
19
17
|
import PopoverComponent from './Popover';
|
|
20
18
|
import InboxDetails from './InboxDetails';
|
|
21
19
|
import InboxSidebar from './InboxSidebar';
|
|
22
|
-
import { stylesheet } from './style';
|
|
23
20
|
|
|
24
21
|
export default function InboxMessage() {
|
|
25
22
|
const [id, setId] = useState<number>();
|
|
@@ -77,8 +74,6 @@ export default function InboxMessage() {
|
|
|
77
74
|
]);
|
|
78
75
|
}
|
|
79
76
|
}, [loading, channelData, currentUserId]);
|
|
80
|
-
// console.log(allChannels)
|
|
81
|
-
console.log(channel);
|
|
82
77
|
|
|
83
78
|
const handleSelectMessgae = (item: any) => {
|
|
84
79
|
setShowMessageSide(true);
|
|
@@ -99,9 +94,9 @@ export default function InboxMessage() {
|
|
|
99
94
|
tempOpt.push({
|
|
100
95
|
value: { username: `${i.username}`, uid: `${i.id}` },
|
|
101
96
|
label: (
|
|
102
|
-
<div
|
|
103
|
-
<
|
|
104
|
-
<
|
|
97
|
+
<div className="flex items-center cursor-pointer">
|
|
98
|
+
<div className="w-10 h-10 bg-gray-400 rounded-full"></div>
|
|
99
|
+
<span className="ml-2 text-black">{i.username}</span>
|
|
105
100
|
</div>
|
|
106
101
|
),
|
|
107
102
|
});
|
|
@@ -113,7 +108,7 @@ export default function InboxMessage() {
|
|
|
113
108
|
});
|
|
114
109
|
}
|
|
115
110
|
}, [usersRes.loading, usersRes.data]);
|
|
116
|
-
|
|
111
|
+
|
|
117
112
|
useEffect(() => {
|
|
118
113
|
if (!loading) {
|
|
119
114
|
setMessageList(data.messages.data);
|
|
@@ -140,7 +135,6 @@ export default function InboxMessage() {
|
|
|
140
135
|
if (selectedValues) {
|
|
141
136
|
let uids = [];
|
|
142
137
|
let dName = '';
|
|
143
|
-
console.log(selectedChannel?.value);
|
|
144
138
|
if (selectedValues.length > 1) {
|
|
145
139
|
selectedValues.forEach((i) => {
|
|
146
140
|
uids.push(i.value.uid);
|
|
@@ -179,24 +173,24 @@ export default function InboxMessage() {
|
|
|
179
173
|
}
|
|
180
174
|
};
|
|
181
175
|
return (
|
|
182
|
-
<div className=
|
|
183
|
-
<div
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
176
|
+
<div className="flex w-full h-[75vh] bg-white">
|
|
177
|
+
<div
|
|
178
|
+
className={`${
|
|
179
|
+
toggleDrawer ? 'w-1/5' : 'w-1/4'
|
|
180
|
+
} h-full flex flex-col justify-between border-r border-gray-200`}
|
|
181
|
+
>
|
|
182
|
+
<div className="w-full">
|
|
183
|
+
<div className="mb-5 pb-2 border-b border-gray-200 h-14">
|
|
184
|
+
<div className="flex items-center justify-between p-2.5">
|
|
185
|
+
<h3 className="ml-4 mt-4 text-black font-bold text-base">
|
|
186
|
+
{t('messenger_box_browser.messages')}
|
|
187
|
+
</h3>
|
|
188
|
+
<button
|
|
189
|
+
onClick={() => setShowPopover(!showPopover)}
|
|
190
|
+
className="w-7 h-7 rounded-full hover:bg-gray-200 flex items-center justify-center"
|
|
197
191
|
>
|
|
198
|
-
<AiOutlineMenu
|
|
199
|
-
</
|
|
192
|
+
<AiOutlineMenu className="text-xl text-black" />
|
|
193
|
+
</button>
|
|
200
194
|
{showPopover ? <PopoverComponent toggleDrawer={toggleDrawer} /> : ''}
|
|
201
195
|
</div>
|
|
202
196
|
</div>
|
|
@@ -209,30 +203,22 @@ export default function InboxMessage() {
|
|
|
209
203
|
users={user}
|
|
210
204
|
/>
|
|
211
205
|
</div>
|
|
212
|
-
<div className="
|
|
206
|
+
<div className="p-5 w-full border-t border-gray-200">
|
|
213
207
|
<Modal show={showModal} onHide={handleClose}>
|
|
214
|
-
<Modal.Header
|
|
215
|
-
style={{
|
|
216
|
-
backgroundColor: '#2b5ebf',
|
|
217
|
-
color: 'white',
|
|
218
|
-
display: 'flex',
|
|
219
|
-
alignItems: 'center',
|
|
220
|
-
}}
|
|
221
|
-
>
|
|
208
|
+
<Modal.Header className="bg-[#2b5ebf] text-white flex items-center">
|
|
222
209
|
<Modal.Title>{t('messenger_box_browser.add_conversations')}</Modal.Title>
|
|
223
210
|
<VscChromeClose
|
|
224
211
|
onClick={() => handleClose()}
|
|
225
|
-
|
|
226
|
-
style={{ marginLeft: 'auto', cursor: 'pointer' }}
|
|
212
|
+
className="ml-auto text-base cursor-pointer"
|
|
227
213
|
/>
|
|
228
214
|
</Modal.Header>
|
|
229
215
|
<Modal.Body>
|
|
230
|
-
<div className=
|
|
231
|
-
<div className="
|
|
232
|
-
<div className="
|
|
233
|
-
<div className="
|
|
216
|
+
<div className="flex flex-col h-[calc(90vh-120px)] w-full overflow-x-hidden p-0 py-4 max-h-[calc(90vh-80px)] overflow-auto">
|
|
217
|
+
<div className="flex flex-col h-[calc(90vh-120px)] w-full">
|
|
218
|
+
<div className="my-1.5 w-full">
|
|
219
|
+
<div className="flex">
|
|
234
220
|
<Select
|
|
235
|
-
className="
|
|
221
|
+
className="w-full"
|
|
236
222
|
value={selectedValues?.value}
|
|
237
223
|
onChange={handleSelect}
|
|
238
224
|
components={{
|
|
@@ -244,10 +230,15 @@ export default function InboxMessage() {
|
|
|
244
230
|
isMulti={true}
|
|
245
231
|
menuIsOpen={true}
|
|
246
232
|
/>
|
|
247
|
-
<button
|
|
233
|
+
<button
|
|
234
|
+
onClick={handleGo}
|
|
235
|
+
className="max-w-[70px] w-full ml-4 bg-[#166de0] text-white border-none"
|
|
236
|
+
>
|
|
237
|
+
Go
|
|
238
|
+
</button>
|
|
248
239
|
</div>
|
|
249
|
-
<div className="
|
|
250
|
-
<p>
|
|
240
|
+
<div className="mt-2.5">
|
|
241
|
+
<p className="text-[#3d3c40] opacity-60 text-sm">
|
|
251
242
|
{t('messenger_box_browser.use_browse_or_select')}
|
|
252
243
|
<span> </span>
|
|
253
244
|
</p>
|
|
@@ -257,31 +248,25 @@ export default function InboxMessage() {
|
|
|
257
248
|
</div>
|
|
258
249
|
</Modal.Body>
|
|
259
250
|
</Modal>
|
|
260
|
-
<
|
|
261
|
-
size="large"
|
|
262
|
-
className="conversation-btn"
|
|
263
|
-
backgroundColor="#1890ff"
|
|
264
|
-
height="40px"
|
|
265
|
-
borderRadius="3px"
|
|
266
|
-
border="none"
|
|
267
|
-
color="white"
|
|
268
|
-
variant="outline"
|
|
269
|
-
fontSize="20px"
|
|
251
|
+
<button
|
|
270
252
|
onClick={() => setShowModal(true)}
|
|
253
|
+
className="w-full h-10 bg-[#1890ff] rounded px-4 py-2 text-white text-lg hover:bg-[#40a9ff] transition-colors"
|
|
271
254
|
>
|
|
272
255
|
{t('messenger_box_browser.add_conversations')}
|
|
273
|
-
</
|
|
256
|
+
</button>
|
|
274
257
|
</div>
|
|
275
258
|
</div>
|
|
276
|
-
<div className={
|
|
277
|
-
<div className="border"></div>
|
|
278
|
-
{showMessageSide
|
|
279
|
-
<Messages id={id} user={user} userId={userId} currentUser={currentUser} />
|
|
280
|
-
) : (
|
|
281
|
-
''
|
|
282
|
-
)}
|
|
259
|
+
<div className={`${toggleDrawer ? 'w-3/5' : 'w-4/5'}`}>
|
|
260
|
+
<div className="h-14 w-full border-b border-gray-200"></div>
|
|
261
|
+
{showMessageSide && <Messages id={id} user={user} userId={userId} currentUser={currentUser} />}
|
|
283
262
|
</div>
|
|
284
|
-
<div
|
|
263
|
+
<div
|
|
264
|
+
className={`${
|
|
265
|
+
toggleDrawer
|
|
266
|
+
? 'w-1/5 border-l border-gray-200 transition-all duration-500'
|
|
267
|
+
: 'w-0 opacity-0 overflow-hidden transition-all duration-500'
|
|
268
|
+
}`}
|
|
269
|
+
>
|
|
285
270
|
<InboxDetails handleToggle={handleToggle} toggleDrawer={toggleDrawer} />
|
|
286
271
|
</div>
|
|
287
272
|
</div>
|
|
@@ -1,61 +1,68 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useTranslation } from 'react-i18next';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { FiSearch } from 'react-icons/fi';
|
|
6
|
-
import { VscMenu } from 'react-icons/vsc';
|
|
3
|
+
import { FiSearch } from '@react-icons/all-files/fi/FiSearch';
|
|
4
|
+
import { VscMenu } from '@react-icons/all-files/vsc/VscMenu';
|
|
7
5
|
|
|
8
6
|
export const MenuHeader = ({ clickedChannel, handleClass }) => {
|
|
9
7
|
const { t } = useTranslation();
|
|
10
8
|
return (
|
|
11
|
-
<div className=
|
|
12
|
-
<div className="
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
<div className="w-full bg-white border-b border-gray-200">
|
|
10
|
+
<div className="flex items-center justify-between h-16 px-4">
|
|
11
|
+
{/* Left side - Menu toggle and brand */}
|
|
12
|
+
<div className="flex items-center">
|
|
13
|
+
<button
|
|
14
|
+
type="button"
|
|
15
|
+
className="p-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
|
16
|
+
onClick={handleClass}
|
|
17
|
+
>
|
|
18
|
+
<span className="sr-only">{t('messenger_box_browser.toggle_sidebar')}</span>
|
|
19
|
+
<VscMenu className="w-6 h-6" />
|
|
20
|
+
</button>
|
|
21
|
+
|
|
22
|
+
{/* Channel info */}
|
|
23
|
+
<div className="ml-4">
|
|
24
|
+
{clickedChannel.id && (
|
|
25
|
+
<div className="flex items-center space-x-2">
|
|
26
|
+
<div className="flex items-center hover:text-gray-900 cursor-pointer">
|
|
27
|
+
<div className="w-2 h-2 bg-green-500 rounded-full mr-2" /> {/* Status indicator */}
|
|
28
|
+
<span className="font-medium">
|
|
28
29
|
{clickedChannel.type === 'DIRECT'
|
|
29
30
|
? clickedChannel.displayName
|
|
30
31
|
: clickedChannel.title}
|
|
31
32
|
</span>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
<svg className="w-4 h-4 ml-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
34
|
+
<path
|
|
35
|
+
strokeLinecap="round"
|
|
36
|
+
strokeLinejoin="round"
|
|
37
|
+
strokeWidth={2}
|
|
38
|
+
d="M19 9l-7 7-7-7"
|
|
39
|
+
/>
|
|
40
|
+
</svg>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
37
43
|
)}
|
|
38
44
|
</div>
|
|
39
45
|
</div>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
|
|
47
|
+
{/* Right side - Search and menu buttons */}
|
|
48
|
+
<div className="flex items-center space-x-2">
|
|
49
|
+
<button
|
|
50
|
+
type="button"
|
|
51
|
+
className="p-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
|
52
|
+
aria-label="Search"
|
|
53
|
+
>
|
|
54
|
+
<FiSearch className="w-5 h-5" />
|
|
55
|
+
</button>
|
|
56
|
+
|
|
57
|
+
<button
|
|
58
|
+
type="button"
|
|
59
|
+
className="p-2 text-gray-600 hover:text-gray-900 hover:bg-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
|
60
|
+
data-toggle="collapse"
|
|
61
|
+
data-target="#sidebar-nav"
|
|
62
|
+
>
|
|
63
|
+
<VscMenu className="w-5 h-5" />
|
|
64
|
+
</button>
|
|
65
|
+
</div>
|
|
59
66
|
</div>
|
|
60
67
|
</div>
|
|
61
68
|
);
|
|
@@ -1,54 +1,87 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Modal } from 'react-bootstrap';
|
|
1
|
+
import React from 'react';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
|
-
import { VscChromeClose } from 'react-icons/vsc';
|
|
3
|
+
import { VscChromeClose } from '@react-icons/all-files/vsc/VscChromeClose';
|
|
5
4
|
import Select from 'react-select';
|
|
6
|
-
import { css } from '@emotion/css';
|
|
7
|
-
import { styleSheet } from '../../../style';
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
interface DirectModalProps {
|
|
7
|
+
show: boolean;
|
|
8
|
+
onHide: () => void;
|
|
9
|
+
options: any[];
|
|
10
|
+
selectedValues: any;
|
|
11
|
+
handleSelect: (value: any) => void;
|
|
12
|
+
handleGo: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export const DirectModal = ({ show, onHide, options, selectedValues, handleSelect, handleGo }: DirectModalProps) => {
|
|
10
16
|
const { t } = useTranslation();
|
|
17
|
+
|
|
18
|
+
if (!show) return null;
|
|
19
|
+
|
|
11
20
|
return (
|
|
12
|
-
<div className=
|
|
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
|
-
|
|
21
|
+
<div className="fixed inset-0 z-50 overflow-y-auto">
|
|
22
|
+
<div className="flex min-h-full items-center justify-center p-4">
|
|
23
|
+
<div className="fixed inset-0 bg-black bg-opacity-25" onClick={onHide} />
|
|
24
|
+
|
|
25
|
+
<div className="relative w-full max-w-md transform overflow-hidden rounded-lg bg-white shadow-xl transition-all">
|
|
26
|
+
{/* Header */}
|
|
27
|
+
<div className="bg-blue-600 px-4 py-3 flex items-center justify-between">
|
|
28
|
+
<h3 className="text-lg font-medium text-white">{t('messenger_box_browser.direct_message')}</h3>
|
|
29
|
+
<button onClick={onHide} className="text-white hover:text-gray-200 transition-colors">
|
|
30
|
+
<VscChromeClose className="w-5 h-5" />
|
|
31
|
+
</button>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
{/* Body */}
|
|
35
|
+
<div className="p-6">
|
|
36
|
+
<div className="space-y-4">
|
|
37
|
+
<div className="flex space-x-2">
|
|
38
|
+
<Select
|
|
39
|
+
className="flex-1"
|
|
40
|
+
value={selectedValues.value}
|
|
41
|
+
onChange={handleSelect}
|
|
42
|
+
components={{
|
|
43
|
+
DropdownIndicator: () => null,
|
|
44
|
+
IndicatorSeparator: () => null,
|
|
45
|
+
}}
|
|
46
|
+
autoFocus={true}
|
|
47
|
+
options={options}
|
|
48
|
+
isMulti={true}
|
|
49
|
+
menuIsOpen={true}
|
|
50
|
+
styles={{
|
|
51
|
+
control: (base) => ({
|
|
52
|
+
...base,
|
|
53
|
+
borderRadius: '0.375rem',
|
|
54
|
+
borderColor: '#E5E7EB',
|
|
55
|
+
}),
|
|
56
|
+
menu: (base) => ({
|
|
57
|
+
...base,
|
|
58
|
+
marginTop: '0',
|
|
59
|
+
boxShadow: 'none',
|
|
60
|
+
border: 'none',
|
|
61
|
+
}),
|
|
62
|
+
}}
|
|
63
|
+
/>
|
|
64
|
+
<button
|
|
65
|
+
onClick={handleGo}
|
|
66
|
+
className="px-4 py-2 text-sm font-medium text-white bg-blue-600 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"
|
|
67
|
+
>
|
|
68
|
+
{t('messenger_box_browser.go')}
|
|
69
|
+
</button>
|
|
70
|
+
</div>
|
|
71
|
+
<div className="relative">
|
|
72
|
+
<div className="absolute inset-0 flex items-center">
|
|
73
|
+
<div className="w-full border-t border-gray-300" />
|
|
40
74
|
</div>
|
|
41
|
-
<div className="
|
|
42
|
-
<
|
|
75
|
+
<div className="relative flex justify-center text-sm">
|
|
76
|
+
<span className="px-2 text-gray-500 bg-white">
|
|
43
77
|
{t('messenger_box_browser.use_browse_or_select')}
|
|
44
|
-
|
|
45
|
-
</p>
|
|
78
|
+
</span>
|
|
46
79
|
</div>
|
|
47
80
|
</div>
|
|
48
81
|
</div>
|
|
49
82
|
</div>
|
|
50
|
-
</
|
|
51
|
-
</
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
52
85
|
</div>
|
|
53
86
|
);
|
|
54
87
|
};
|