whyuzeim 1.0.0

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 (247) hide show
  1. package/README.md +11 -0
  2. package/cjs/AddMember/image/ic_close.svg.js +5 -0
  3. package/cjs/AddMember/index.d.ts +7 -0
  4. package/cjs/AddMember/index.js +107 -0
  5. package/cjs/AddMember/style/index.scss +47 -0
  6. package/cjs/ChatBox/JoinGroupDialog/index.d.ts +10 -0
  7. package/cjs/ChatBox/JoinGroupDialog/index.js +102 -0
  8. package/cjs/ChatBox/JoinGroupDialog/style/index.scss +4 -0
  9. package/cjs/ChatBox/image/ic_chat_back.svg.js +5 -0
  10. package/cjs/ChatBox/image/ic_more.svg.js +5 -0
  11. package/cjs/ChatBox/index.d.ts +10 -0
  12. package/cjs/ChatBox/index.js +557 -0
  13. package/cjs/ChatBox/style/index.scss +26 -0
  14. package/cjs/ContactList/index.d.ts +24 -0
  15. package/cjs/ContactList/index.js +64 -0
  16. package/cjs/ContactList/style/index.scss +5 -0
  17. package/cjs/CustomChatView/index.d.ts +9 -0
  18. package/cjs/CustomChatView/index.js +389 -0
  19. package/cjs/Exit/index.d.ts +3 -0
  20. package/cjs/Exit/index.js +17 -0
  21. package/cjs/GroupDetail/GroupDetailEditView/index.d.ts +8 -0
  22. package/cjs/GroupDetail/GroupDetailEditView/index.js +269 -0
  23. package/cjs/GroupDetail/GroupShareView/index.d.ts +10 -0
  24. package/cjs/GroupDetail/GroupShareView/index.js +151 -0
  25. package/cjs/GroupDetail/image/ic_close.svg.js +5 -0
  26. package/cjs/GroupDetail/image/ic_group_edit.svg.js +5 -0
  27. package/cjs/GroupDetail/image/ic_messages.svg.js +5 -0
  28. package/cjs/GroupDetail/image/ic_share.svg.js +5 -0
  29. package/cjs/GroupDetail/image/icon_translation.svg.js +5 -0
  30. package/cjs/GroupDetail/index.d.ts +26 -0
  31. package/cjs/GroupDetail/index.js +265 -0
  32. package/cjs/GroupDetail/style/index.scss +66 -0
  33. package/cjs/IM/DefaultIMLayout/MobileHeader/index.d.ts +11 -0
  34. package/cjs/IM/DefaultIMLayout/MobileHeader/index.js +29 -0
  35. package/cjs/IM/DefaultIMLayout/MobileHeader/style/index.scss +11 -0
  36. package/cjs/IM/DefaultIMLayout/index.d.ts +3 -0
  37. package/cjs/IM/DefaultIMLayout/index.js +29 -0
  38. package/cjs/IM/DefaultIMLayout/style/index.scss +0 -0
  39. package/cjs/IM/MainContent/index.d.ts +8 -0
  40. package/cjs/IM/MainContent/index.js +87 -0
  41. package/cjs/IM/MainContent/style/index.scss +22 -0
  42. package/cjs/IM/MobileHeader/index.d.ts +11 -0
  43. package/cjs/IM/MobileHeader/index.js +29 -0
  44. package/cjs/IM/MobileHeader/style/index.scss +11 -0
  45. package/cjs/IM/context.d.ts +21 -0
  46. package/cjs/IM/context.js +14 -0
  47. package/cjs/IM/encryption.d.ts +22 -0
  48. package/cjs/IM/encryption.js +38 -0
  49. package/cjs/IM/hooks/useGetAgoraToken.d.ts +2 -0
  50. package/cjs/IM/hooks/useGetAgoraToken.js +61 -0
  51. package/cjs/IM/index.d.ts +20 -0
  52. package/cjs/IM/index.js +130 -0
  53. package/cjs/IM/style/index.scss +119 -0
  54. package/cjs/NoData/image/no-data.svg.js +5 -0
  55. package/cjs/NoData/index.d.ts +8 -0
  56. package/cjs/NoData/index.js +22 -0
  57. package/cjs/NoData/style/index.scss +3 -0
  58. package/cjs/Panelbar/index.d.ts +7 -0
  59. package/cjs/Panelbar/style/index.scss +3 -0
  60. package/cjs/Sharebox/index.d.ts +7 -0
  61. package/cjs/Sharebox/index.js +14 -0
  62. package/cjs/Sharebox/style/index.scss +0 -0
  63. package/cjs/Sidebar/CreateGroup/index.d.ts +21 -0
  64. package/cjs/Sidebar/CreateGroup/index.js +188 -0
  65. package/cjs/Sidebar/CreateGroup/style/index.scss +65 -0
  66. package/cjs/Sidebar/CustomConversationItem/OperateBtn/image/delete.svg.js +5 -0
  67. package/cjs/Sidebar/CustomConversationItem/OperateBtn/image/logout.svg.js +5 -0
  68. package/cjs/Sidebar/CustomConversationItem/OperateBtn/image/more.svg.js +5 -0
  69. package/cjs/Sidebar/CustomConversationItem/OperateBtn/image/muted.svg.js +5 -0
  70. package/cjs/Sidebar/CustomConversationItem/OperateBtn/index.d.ts +10 -0
  71. package/cjs/Sidebar/CustomConversationItem/OperateBtn/index.js +210 -0
  72. package/cjs/Sidebar/CustomConversationItem/OperateBtn/style/index.scss +14 -0
  73. package/cjs/Sidebar/CustomConversationItem/index.d.ts +9 -0
  74. package/cjs/Sidebar/CustomConversationItem/index.js +105 -0
  75. package/cjs/Sidebar/CustomConversationItem/style/index.scss +15 -0
  76. package/cjs/Sidebar/GroupList/OperateBtn/image/delete.svg.js +5 -0
  77. package/cjs/Sidebar/GroupList/OperateBtn/image/logout.svg.js +5 -0
  78. package/cjs/Sidebar/GroupList/OperateBtn/image/more.svg.js +5 -0
  79. package/cjs/Sidebar/GroupList/OperateBtn/image/muted.svg.js +5 -0
  80. package/cjs/Sidebar/GroupList/OperateBtn/index.d.ts +11 -0
  81. package/cjs/Sidebar/GroupList/OperateBtn/index.js +238 -0
  82. package/cjs/Sidebar/GroupList/OperateBtn/style/index.scss +14 -0
  83. package/cjs/Sidebar/GroupList/index.d.ts +7 -0
  84. package/cjs/Sidebar/GroupList/index.js +142 -0
  85. package/cjs/Sidebar/GroupList/style/index.scss +40 -0
  86. package/cjs/Sidebar/MobileCreateGroup/index.d.ts +27 -0
  87. package/cjs/Sidebar/MobileCreateGroup/index.js +171 -0
  88. package/cjs/Sidebar/MobileCreateGroup/style/index.scss +14 -0
  89. package/cjs/Sidebar/Searchbox/image/ic_messages.svg.js +5 -0
  90. package/cjs/Sidebar/Searchbox/index.d.ts +31 -0
  91. package/cjs/Sidebar/Searchbox/index.js +152 -0
  92. package/cjs/Sidebar/Searchbox/style/index.scss +29 -0
  93. package/cjs/Sidebar/image/create.svg.js +5 -0
  94. package/cjs/Sidebar/image/group.svg.js +5 -0
  95. package/cjs/Sidebar/image/ic_close.svg.js +5 -0
  96. package/cjs/Sidebar/image/ic_menu.svg.js +5 -0
  97. package/cjs/Sidebar/image/ic_search.svg.js +5 -0
  98. package/cjs/Sidebar/image/message.svg.js +5 -0
  99. package/cjs/Sidebar/image/mobile_create.svg.js +5 -0
  100. package/cjs/Sidebar/index.d.ts +9 -0
  101. package/cjs/Sidebar/index.js +268 -0
  102. package/cjs/Sidebar/style/index.scss +82 -0
  103. package/cjs/TypeItem/OperateBtn/image/admin.svg.js +5 -0
  104. package/cjs/TypeItem/OperateBtn/image/ban.svg.js +5 -0
  105. package/cjs/TypeItem/OperateBtn/image/block.svg.js +5 -0
  106. package/cjs/TypeItem/OperateBtn/image/logout.svg.js +5 -0
  107. package/cjs/TypeItem/OperateBtn/image/more.svg.js +5 -0
  108. package/cjs/TypeItem/OperateBtn/index.d.ts +13 -0
  109. package/cjs/TypeItem/OperateBtn/index.js +198 -0
  110. package/cjs/TypeItem/OperateBtn/style/index.scss +0 -0
  111. package/cjs/TypeItem/index.d.ts +24 -0
  112. package/cjs/TypeItem/index.js +84 -0
  113. package/cjs/TypeItem/style/index.scss +67 -0
  114. package/cjs/UserProfile/image/ic_close.svg.js +5 -0
  115. package/cjs/UserProfile/image/ic_share.svg.js +5 -0
  116. package/cjs/UserProfile/image/icon_translation.svg.js +5 -0
  117. package/cjs/UserProfile/index.d.ts +8 -0
  118. package/cjs/UserProfile/index.js +170 -0
  119. package/cjs/UserProfile/style/index.scss +50 -0
  120. package/cjs/index.d.ts +16 -0
  121. package/cjs/index.js +23 -0
  122. package/cjs/type.d.ts +7 -0
  123. package/cjs/type.js +61 -0
  124. package/es/AddMember/image/ic_close.svg.js +3 -0
  125. package/es/AddMember/index.d.ts +7 -0
  126. package/es/AddMember/index.js +105 -0
  127. package/es/AddMember/style/index.scss +47 -0
  128. package/es/ChatBox/JoinGroupDialog/index.d.ts +10 -0
  129. package/es/ChatBox/JoinGroupDialog/index.js +100 -0
  130. package/es/ChatBox/JoinGroupDialog/style/index.scss +4 -0
  131. package/es/ChatBox/image/ic_chat_back.svg.js +3 -0
  132. package/es/ChatBox/image/ic_more.svg.js +3 -0
  133. package/es/ChatBox/index.d.ts +10 -0
  134. package/es/ChatBox/index.js +555 -0
  135. package/es/ChatBox/style/index.scss +26 -0
  136. package/es/ContactList/index.d.ts +24 -0
  137. package/es/ContactList/index.js +62 -0
  138. package/es/ContactList/style/index.scss +5 -0
  139. package/es/CustomChatView/index.d.ts +9 -0
  140. package/es/CustomChatView/index.js +387 -0
  141. package/es/Exit/index.d.ts +3 -0
  142. package/es/Exit/index.js +15 -0
  143. package/es/GroupDetail/GroupDetailEditView/index.d.ts +8 -0
  144. package/es/GroupDetail/GroupDetailEditView/index.js +267 -0
  145. package/es/GroupDetail/GroupShareView/index.d.ts +10 -0
  146. package/es/GroupDetail/GroupShareView/index.js +149 -0
  147. package/es/GroupDetail/image/ic_close.svg.js +3 -0
  148. package/es/GroupDetail/image/ic_group_edit.svg.js +3 -0
  149. package/es/GroupDetail/image/ic_messages.svg.js +3 -0
  150. package/es/GroupDetail/image/ic_share.svg.js +3 -0
  151. package/es/GroupDetail/image/icon_translation.svg.js +3 -0
  152. package/es/GroupDetail/index.d.ts +26 -0
  153. package/es/GroupDetail/index.js +263 -0
  154. package/es/GroupDetail/style/index.scss +66 -0
  155. package/es/IM/DefaultIMLayout/MobileHeader/index.d.ts +11 -0
  156. package/es/IM/DefaultIMLayout/MobileHeader/index.js +27 -0
  157. package/es/IM/DefaultIMLayout/MobileHeader/style/index.scss +11 -0
  158. package/es/IM/DefaultIMLayout/index.d.ts +3 -0
  159. package/es/IM/DefaultIMLayout/index.js +27 -0
  160. package/es/IM/DefaultIMLayout/style/index.scss +0 -0
  161. package/es/IM/MainContent/index.d.ts +8 -0
  162. package/es/IM/MainContent/index.js +85 -0
  163. package/es/IM/MainContent/style/index.scss +22 -0
  164. package/es/IM/MobileHeader/index.d.ts +11 -0
  165. package/es/IM/MobileHeader/index.js +27 -0
  166. package/es/IM/MobileHeader/style/index.scss +11 -0
  167. package/es/IM/context.d.ts +21 -0
  168. package/es/IM/context.js +12 -0
  169. package/es/IM/encryption.d.ts +22 -0
  170. package/es/IM/encryption.js +34 -0
  171. package/es/IM/hooks/useGetAgoraToken.d.ts +2 -0
  172. package/es/IM/hooks/useGetAgoraToken.js +59 -0
  173. package/es/IM/index.d.ts +20 -0
  174. package/es/IM/index.js +128 -0
  175. package/es/IM/style/index.scss +119 -0
  176. package/es/NoData/image/no-data.svg.js +3 -0
  177. package/es/NoData/index.d.ts +8 -0
  178. package/es/NoData/index.js +20 -0
  179. package/es/NoData/style/index.scss +3 -0
  180. package/es/Panelbar/index.d.ts +7 -0
  181. package/es/Panelbar/style/index.scss +3 -0
  182. package/es/Sharebox/index.d.ts +7 -0
  183. package/es/Sharebox/index.js +12 -0
  184. package/es/Sharebox/style/index.scss +0 -0
  185. package/es/Sidebar/CreateGroup/index.d.ts +21 -0
  186. package/es/Sidebar/CreateGroup/index.js +186 -0
  187. package/es/Sidebar/CreateGroup/style/index.scss +65 -0
  188. package/es/Sidebar/CustomConversationItem/OperateBtn/image/delete.svg.js +3 -0
  189. package/es/Sidebar/CustomConversationItem/OperateBtn/image/logout.svg.js +3 -0
  190. package/es/Sidebar/CustomConversationItem/OperateBtn/image/more.svg.js +3 -0
  191. package/es/Sidebar/CustomConversationItem/OperateBtn/image/muted.svg.js +3 -0
  192. package/es/Sidebar/CustomConversationItem/OperateBtn/index.d.ts +10 -0
  193. package/es/Sidebar/CustomConversationItem/OperateBtn/index.js +208 -0
  194. package/es/Sidebar/CustomConversationItem/OperateBtn/style/index.scss +14 -0
  195. package/es/Sidebar/CustomConversationItem/index.d.ts +9 -0
  196. package/es/Sidebar/CustomConversationItem/index.js +103 -0
  197. package/es/Sidebar/CustomConversationItem/style/index.scss +15 -0
  198. package/es/Sidebar/GroupList/OperateBtn/image/delete.svg.js +3 -0
  199. package/es/Sidebar/GroupList/OperateBtn/image/logout.svg.js +3 -0
  200. package/es/Sidebar/GroupList/OperateBtn/image/more.svg.js +3 -0
  201. package/es/Sidebar/GroupList/OperateBtn/image/muted.svg.js +3 -0
  202. package/es/Sidebar/GroupList/OperateBtn/index.d.ts +11 -0
  203. package/es/Sidebar/GroupList/OperateBtn/index.js +236 -0
  204. package/es/Sidebar/GroupList/OperateBtn/style/index.scss +14 -0
  205. package/es/Sidebar/GroupList/index.d.ts +7 -0
  206. package/es/Sidebar/GroupList/index.js +140 -0
  207. package/es/Sidebar/GroupList/style/index.scss +40 -0
  208. package/es/Sidebar/MobileCreateGroup/index.d.ts +27 -0
  209. package/es/Sidebar/MobileCreateGroup/index.js +169 -0
  210. package/es/Sidebar/MobileCreateGroup/style/index.scss +14 -0
  211. package/es/Sidebar/Searchbox/image/ic_messages.svg.js +3 -0
  212. package/es/Sidebar/Searchbox/index.d.ts +31 -0
  213. package/es/Sidebar/Searchbox/index.js +150 -0
  214. package/es/Sidebar/Searchbox/style/index.scss +29 -0
  215. package/es/Sidebar/image/create.svg.js +3 -0
  216. package/es/Sidebar/image/group.svg.js +3 -0
  217. package/es/Sidebar/image/ic_close.svg.js +3 -0
  218. package/es/Sidebar/image/ic_menu.svg.js +3 -0
  219. package/es/Sidebar/image/ic_search.svg.js +3 -0
  220. package/es/Sidebar/image/message.svg.js +3 -0
  221. package/es/Sidebar/image/mobile_create.svg.js +3 -0
  222. package/es/Sidebar/index.d.ts +9 -0
  223. package/es/Sidebar/index.js +266 -0
  224. package/es/Sidebar/style/index.scss +82 -0
  225. package/es/TypeItem/OperateBtn/image/admin.svg.js +3 -0
  226. package/es/TypeItem/OperateBtn/image/ban.svg.js +3 -0
  227. package/es/TypeItem/OperateBtn/image/block.svg.js +3 -0
  228. package/es/TypeItem/OperateBtn/image/logout.svg.js +3 -0
  229. package/es/TypeItem/OperateBtn/image/more.svg.js +3 -0
  230. package/es/TypeItem/OperateBtn/index.d.ts +13 -0
  231. package/es/TypeItem/OperateBtn/index.js +196 -0
  232. package/es/TypeItem/OperateBtn/style/index.scss +0 -0
  233. package/es/TypeItem/index.d.ts +24 -0
  234. package/es/TypeItem/index.js +82 -0
  235. package/es/TypeItem/style/index.scss +67 -0
  236. package/es/UserProfile/image/ic_close.svg.js +3 -0
  237. package/es/UserProfile/image/ic_share.svg.js +3 -0
  238. package/es/UserProfile/image/icon_translation.svg.js +3 -0
  239. package/es/UserProfile/index.d.ts +8 -0
  240. package/es/UserProfile/index.js +168 -0
  241. package/es/UserProfile/style/index.scss +50 -0
  242. package/es/index.d.ts +16 -0
  243. package/es/index.js +9 -0
  244. package/es/type.d.ts +7 -0
  245. package/es/type.js +58 -0
  246. package/package.json +33 -0
  247. package/types/global.d.ts +10 -0
