@messenger-box/platform-browser 10.0.3-alpha.7 → 10.0.3-alpha.72

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 (138) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/lib/components/InboxMessage/InboxDetails/index.d.ts +6 -1
  3. package/lib/components/InboxMessage/InboxDetails/index.d.ts.map +1 -1
  4. package/lib/components/InboxMessage/InboxDetails/index.js +10 -11
  5. package/lib/components/InboxMessage/InboxDetails/index.js.map +1 -1
  6. package/lib/components/InboxMessage/InboxSidebar/index.d.ts.map +1 -1
  7. package/lib/components/InboxMessage/InboxSidebar/index.js +23 -32
  8. package/lib/components/InboxMessage/InboxSidebar/index.js.map +1 -1
  9. package/lib/components/InboxMessage/Messages/index.d.ts.map +1 -1
  10. package/lib/components/InboxMessage/Messages/index.js +42 -81
  11. package/lib/components/InboxMessage/Messages/index.js.map +1 -1
  12. package/lib/components/InboxMessage/MessagesList/index.d.ts.map +1 -1
  13. package/lib/components/InboxMessage/MessagesList/index.js +53 -74
  14. package/lib/components/InboxMessage/MessagesList/index.js.map +1 -1
  15. package/lib/components/InboxMessage/Popover/index.d.ts +5 -1
  16. package/lib/components/InboxMessage/Popover/index.d.ts.map +1 -1
  17. package/lib/components/InboxMessage/Popover/index.js +8 -35
  18. package/lib/components/InboxMessage/Popover/index.js.map +1 -1
  19. package/lib/components/InboxMessage/UserModalContent/index.d.ts.map +1 -1
  20. package/lib/components/InboxMessage/UserModalContent/index.js +50 -47
  21. package/lib/components/InboxMessage/UserModalContent/index.js.map +1 -1
  22. package/lib/components/InboxMessage/index.d.ts.map +1 -1
  23. package/lib/components/InboxMessage/index.js +38 -70
  24. package/lib/components/InboxMessage/index.js.map +1 -1
  25. package/lib/components/dashboard/menu_header.d.ts.map +1 -1
  26. package/lib/components/dashboard/menu_header.js +38 -24
  27. package/lib/components/dashboard/menu_header.js.map +1 -1
  28. package/lib/components/dashboard/modals/direct_modal.d.ts +10 -8
  29. package/lib/components/dashboard/modals/direct_modal.d.ts.map +1 -1
  30. package/lib/components/dashboard/modals/direct_modal.js +59 -39
  31. package/lib/components/dashboard/modals/direct_modal.js.map +1 -1
  32. package/lib/components/dashboard/modals.d.ts +18 -6
  33. package/lib/components/dashboard/modals.d.ts.map +1 -1
  34. package/lib/components/dashboard/modals.js +60 -101
  35. package/lib/components/dashboard/modals.js.map +1 -1
  36. package/lib/components/messenger/avatar/index.d.ts.map +1 -1
  37. package/lib/components/messenger/index.d.ts.map +1 -1
  38. package/lib/components/messenger/index.js +45 -82
  39. package/lib/components/messenger/index.js.map +1 -1
  40. package/lib/components/messenger/messagesList/index.d.ts.map +1 -1
  41. package/lib/components/messenger/messagesList/index.js +174 -454
  42. package/lib/components/messenger/messagesList/index.js.map +1 -1
  43. package/lib/components/messenger/messagesList/messageBox.d.ts +0 -1
  44. package/lib/components/messenger/messagesList/messageBox.d.ts.map +1 -1
  45. package/lib/components/messenger/more_action/index.d.ts.map +1 -1
  46. package/lib/components/messenger/postMessage/postMessage.d.ts +7 -2
  47. package/lib/components/messenger/postMessage/postMessage.d.ts.map +1 -1
  48. package/lib/components/messenger/sidebarThreadList/index.d.ts.map +1 -1
  49. package/lib/components/messenger/threadSidebar/index.d.ts.map +1 -1
  50. package/lib/components/messenger/types/message.d.ts +11 -11
  51. package/lib/components/messenger/types/message.d.ts.map +1 -1
  52. package/lib/components/post/create_post/create_post.d.ts +10 -1
  53. package/lib/components/post/create_post/create_post.d.ts.map +1 -1
  54. package/lib/components/post/index.d.ts +5 -3
  55. package/lib/components/post/index.d.ts.map +1 -1
  56. package/lib/components/post/index.js +63 -97
  57. package/lib/components/post/index.js.map +1 -1
  58. package/lib/components/post/post_header/post_header_custom_status.d.ts.map +1 -1
  59. package/lib/compute.d.ts.map +1 -1
  60. package/lib/compute.js +1 -1
  61. package/lib/compute.js.map +1 -1
  62. package/lib/containers/Dashboard.d.ts.map +1 -1
  63. package/lib/containers/Dashboard.js +110 -124
  64. package/lib/containers/Dashboard.js.map +1 -1
  65. package/lib/containers/DashboardWithLoader.d.ts.map +1 -1
  66. package/lib/containers/DashboardWithLoader.js +10 -3
  67. package/lib/containers/DashboardWithLoader.js.map +1 -1
  68. package/package.json +5 -5
  69. package/src/components/InboxMessage/InboxDetails/index.tsx +13 -15
  70. package/src/components/InboxMessage/InboxSidebar/index.tsx +23 -33
  71. package/src/components/InboxMessage/Messages/index.tsx +58 -97
  72. package/src/components/InboxMessage/MessagesList/index.tsx +71 -82
  73. package/src/components/InboxMessage/Popover/index.tsx +14 -38
  74. package/src/components/InboxMessage/UserModalContent/index.tsx +41 -44
  75. package/src/components/InboxMessage/index.tsx +53 -68
  76. package/src/components/dashboard/menu_header.tsx +52 -45
  77. package/src/components/dashboard/modals/direct_modal.tsx +73 -40
  78. package/src/components/dashboard/modals.tsx +114 -105
  79. package/src/components/messenger/avatar/index.tsx +27 -13
  80. package/src/components/messenger/index.tsx +126 -161
  81. package/src/components/messenger/messagesList/index.tsx +288 -572
  82. package/src/components/messenger/messagesList/messageBox.tsx +45 -34
  83. package/src/components/messenger/more_action/index.tsx +16 -10
  84. package/src/components/messenger/postMessage/postMessage.tsx +28 -16
  85. package/src/components/messenger/sidebarThreadList/index.tsx +52 -178
  86. package/src/components/messenger/threadSidebar/index.tsx +88 -75
  87. package/src/components/messenger/types/message.ts +12 -11
  88. package/src/components/post/channel_view/channel_view.tsx +2 -2
  89. package/src/components/post/create_post/create_post.tsx +104 -195
  90. package/src/components/post/index.tsx +78 -99
  91. package/src/components/post/post_header/post_header_custom_status.tsx +7 -6
  92. package/src/components/post/post_header/style.ts +51 -51
  93. package/src/compute.ts +8 -8
  94. package/src/containers/Dashboard.tsx +170 -213
  95. package/src/containers/DashboardWithLoader.tsx +13 -5
  96. package/lib/components/InboxMessage/InboxDetails/style.d.ts +0 -2
  97. package/lib/components/InboxMessage/InboxDetails/style.d.ts.map +0 -1
  98. package/lib/components/InboxMessage/InboxDetails/style.js +0 -27
  99. package/lib/components/InboxMessage/InboxDetails/style.js.map +0 -1
  100. package/lib/components/InboxMessage/InboxSidebar/styles.d.ts +0 -2
  101. package/lib/components/InboxMessage/InboxSidebar/styles.d.ts.map +0 -1
  102. package/lib/components/InboxMessage/InboxSidebar/styles.js +0 -57
  103. package/lib/components/InboxMessage/InboxSidebar/styles.js.map +0 -1
  104. package/lib/components/InboxMessage/Messages/styles.d.ts +0 -81
  105. package/lib/components/InboxMessage/Messages/styles.d.ts.map +0 -1
  106. package/lib/components/InboxMessage/Messages/styles.js +0 -85
  107. package/lib/components/InboxMessage/Messages/styles.js.map +0 -1
  108. package/lib/components/InboxMessage/Popover/style.d.ts +0 -28
  109. package/lib/components/InboxMessage/Popover/style.d.ts.map +0 -1
  110. package/lib/components/InboxMessage/Popover/style.js +0 -27
  111. package/lib/components/InboxMessage/Popover/style.js.map +0 -1
  112. package/lib/components/InboxMessage/UserModalContent/style.d.ts +0 -2
  113. package/lib/components/InboxMessage/UserModalContent/style.d.ts.map +0 -1
  114. package/lib/components/InboxMessage/UserModalContent/style.js +0 -98
  115. package/lib/components/InboxMessage/UserModalContent/style.js.map +0 -1
  116. package/lib/components/InboxMessage/style.js +0 -189
  117. package/lib/components/InboxMessage/style.js.map +0 -1
  118. package/lib/components/messenger/avatar/style.d.ts +0 -2
  119. package/lib/components/messenger/avatar/style.d.ts.map +0 -1
  120. package/lib/components/messenger/messagesList/style.js +0 -446
  121. package/lib/components/messenger/messagesList/style.js.map +0 -1
  122. package/lib/components/messenger/more_action/index.js +0 -48
  123. package/lib/components/messenger/more_action/index.js.map +0 -1
  124. package/lib/components/messenger/more_action/style.d.ts +0 -2
  125. package/lib/components/messenger/more_action/style.d.ts.map +0 -1
  126. package/lib/components/messenger/more_action/style.js +0 -45
  127. package/lib/components/messenger/more_action/style.js.map +0 -1
  128. package/lib/components/post/style.js +0 -20101
  129. package/lib/components/post/style.js.map +0 -1
  130. package/lib/style.js +0 -400
  131. package/lib/style.js.map +0 -1
  132. package/src/components/InboxMessage/InboxDetails/style.ts +0 -27
  133. package/src/components/InboxMessage/InboxSidebar/styles.ts +0 -57
  134. package/src/components/InboxMessage/Messages/styles.ts +0 -85
  135. package/src/components/InboxMessage/Popover/style.ts +0 -27
  136. package/src/components/InboxMessage/UserModalContent/style.ts +0 -98
  137. package/src/components/messenger/avatar/style.ts +0 -86
  138. 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/lib/generated/generated.js';
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 style={{ cursor: 'pointer' }}>
103
- <Avatar width="40px" backgroundColor="grey" size="42" borderRadius="50%"></Avatar>
104
- <Text color="black">{i.username}</Text>
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
- console.log(user);
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={css(stylesheet.inboxStyles)}>
183
- <div className={toggleDrawer ? 'inbox-sidebar-active' : 'inbox-sidebar'}>
184
- <div className="conversations">
185
- <div className="header-section">
186
- <div className="allmessage-header">
187
- <h3>{t('messenger_box_browser.messages')}</h3>
188
- <Button
189
- as="a"
190
- borderRadius="50%"
191
- width="30px"
192
- height="30px"
193
- _hover={{ backgroundColor: 'rgb(221, 221, 221)' }}
194
- onClick={() => {
195
- setShowPopover(!showPopover);
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 style={{ fontSize: '20px', color: 'black' }} />
199
- </Button>
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="add-conversations">
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
- fontSize="16px"
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={css(stylesheet.modelStyle as any)}>
231
- <div className="root_modal">
232
- <div className="root_first">
233
- <div className="search_box">
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="temp"
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 onClick={handleGo}>Go</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="mid_line">
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
- <Button
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
- </Button>
256
+ </button>
274
257
  </div>
275
258
  </div>
276
- <div className={`msg-container${toggleDrawer ? '-active' : ''}`}>
277
- <div className="border"></div>
278
- {showMessageSide == true ? (
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 className={toggleDrawer ? 'inbox-details' : 'inbox-details-active'}>
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 { styleSheet } from '../../style';
4
- import { css } from '@emotion/css';
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={css(styleSheet.customStyle as any)}>
12
- <div className="navbar_header">
13
- <button type="button" className="navbar_toggle" onClick={handleClass}>
14
- <span className="sr-only">
15
- <span>{t('messenger_box_browser.toggle_sidebar')}</span>
16
- </span>
17
- <span className="style--none icon icon__menu icon--sidebarHeaderTextColor">
18
- <VscMenu />
19
- </span>
20
- </button>
21
- <div className="navbar_brand">
22
- <div className="menu_wrapper ">
23
- {clickedChannel.id ? (
24
- <a>
25
- <span className="heading">
26
- <span className="status "></span>
27
- <span>
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
- </span>
33
- <span className="fa fa-angle-down header-dropdown__icon" title="Dropdown Icon"></span>
34
- </a>
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
- <button
41
- type="button"
42
- className="navbar-toggle navbar-right__icon navbar-search pull-right"
43
- aria-label="Search"
44
- >
45
- <span className="icon icon__search" aria-hidden="true">
46
- <FiSearch />
47
- </span>
48
- </button>
49
- <button
50
- type="button"
51
- className="navbar-toggle navbar-right__icon menu-toggle pull-right"
52
- data-toggle="collapse"
53
- data-target="#sidebar-nav"
54
- >
55
- <span>
56
- <VscMenu />
57
- </span>
58
- </button>
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 * as React from 'react';
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
- export const DirectModal = ({ showDirectChl, handleClose, selectedValues, handleSelect, options, handleGo }) => {
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={css(styleSheet.customStyle as any)}>
13
- <Modal show={showDirectChl} onHide={() => handleClose('directChannel')}>
14
- <Modal.Header
15
- style={{ backgroundColor: '#2b5ebf', color: 'white', display: 'flex', alignItems: 'center' }}
16
- >
17
- <Modal.Title>{t('messenger_box_browser.direct_messages')}</Modal.Title>
18
- <VscChromeClose
19
- onClick={() => handleClose('dir ectChannel')}
20
- fontSize="16px"
21
- style={{ marginLeft: 'auto', cursor: 'pointer' }}
22
- />
23
- </Modal.Header>
24
- <Modal.Body>
25
- <div className={css(styleSheet.modelStyle as any)}>
26
- <div className="root_modal">
27
- <div className="root_first">
28
- <div className="search_box">
29
- <Select
30
- className="temp"
31
- value={selectedValues.value}
32
- onChange={handleSelect}
33
- components={{ DropdownIndicator: () => null, IndicatorSeparator: () => null }}
34
- autoFocus={true}
35
- options={options}
36
- isMulti={true}
37
- menuIsOpen={true}
38
- />
39
- <button onClick={handleGo}>{t('messenger_box_browser.go')}</button>
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="mid_line">
42
- <p>
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
- <span> </span>
45
- </p>
78
+ </span>
46
79
  </div>
47
80
  </div>
48
81
  </div>
49
82
  </div>
50
- </Modal.Body>
51
- </Modal>
83
+ </div>
84
+ </div>
52
85
  </div>
53
86
  );
54
87
  };