@@ -0,0 +1,236 @@
1
+ import _asyncToGenerator from '@babel/runtime-corejs3/helpers/esm/asyncToGenerator';
2
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
3
+ import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
4
+ import _includesInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/includes';
5
+ import React, { useContext, useState, useCallback, useEffect } from 'react';
6
+ import { Modal, Tooltip, Button } from 'antd';
7
+ import img$3 from './image/more.svg.js';
8
+ import { Context } from '../../../IM/context.js';
9
+ import { useDebounceCallback } from 'usehooks-ts';
10
+ import { useConversationContext, rootStore } from 'agora-chat-uikit';
11
+ import img from './image/muted.svg.js';
12
+ import img$1 from './image/logout.svg.js';
13
+ import img$2 from './image/delete.svg.js';
14
+ import './style/index.scss';
15
+
16
+ var OperateBtn = function OperateBtn(props) {
17
+ var conversationId = props.conversationId,
18
+ chatType = props.chatType,
19
+ silent = props.silent,
20
+ onDelete = props.onDelete;
21
+ var _useContext = useContext(Context),
22
+ http = _useContext.http;
23
+ var _useState = useState(false),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ tooltipOpen = _useState2[0],
26
+ setTooltipOpen = _useState2[1];
27
+ var _useConversationConte = useConversationContext(),
28
+ deleteConversation = _useConversationConte.deleteConversation;
29
+ var _Modal$useModal = Modal.useModal(),
30
+ _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
31
+ modal = _Modal$useModal2[0],
32
+ contextHolder = _Modal$useModal2[1];
33
+ var handleTooltip = useCallback(function (event) {
34
+ var _context;
35
+ if (!_includesInstanceProperty(_context = event.target.className).call(_context, "yuze-conversationItem-action-img")) {
36
+ setTooltipOpen(false);
37
+ }
38
+ }, [setTooltipOpen]);
39
+ useEffect(function () {
40
+ window.addEventListener("click", handleTooltip);
41
+ return function () {
42
+ window.removeEventListener("click", handleTooltip);
43
+ };
44
+ }, [handleTooltip]);
45
+ var handleMuted = useCallback(/*#__PURE__*/function () {
46
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
47
+ return _regeneratorRuntime.wrap(function _callee$(_context2) {
48
+ while (1) switch (_context2.prev = _context2.next) {
49
+ case 0:
50
+ event.stopPropagation();
51
+ if (silent) {
52
+ rootStore === null || rootStore === void 0 || rootStore.conversationStore.clearRemindTypeForConversation({
53
+ chatType: chatType,
54
+ conversationId: conversationId
55
+ });
56
+ } else {
57
+ rootStore === null || rootStore === void 0 || rootStore.conversationStore.setSilentModeForConversation({
58
+ chatType: chatType,
59
+ conversationId: conversationId
60
+ });
61
+ }
62
+ case 2:
63
+ case "end":
64
+ return _context2.stop();
65
+ }
66
+ }, _callee);
67
+ }));
68
+ return function (_x) {
69
+ return _ref.apply(this, arguments);
70
+ };
71
+ }(), [chatType, conversationId, silent]);
72
+ var handleDebounceMuted = useDebounceCallback(handleMuted, 100);
73
+ var handleConfirmDelete = /*#__PURE__*/function () {
74
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(event) {
75
+ return _regeneratorRuntime.wrap(function _callee2$(_context3) {
76
+ while (1) switch (_context3.prev = _context3.next) {
77
+ case 0:
78
+ event.stopPropagation();
79
+ _context3.next = 3;
80
+ return modal.confirm({
81
+ content: /*#__PURE__*/React.createElement("span", {
82
+ className: "text-sm "
83
+ }, "Are you sure you want to delete ?"),
84
+ footer: /*#__PURE__*/React.createElement("div", {
85
+ className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
86
+ }, /*#__PURE__*/React.createElement(Button, {
87
+ type: "default",
88
+ className: "flex-1 bg-transparent",
89
+ size: "large",
90
+ onClick: function onClick() {
91
+ Modal.destroyAll();
92
+ }
93
+ }, "Close"), /*#__PURE__*/React.createElement(Button, {
94
+ type: "primary",
95
+ className: "flex-1",
96
+ size: "large",
97
+ onClick: handleDebounceDelete
98
+ }, "Confirm"))
99
+ });
100
+ case 3:
101
+ case "end":
102
+ return _context3.stop();
103
+ }
104
+ }, _callee2);
105
+ }));
106
+ return function handleConfirmDelete(_x2) {
107
+ return _ref2.apply(this, arguments);
108
+ };
109
+ }();
110
+ var handleConfirmLeave = /*#__PURE__*/function () {
111
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(event) {
112
+ return _regeneratorRuntime.wrap(function _callee3$(_context4) {
113
+ while (1) switch (_context4.prev = _context4.next) {
114
+ case 0:
115
+ event.stopPropagation();
116
+ _context4.next = 3;
117
+ return modal.confirm({
118
+ content: /*#__PURE__*/React.createElement("span", {
119
+ className: "text-sm "
120
+ }, "Are you sure you want to delete and leave the group ?"),
121
+ footer: /*#__PURE__*/React.createElement("div", {
122
+ className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
123
+ }, /*#__PURE__*/React.createElement(Button, {
124
+ type: "default",
125
+ className: "flex-1 bg-transparent",
126
+ size: "large",
127
+ onClick: function onClick() {
128
+ Modal.destroyAll();
129
+ }
130
+ }, "Close"), /*#__PURE__*/React.createElement(Button, {
131
+ type: "primary",
132
+ className: "flex-1",
133
+ size: "large",
134
+ onClick: handleDebounceLeave
135
+ }, "Confirm"))
136
+ });
137
+ case 3:
138
+ case "end":
139
+ return _context4.stop();
140
+ }
141
+ }, _callee3);
142
+ }));
143
+ return function handleConfirmLeave(_x3) {
144
+ return _ref3.apply(this, arguments);
145
+ };
146
+ }();
147
+ var handleLeave = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
148
+ return _regeneratorRuntime.wrap(function _callee4$(_context5) {
149
+ while (1) switch (_context5.prev = _context5.next) {
150
+ case 0:
151
+ _context5.next = 2;
152
+ return http.post("/capi/account/imchannel/exitchannel", {
153
+ sendbirdid: conversationId
154
+ });
155
+ case 2:
156
+ deleteConversation({
157
+ conversationId: conversationId,
158
+ chatType: chatType
159
+ });
160
+ onDelete && onDelete(conversationId);
161
+ Modal.destroyAll();
162
+ case 5:
163
+ case "end":
164
+ return _context5.stop();
165
+ }
166
+ }, _callee4);
167
+ })), [chatType, conversationId, deleteConversation, http, onDelete]);
168
+ var handleDebounceLeave = useDebounceCallback(handleLeave, 100);
169
+ var handleDelete = useCallback(/*#__PURE__*/function () {
170
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(event) {
171
+ return _regeneratorRuntime.wrap(function _callee5$(_context6) {
172
+ while (1) switch (_context6.prev = _context6.next) {
173
+ case 0:
174
+ event.stopPropagation();
175
+ _context6.next = 3;
176
+ return http.post("/capi/account/imchannel/delete", {
177
+ sendbirdid: conversationId
178
+ });
179
+ case 3:
180
+ onDelete && onDelete(conversationId);
181
+ Modal.destroyAll();
182
+ case 5:
183
+ case "end":
184
+ return _context6.stop();
185
+ }
186
+ }, _callee5);
187
+ }));
188
+ return function (_x4) {
189
+ return _ref5.apply(this, arguments);
190
+ };
191
+ }(), [conversationId, http, onDelete]);
192
+ var handleDebounceDelete = useDebounceCallback(handleDelete, 100);
193
+ return /*#__PURE__*/React.createElement(Tooltip, {
194
+ open: tooltipOpen,
195
+ placement: "bottomRight",
196
+ title: /*#__PURE__*/React.createElement("div", {
197
+ className: "flex flex-col"
198
+ }, /*#__PURE__*/React.createElement("div", {
199
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
200
+ onClick: handleDebounceMuted
201
+ }, /*#__PURE__*/React.createElement("img", {
202
+ src: img,
203
+ alt: "",
204
+ className: "yuze-conversationItem-action-img"
205
+ }), /*#__PURE__*/React.createElement("span", {
206
+ className: "text-sm"
207
+ }, silent ? "Unmuted" : "Muted")), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
208
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
209
+ onClick: handleConfirmLeave
210
+ }, /*#__PURE__*/React.createElement("img", {
211
+ src: img$1,
212
+ alt: "",
213
+ className: "yuze-conversationItem-action-img"
214
+ }), /*#__PURE__*/React.createElement("span", {
215
+ className: "text-sm"
216
+ }, "Leave Group")), /*#__PURE__*/React.createElement("div", {
217
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
218
+ onClick: handleConfirmDelete
219
+ }, /*#__PURE__*/React.createElement("img", {
220
+ src: img$2,
221
+ alt: "",
222
+ className: "yuze-conversationItem-action-img"
223
+ }), /*#__PURE__*/React.createElement("span", {
224
+ className: "text-sm delete"
225
+ }, "Delete Group")))
226
+ }, /*#__PURE__*/React.createElement("img", {
227
+ src: img$3,
228
+ className: "cursor-pointer ml-2 yuze-conversationItem-action-img",
229
+ onClick: function onClick(event) {
230
+ event.stopPropagation();
231
+ setTooltipOpen(!tooltipOpen);
232
+ }
233
+ }), contextHolder);
234
+ };
235
+
236
+ export { OperateBtn as default };
@@ -0,0 +1,14 @@
1
+ .yuze-conversationItem-action-img {
2
+ width: 16px;
3
+ height: 16px;
4
+ }
5
+ .yuze-conversationList-header-right-tooltip-item{
6
+ .delete{
7
+ // color: var(--im-delete-fontColor);
8
+ color: rgba(233, 67, 89, 1);
9
+ }
10
+ .yuze-conversationItem-action-img{
11
+ width: 16px;
12
+ height: 16px;
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import "./style/index.scss";
3
+ interface IGroupList {
4
+ style?: React.CSSProperties;
5
+ }
6
+ declare const GroupList: React.FC<IGroupList>;
7
+ export default GroupList;
@@ -0,0 +1,140 @@
1
+ import _asyncToGenerator from '@babel/runtime-corejs3/helpers/esm/asyncToGenerator';
2
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
3
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
4
+ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
5
+ import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
6
+ import React, { useState, useContext, useCallback, useEffect } from 'react';
7
+ import './style/index.scss';
8
+ import classNames from 'classnames';
9
+ import { Input, useConversationContext } from 'agora-chat-uikit';
10
+ import { Tabs } from 'antd';
11
+ import { Context } from '../../IM/context.js';
12
+ import TypeItem from '../../TypeItem/index.js';
13
+ import OperateBtn from './OperateBtn/index.js';
14
+ import NoData from '../../NoData/index.js';
15
+ import { useDebounceCallback } from 'usehooks-ts';
16
+
17
+ var List = function List(props) {
18
+ var _props$activekey = props.activekey,
19
+ activekey = _props$activekey === void 0 ? "0" : _props$activekey,
20
+ keyword = props.keyword;
21
+ var _useContext = useContext(Context),
22
+ http = _useContext.http,
23
+ renderMidComponent = _useContext.renderMidComponent;
24
+ var _useState = useState(null),
25
+ _useState2 = _slicedToArray(_useState, 2),
26
+ list = _useState2[0],
27
+ setList = _useState2[1];
28
+ var _useConversationConte = useConversationContext(),
29
+ setCurrentConversation = _useConversationConte.setCurrentConversation;
30
+ var handleGetGroupList = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
31
+ var result;
32
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ _context.next = 2;
36
+ return http.post("/capi/account/imchannel/getchannels", {
37
+ name: keyword,
38
+ type: activekey
39
+ });
40
+ case 2:
41
+ result = _context.sent;
42
+ setList(result.data.data);
43
+ case 4:
44
+ case "end":
45
+ return _context.stop();
46
+ }
47
+ }, _callee);
48
+ })), [activekey, http, keyword]);
49
+ // const handelDebounceGroupList = useDebounceCallback(handleGetGroupList,1000)
50
+ useEffect(function () {
51
+ handleGetGroupList();
52
+ }, [handleGetGroupList]);
53
+ return /*#__PURE__*/React.createElement("div", {
54
+ className: classNames("yuze-groupList-tabs-content overflow-auto")
55
+ }, list === null || list === void 0 ? void 0 : _mapInstanceProperty(list).call(list, function (item) {
56
+ return /*#__PURE__*/React.createElement(TypeItem, {
57
+ type: "2",
58
+ key: item.id,
59
+ name: item.name,
60
+ avatar: item.headimgurl,
61
+ description: "".concat(item.members, " members"),
62
+ onClick: function onClick() {
63
+ renderMidComponent && renderMidComponent();
64
+ setCurrentConversation({
65
+ conversationId: item.sendbirdid,
66
+ chatType: "groupChat",
67
+ name: item.name
68
+ });
69
+ },
70
+ rightNode: /*#__PURE__*/React.createElement(OperateBtn, {
71
+ conversationId: item.sendbirdid,
72
+ chatType: "groupChat",
73
+ onDelete: function onDelete(id) {
74
+ var filterList = _filterInstanceProperty(list).call(list, function (item) {
75
+ return item.sendbirdid !== id;
76
+ });
77
+ setList(filterList);
78
+ }
79
+ })
80
+ });
81
+ }), (list === null || list === void 0 ? void 0 : list.length) === 0 && /*#__PURE__*/React.createElement(NoData, null));
82
+ };
83
+ var GroupList = function GroupList(props) {
84
+ var style = props.style;
85
+ var _useState3 = useState("0"),
86
+ _useState4 = _slicedToArray(_useState3, 2),
87
+ activekey = _useState4[0],
88
+ setActiveKey = _useState4[1];
89
+ var _useState5 = useState(""),
90
+ _useState6 = _slicedToArray(_useState5, 2),
91
+ keyword = _useState6[0],
92
+ setKeyword = _useState6[1];
93
+ var handleDebounceInput = useDebounceCallback(function (event) {
94
+ setKeyword(event.target.value);
95
+ }, 500);
96
+ var items = [{
97
+ label: "Created",
98
+ key: "0",
99
+ children: /*#__PURE__*/React.createElement(List, {
100
+ activekey: activekey,
101
+ keyword: keyword
102
+ })
103
+ }, {
104
+ label: "Admin",
105
+ key: "2",
106
+ children: /*#__PURE__*/React.createElement(List, {
107
+ activekey: activekey,
108
+ keyword: keyword
109
+ })
110
+ }, {
111
+ label: "Joined",
112
+ key: "1",
113
+ children: /*#__PURE__*/React.createElement(List, {
114
+ activekey: activekey,
115
+ keyword: keyword
116
+ })
117
+ }];
118
+ return /*#__PURE__*/React.createElement("div", {
119
+ className: "yuze-groupList h-full w-full",
120
+ style: style
121
+ }, /*#__PURE__*/React.createElement("div", {
122
+ className: classNames("yuze-groupList-header p-4")
123
+ }, /*#__PURE__*/React.createElement(Input, {
124
+ onChange: handleDebounceInput,
125
+ onClear: function onClear() {
126
+ setKeyword("");
127
+ }
128
+ })), /*#__PURE__*/React.createElement("div", {
129
+ className: classNames("yuze-groupList-tabs")
130
+ }, /*#__PURE__*/React.createElement(Tabs, {
131
+ activeKey: activekey,
132
+ centered: true,
133
+ items: items,
134
+ onChange: function onChange(activeKey) {
135
+ setActiveKey(activeKey);
136
+ }
137
+ })));
138
+ };
139
+
140
+ export { GroupList as default };
@@ -0,0 +1,40 @@
1
+ .yuze-groupList {
2
+ background-color: var(--im-main-backgroundColor);
3
+ .ant-tabs .ant-tabs-tab {
4
+ color: var(--im-main-fontColor);
5
+ }
6
+ .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
7
+ color: var(--im-tab-active-fontColor);
8
+ }
9
+ .ant-tabs,
10
+ .ant-tabs-content,
11
+ .ant-tabs-tabpane {
12
+ height: 100%;
13
+ }
14
+ &-tabs {
15
+ height: calc(100% - 68px);
16
+ .ant-tabs-nav{
17
+ &::before{
18
+ border: none;
19
+ }
20
+ .ant-tabs-ink-bar{
21
+ background-color: #fff;
22
+ }
23
+ .ant-tabs-tab{
24
+ color: var(--im-second-fontColor);
25
+ &.ant-tabs-tab-active{
26
+ .ant-tabs-tab-btn{
27
+ color: var(--im-main-fontColor);
28
+ }
29
+ }
30
+ }
31
+ //color: var(--im-main-fontColor);
32
+ }
33
+ &-content {
34
+ height: 100%;
35
+ &::-webkit-scrollbar {
36
+ display: none;
37
+ }
38
+ }
39
+ }
40
+ }
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import "./style/index.scss";
3
+ export interface ICreateGroup {
4
+ name?: string;
5
+ onClose?: () => void;
6
+ open?: boolean;
7
+ style?: React.CSSProperties;
8
+ ref?: React.RefObject<IMobileCreateGroupRef | null>;
9
+ }
10
+ export interface IUserData {
11
+ walletaddress: string;
12
+ headimgurl: string;
13
+ nickname: string;
14
+ name: string;
15
+ id: string;
16
+ type: number;
17
+ userid: string;
18
+ username: string;
19
+ certification: number;
20
+ status: number;
21
+ }
22
+ export interface IMobileCreateGroupRef {
23
+ handleDebounceCreateGroup?: () => void;
24
+ clear?: () => void;
25
+ }
26
+ declare const MobileCreateGroup: React.FC<ICreateGroup>;
27
+ export default MobileCreateGroup;
@@ -0,0 +1,169 @@
1
+ import _toConsumableArray from '@babel/runtime-corejs3/helpers/esm/toConsumableArray';
2
+ import _asyncToGenerator from '@babel/runtime-corejs3/helpers/esm/asyncToGenerator';
3
+ import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
4
+ import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
5
+ import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
6
+ import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
7
+ import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
8
+ import _regeneratorRuntime from '@babel/runtime-corejs3/regenerator';
9
+ import React, { forwardRef, useContext, useState, useEffect, useImperativeHandle } from 'react';
10
+ import { Input, Avatar } from 'agora-chat-uikit';
11
+ import TypeItem from '../../TypeItem/index.js';
12
+ import { Context } from '../../IM/context.js';
13
+ import { useDebounceCallback } from 'usehooks-ts';
14
+ import img from '../image/ic_close.svg.js';
15
+ import './style/index.scss';
16
+ import classNames from 'classnames';
17
+
18
+ var MobileCreateGroup = /*#__PURE__*/forwardRef(function (props, ref) {
19
+ var onClose = props.onClose,
20
+ style = props.style;
21
+ var _useContext = useContext(Context),
22
+ http = _useContext.http;
23
+ var _useState = useState([]),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ list = _useState2[0],
26
+ setList = _useState2[1];
27
+ var _useState3 = useState([]),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ member = _useState4[0],
30
+ setMember = _useState4[1];
31
+ var handleGetFrindList = /*#__PURE__*/function () {
32
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(keyword) {
33
+ var result, list;
34
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
35
+ while (1) switch (_context.prev = _context.next) {
36
+ case 0:
37
+ _context.next = 2;
38
+ return http.post("/capi/account/imsearch/findpage", {
39
+ keyword: keyword,
40
+ type: 2,
41
+ userid: "fpn467kwz4rgzynyytb7enhqnjanggswe1hy5q8cja8",
42
+ size: 10,
43
+ page: 1
44
+ });
45
+ case 2:
46
+ result = _context.sent;
47
+ list = result.data.data.list;
48
+ setList(list);
49
+ case 5:
50
+ case "end":
51
+ return _context.stop();
52
+ }
53
+ }, _callee);
54
+ }));
55
+ return function handleGetFrindList(_x) {
56
+ return _ref.apply(this, arguments);
57
+ };
58
+ }();
59
+ var handleDebounceGetFrindList = useDebounceCallback(handleGetFrindList, 100);
60
+ var handleCreateGroup = /*#__PURE__*/function () {
61
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
62
+ var _result2$data;
63
+ var result1, data, result2;
64
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ _context2.next = 2;
68
+ return http.get("/capi/account/imchannel/imchannelconfig");
69
+ case 2:
70
+ result1 = _context2.sent;
71
+ data = {
72
+ name: _mapInstanceProperty(member).call(member, function (item) {
73
+ return item.name;
74
+ }).join(","),
75
+ customtype: "chat_group",
76
+ headimgurl: result1.data.data.headimgurl,
77
+ memberids: _mapInstanceProperty(member).call(member, function (item) {
78
+ return item.userid;
79
+ })
80
+ };
81
+ _context2.next = 6;
82
+ return http.post("/capi/account/imchannel/save", data);
83
+ case 6:
84
+ result2 = _context2.sent;
85
+ if ((_result2$data = result2.data) !== null && _result2$data !== void 0 && (_result2$data = _result2$data.data) !== null && _result2$data !== void 0 && _result2$data.sendbirdid) {
86
+ onClose && onClose();
87
+ }
88
+ case 8:
89
+ case "end":
90
+ return _context2.stop();
91
+ }
92
+ }, _callee2);
93
+ }));
94
+ return function handleCreateGroup() {
95
+ return _ref2.apply(this, arguments);
96
+ };
97
+ }();
98
+ var handleDebounceCreateGroup = useDebounceCallback(handleCreateGroup, 500);
99
+ useEffect(function () {
100
+ handleGetFrindList();
101
+ }, []);
102
+ useImperativeHandle(ref, function () {
103
+ return {
104
+ handleDebounceCreateGroup: handleDebounceCreateGroup,
105
+ clear: function clear() {
106
+ setMember([]);
107
+ }
108
+ };
109
+ }, [handleDebounceCreateGroup]);
110
+ return /*#__PURE__*/React.createElement("div", {
111
+ className: "yuze-createGroup px-4",
112
+ style: style
113
+ }, /*#__PURE__*/React.createElement(Input, {
114
+ className: "my-3",
115
+ onChange: function onChange(e) {
116
+ handleDebounceGetFrindList(e.target.value);
117
+ }
118
+ }), /*#__PURE__*/React.createElement("div", {
119
+ className: classNames("text-bse text-[var(--im-main-fontColor)]", {
120
+ "pb-3": member.length > 0
121
+ })
122
+ }, "Select: ", member.length), member.length > 0 && /*#__PURE__*/React.createElement("div", {
123
+ className: "overflow-auto pb-3 yuze-createGroup-scroll"
124
+ }, /*#__PURE__*/React.createElement("div", {
125
+ className: "flex flex-row items-center gap-4"
126
+ }, _mapInstanceProperty(member).call(member, function (item) {
127
+ return /*#__PURE__*/React.createElement("div", {
128
+ className: "yuze-createGroup-right-list-member relative shrink-0",
129
+ key: item.id,
130
+ onClick: function onClick() {
131
+ var filterMember = _filterInstanceProperty(member).call(member, function (child) {
132
+ return child.id !== item.id;
133
+ });
134
+ setMember(filterMember);
135
+ }
136
+ }, /*#__PURE__*/React.createElement(Avatar, {
137
+ src: item.headimgurl
138
+ }), /*#__PURE__*/React.createElement("div", {
139
+ className: "yuze-createGroup-right-list-member-close absolute"
140
+ }, /*#__PURE__*/React.createElement("img", {
141
+ src: img
142
+ })));
143
+ }))), /*#__PURE__*/React.createElement("div", {
144
+ className: "yuze-createGroup-list w-full overflow-auto"
145
+ }, _mapInstanceProperty(list).call(list, function (item) {
146
+ return /*#__PURE__*/React.createElement(TypeItem, {
147
+ isSelectable: true,
148
+ name: item.name,
149
+ isChecked: !!_findInstanceProperty(member).call(member, function (child) {
150
+ return child.id === item.id;
151
+ }),
152
+ key: item.id,
153
+ avatar: item.headimgurl,
154
+ onSelected: function onSelected() {
155
+ var _context3;
156
+ setMember(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(member), [item]));
157
+ },
158
+ onCancel: function onCancel() {
159
+ var filterMember = _filterInstanceProperty(member).call(member, function (child) {
160
+ return child.id !== item.id;
161
+ });
162
+ setMember(filterMember);
163
+ }
164
+ });
165
+ })));
166
+ });
167
+ MobileCreateGroup.displayName = "MobileCreateGroup";
168
+
169
+ export { MobileCreateGroup as default };
@@ -0,0 +1,14 @@
1
+ .yuze-createGroup {
2
+ height: 100%;
3
+ &-list{
4
+ height: calc(100% - 60px);
5
+ &::-webkit-scrollbar {
6
+ display: none;
7
+ }
8
+ }
9
+ &-scroll{
10
+ &::-webkit-scrollbar{
11
+ display: none;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ var img = "data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M6.45455 18L2 22V3C2 2.44772 2.44772 2 3 2H21C21.5523 2 22 2.44772 22 3V17C22 17.5523 21.5523 18 21 18H6.45455ZM5.76282 16H20V4H4V17.3851L5.76282 16ZM11 9H13V11H11V9ZM7 9H9V11H7V9ZM15 9H17V11H15V9Z' fill='white' fill-opacity='0.4'/%3e%3c/svg%3e";
2
+
3
+ export { img as default };
@@ -0,0 +1,31 @@
1
+ import React from "react";
2
+ import "./style/index.scss";
3
+ export interface ISearchbox {
4
+ name?: string;
5
+ style?: React.CSSProperties;
6
+ }
7
+ export interface IUserData {
8
+ walletaddress: string;
9
+ headimgurl: string;
10
+ nickname: string;
11
+ name: string;
12
+ id: string;
13
+ type: number;
14
+ userid: string;
15
+ username: string;
16
+ certification: number;
17
+ status: number;
18
+ }
19
+ export interface IGroupData {
20
+ ownername: string;
21
+ members: number;
22
+ headimgurl: string;
23
+ name: string;
24
+ sendbirdid: string;
25
+ id: string;
26
+ type: 1;
27
+ userid: string;
28
+ groupcode: number;
29
+ }
30
+ declare const Searchbox: React.FC<ISearchbox>;
31
+ export default Searchbox;