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,238 @@
1
+ 'use strict';
2
+
3
+ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/esm/asyncToGenerator');
4
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/esm/slicedToArray');
5
+ var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
6
+ var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
7
+ var React = require('react');
8
+ var antd = require('antd');
9
+ var more = require('./image/more.svg.js');
10
+ var context = require('../../../IM/context.js');
11
+ var usehooksTs = require('usehooks-ts');
12
+ var agoraChatUikit = require('agora-chat-uikit');
13
+ var muted = require('./image/muted.svg.js');
14
+ var logout = require('./image/logout.svg.js');
15
+ var _delete = require('./image/delete.svg.js');
16
+ require('./style/index.scss');
17
+
18
+ var OperateBtn = function OperateBtn(props) {
19
+ var conversationId = props.conversationId,
20
+ chatType = props.chatType,
21
+ silent = props.silent,
22
+ onDelete = props.onDelete;
23
+ var _useContext = React.useContext(context.Context),
24
+ http = _useContext.http;
25
+ var _useState = React.useState(false),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ tooltipOpen = _useState2[0],
28
+ setTooltipOpen = _useState2[1];
29
+ var _useConversationConte = agoraChatUikit.useConversationContext(),
30
+ deleteConversation = _useConversationConte.deleteConversation;
31
+ var _Modal$useModal = antd.Modal.useModal(),
32
+ _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
33
+ modal = _Modal$useModal2[0],
34
+ contextHolder = _Modal$useModal2[1];
35
+ var handleTooltip = React.useCallback(function (event) {
36
+ var _context;
37
+ if (!_includesInstanceProperty(_context = event.target.className).call(_context, "yuze-conversationItem-action-img")) {
38
+ setTooltipOpen(false);
39
+ }
40
+ }, [setTooltipOpen]);
41
+ React.useEffect(function () {
42
+ window.addEventListener("click", handleTooltip);
43
+ return function () {
44
+ window.removeEventListener("click", handleTooltip);
45
+ };
46
+ }, [handleTooltip]);
47
+ var handleMuted = React.useCallback(/*#__PURE__*/function () {
48
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
49
+ return _regeneratorRuntime.wrap(function _callee$(_context2) {
50
+ while (1) switch (_context2.prev = _context2.next) {
51
+ case 0:
52
+ event.stopPropagation();
53
+ if (silent) {
54
+ agoraChatUikit.rootStore === null || agoraChatUikit.rootStore === void 0 || agoraChatUikit.rootStore.conversationStore.clearRemindTypeForConversation({
55
+ chatType: chatType,
56
+ conversationId: conversationId
57
+ });
58
+ } else {
59
+ agoraChatUikit.rootStore === null || agoraChatUikit.rootStore === void 0 || agoraChatUikit.rootStore.conversationStore.setSilentModeForConversation({
60
+ chatType: chatType,
61
+ conversationId: conversationId
62
+ });
63
+ }
64
+ case 2:
65
+ case "end":
66
+ return _context2.stop();
67
+ }
68
+ }, _callee);
69
+ }));
70
+ return function (_x) {
71
+ return _ref.apply(this, arguments);
72
+ };
73
+ }(), [chatType, conversationId, silent]);
74
+ var handleDebounceMuted = usehooksTs.useDebounceCallback(handleMuted, 100);
75
+ var handleConfirmDelete = /*#__PURE__*/function () {
76
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(event) {
77
+ return _regeneratorRuntime.wrap(function _callee2$(_context3) {
78
+ while (1) switch (_context3.prev = _context3.next) {
79
+ case 0:
80
+ event.stopPropagation();
81
+ _context3.next = 3;
82
+ return modal.confirm({
83
+ content: /*#__PURE__*/React.createElement("span", {
84
+ className: "text-sm "
85
+ }, "Are you sure you want to delete ?"),
86
+ footer: /*#__PURE__*/React.createElement("div", {
87
+ className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
88
+ }, /*#__PURE__*/React.createElement(antd.Button, {
89
+ type: "default",
90
+ className: "flex-1 bg-transparent",
91
+ size: "large",
92
+ onClick: function onClick() {
93
+ antd.Modal.destroyAll();
94
+ }
95
+ }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
96
+ type: "primary",
97
+ className: "flex-1",
98
+ size: "large",
99
+ onClick: handleDebounceDelete
100
+ }, "Confirm"))
101
+ });
102
+ case 3:
103
+ case "end":
104
+ return _context3.stop();
105
+ }
106
+ }, _callee2);
107
+ }));
108
+ return function handleConfirmDelete(_x2) {
109
+ return _ref2.apply(this, arguments);
110
+ };
111
+ }();
112
+ var handleConfirmLeave = /*#__PURE__*/function () {
113
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(event) {
114
+ return _regeneratorRuntime.wrap(function _callee3$(_context4) {
115
+ while (1) switch (_context4.prev = _context4.next) {
116
+ case 0:
117
+ event.stopPropagation();
118
+ _context4.next = 3;
119
+ return modal.confirm({
120
+ content: /*#__PURE__*/React.createElement("span", {
121
+ className: "text-sm "
122
+ }, "Are you sure you want to delete and leave the group ?"),
123
+ footer: /*#__PURE__*/React.createElement("div", {
124
+ className: "yuze-confirm-footer flex justify-center gap-5 mt-4"
125
+ }, /*#__PURE__*/React.createElement(antd.Button, {
126
+ type: "default",
127
+ className: "flex-1 bg-transparent",
128
+ size: "large",
129
+ onClick: function onClick() {
130
+ antd.Modal.destroyAll();
131
+ }
132
+ }, "Close"), /*#__PURE__*/React.createElement(antd.Button, {
133
+ type: "primary",
134
+ className: "flex-1",
135
+ size: "large",
136
+ onClick: handleDebounceLeave
137
+ }, "Confirm"))
138
+ });
139
+ case 3:
140
+ case "end":
141
+ return _context4.stop();
142
+ }
143
+ }, _callee3);
144
+ }));
145
+ return function handleConfirmLeave(_x3) {
146
+ return _ref3.apply(this, arguments);
147
+ };
148
+ }();
149
+ var handleLeave = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
150
+ return _regeneratorRuntime.wrap(function _callee4$(_context5) {
151
+ while (1) switch (_context5.prev = _context5.next) {
152
+ case 0:
153
+ _context5.next = 2;
154
+ return http.post("/capi/account/imchannel/exitchannel", {
155
+ sendbirdid: conversationId
156
+ });
157
+ case 2:
158
+ deleteConversation({
159
+ conversationId: conversationId,
160
+ chatType: chatType
161
+ });
162
+ onDelete && onDelete(conversationId);
163
+ antd.Modal.destroyAll();
164
+ case 5:
165
+ case "end":
166
+ return _context5.stop();
167
+ }
168
+ }, _callee4);
169
+ })), [chatType, conversationId, deleteConversation, http, onDelete]);
170
+ var handleDebounceLeave = usehooksTs.useDebounceCallback(handleLeave, 100);
171
+ var handleDelete = React.useCallback(/*#__PURE__*/function () {
172
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(event) {
173
+ return _regeneratorRuntime.wrap(function _callee5$(_context6) {
174
+ while (1) switch (_context6.prev = _context6.next) {
175
+ case 0:
176
+ event.stopPropagation();
177
+ _context6.next = 3;
178
+ return http.post("/capi/account/imchannel/delete", {
179
+ sendbirdid: conversationId
180
+ });
181
+ case 3:
182
+ onDelete && onDelete(conversationId);
183
+ antd.Modal.destroyAll();
184
+ case 5:
185
+ case "end":
186
+ return _context6.stop();
187
+ }
188
+ }, _callee5);
189
+ }));
190
+ return function (_x4) {
191
+ return _ref5.apply(this, arguments);
192
+ };
193
+ }(), [conversationId, http, onDelete]);
194
+ var handleDebounceDelete = usehooksTs.useDebounceCallback(handleDelete, 100);
195
+ return /*#__PURE__*/React.createElement(antd.Tooltip, {
196
+ open: tooltipOpen,
197
+ placement: "bottomRight",
198
+ title: /*#__PURE__*/React.createElement("div", {
199
+ className: "flex flex-col"
200
+ }, /*#__PURE__*/React.createElement("div", {
201
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
202
+ onClick: handleDebounceMuted
203
+ }, /*#__PURE__*/React.createElement("img", {
204
+ src: muted,
205
+ alt: "",
206
+ className: "yuze-conversationItem-action-img"
207
+ }), /*#__PURE__*/React.createElement("span", {
208
+ className: "text-sm"
209
+ }, silent ? "Unmuted" : "Muted")), chatType === "groupChat" && /*#__PURE__*/React.createElement("div", {
210
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
211
+ onClick: handleConfirmLeave
212
+ }, /*#__PURE__*/React.createElement("img", {
213
+ src: logout,
214
+ alt: "",
215
+ className: "yuze-conversationItem-action-img"
216
+ }), /*#__PURE__*/React.createElement("span", {
217
+ className: "text-sm"
218
+ }, "Leave Group")), /*#__PURE__*/React.createElement("div", {
219
+ className: "yuze-conversationList-header-right-tooltip-item flex flex-row items-center gap-3 cursor-pointer",
220
+ onClick: handleConfirmDelete
221
+ }, /*#__PURE__*/React.createElement("img", {
222
+ src: _delete,
223
+ alt: "",
224
+ className: "yuze-conversationItem-action-img"
225
+ }), /*#__PURE__*/React.createElement("span", {
226
+ className: "text-sm delete"
227
+ }, "Delete Group")))
228
+ }, /*#__PURE__*/React.createElement("img", {
229
+ src: more,
230
+ className: "cursor-pointer ml-2 yuze-conversationItem-action-img",
231
+ onClick: function onClick(event) {
232
+ event.stopPropagation();
233
+ setTooltipOpen(!tooltipOpen);
234
+ }
235
+ }), contextHolder);
236
+ };
237
+
238
+ module.exports = OperateBtn;
@@ -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,142 @@
1
+ 'use strict';
2
+
3
+ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/esm/asyncToGenerator');
4
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/esm/slicedToArray');
5
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
6
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
7
+ var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
8
+ var React = require('react');
9
+ require('./style/index.scss');
10
+ var classNames = require('classnames');
11
+ var agoraChatUikit = require('agora-chat-uikit');
12
+ var antd = require('antd');
13
+ var context = require('../../IM/context.js');
14
+ var index = require('../../TypeItem/index.js');
15
+ var index$1 = require('./OperateBtn/index.js');
16
+ var index$2 = require('../../NoData/index.js');
17
+ var usehooksTs = require('usehooks-ts');
18
+
19
+ var List = function List(props) {
20
+ var _props$activekey = props.activekey,
21
+ activekey = _props$activekey === void 0 ? "0" : _props$activekey,
22
+ keyword = props.keyword;
23
+ var _useContext = React.useContext(context.Context),
24
+ http = _useContext.http,
25
+ renderMidComponent = _useContext.renderMidComponent;
26
+ var _useState = React.useState(null),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ list = _useState2[0],
29
+ setList = _useState2[1];
30
+ var _useConversationConte = agoraChatUikit.useConversationContext(),
31
+ setCurrentConversation = _useConversationConte.setCurrentConversation;
32
+ var handleGetGroupList = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
33
+ var result;
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/imchannel/getchannels", {
39
+ name: keyword,
40
+ type: activekey
41
+ });
42
+ case 2:
43
+ result = _context.sent;
44
+ setList(result.data.data);
45
+ case 4:
46
+ case "end":
47
+ return _context.stop();
48
+ }
49
+ }, _callee);
50
+ })), [activekey, http, keyword]);
51
+ // const handelDebounceGroupList = useDebounceCallback(handleGetGroupList,1000)
52
+ React.useEffect(function () {
53
+ handleGetGroupList();
54
+ }, [handleGetGroupList]);
55
+ return /*#__PURE__*/React.createElement("div", {
56
+ className: classNames("yuze-groupList-tabs-content overflow-auto")
57
+ }, list === null || list === void 0 ? void 0 : _mapInstanceProperty(list).call(list, function (item) {
58
+ return /*#__PURE__*/React.createElement(index, {
59
+ type: "2",
60
+ key: item.id,
61
+ name: item.name,
62
+ avatar: item.headimgurl,
63
+ description: "".concat(item.members, " members"),
64
+ onClick: function onClick() {
65
+ renderMidComponent && renderMidComponent();
66
+ setCurrentConversation({
67
+ conversationId: item.sendbirdid,
68
+ chatType: "groupChat",
69
+ name: item.name
70
+ });
71
+ },
72
+ rightNode: /*#__PURE__*/React.createElement(index$1, {
73
+ conversationId: item.sendbirdid,
74
+ chatType: "groupChat",
75
+ onDelete: function onDelete(id) {
76
+ var filterList = _filterInstanceProperty(list).call(list, function (item) {
77
+ return item.sendbirdid !== id;
78
+ });
79
+ setList(filterList);
80
+ }
81
+ })
82
+ });
83
+ }), (list === null || list === void 0 ? void 0 : list.length) === 0 && /*#__PURE__*/React.createElement(index$2, null));
84
+ };
85
+ var GroupList = function GroupList(props) {
86
+ var style = props.style;
87
+ var _useState3 = React.useState("0"),
88
+ _useState4 = _slicedToArray(_useState3, 2),
89
+ activekey = _useState4[0],
90
+ setActiveKey = _useState4[1];
91
+ var _useState5 = React.useState(""),
92
+ _useState6 = _slicedToArray(_useState5, 2),
93
+ keyword = _useState6[0],
94
+ setKeyword = _useState6[1];
95
+ var handleDebounceInput = usehooksTs.useDebounceCallback(function (event) {
96
+ setKeyword(event.target.value);
97
+ }, 500);
98
+ var items = [{
99
+ label: "Created",
100
+ key: "0",
101
+ children: /*#__PURE__*/React.createElement(List, {
102
+ activekey: activekey,
103
+ keyword: keyword
104
+ })
105
+ }, {
106
+ label: "Admin",
107
+ key: "2",
108
+ children: /*#__PURE__*/React.createElement(List, {
109
+ activekey: activekey,
110
+ keyword: keyword
111
+ })
112
+ }, {
113
+ label: "Joined",
114
+ key: "1",
115
+ children: /*#__PURE__*/React.createElement(List, {
116
+ activekey: activekey,
117
+ keyword: keyword
118
+ })
119
+ }];
120
+ return /*#__PURE__*/React.createElement("div", {
121
+ className: "yuze-groupList h-full w-full",
122
+ style: style
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: classNames("yuze-groupList-header p-4")
125
+ }, /*#__PURE__*/React.createElement(agoraChatUikit.Input, {
126
+ onChange: handleDebounceInput,
127
+ onClear: function onClear() {
128
+ setKeyword("");
129
+ }
130
+ })), /*#__PURE__*/React.createElement("div", {
131
+ className: classNames("yuze-groupList-tabs")
132
+ }, /*#__PURE__*/React.createElement(antd.Tabs, {
133
+ activeKey: activekey,
134
+ centered: true,
135
+ items: items,
136
+ onChange: function onChange(activeKey) {
137
+ setActiveKey(activeKey);
138
+ }
139
+ })));
140
+ };
141
+
142
+ module.exports = GroupList;
@@ -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,171 @@
1
+ 'use strict';
2
+
3
+ var _toConsumableArray = require('@babel/runtime-corejs3/helpers/esm/toConsumableArray');
4
+ var _asyncToGenerator = require('@babel/runtime-corejs3/helpers/esm/asyncToGenerator');
5
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/esm/slicedToArray');
6
+ var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
7
+ var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
8
+ var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
9
+ var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
10
+ var _regeneratorRuntime = require('@babel/runtime-corejs3/regenerator');
11
+ var React = require('react');
12
+ var agoraChatUikit = require('agora-chat-uikit');
13
+ var index = require('../../TypeItem/index.js');
14
+ var context = require('../../IM/context.js');
15
+ var usehooksTs = require('usehooks-ts');
16
+ var ic_close = require('../image/ic_close.svg.js');
17
+ require('./style/index.scss');
18
+ var classNames = require('classnames');
19
+
20
+ var MobileCreateGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {
21
+ var onClose = props.onClose,
22
+ style = props.style;
23
+ var _useContext = React.useContext(context.Context),
24
+ http = _useContext.http;
25
+ var _useState = React.useState([]),
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ list = _useState2[0],
28
+ setList = _useState2[1];
29
+ var _useState3 = React.useState([]),
30
+ _useState4 = _slicedToArray(_useState3, 2),
31
+ member = _useState4[0],
32
+ setMember = _useState4[1];
33
+ var handleGetFrindList = /*#__PURE__*/function () {
34
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(keyword) {
35
+ var result, list;
36
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ _context.next = 2;
40
+ return http.post("/capi/account/imsearch/findpage", {
41
+ keyword: keyword,
42
+ type: 2,
43
+ userid: "fpn467kwz4rgzynyytb7enhqnjanggswe1hy5q8cja8",
44
+ size: 10,
45
+ page: 1
46
+ });
47
+ case 2:
48
+ result = _context.sent;
49
+ list = result.data.data.list;
50
+ setList(list);
51
+ case 5:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }, _callee);
56
+ }));
57
+ return function handleGetFrindList(_x) {
58
+ return _ref.apply(this, arguments);
59
+ };
60
+ }();
61
+ var handleDebounceGetFrindList = usehooksTs.useDebounceCallback(handleGetFrindList, 100);
62
+ var handleCreateGroup = /*#__PURE__*/function () {
63
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
64
+ var _result2$data;
65
+ var result1, data, result2;
66
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
67
+ while (1) switch (_context2.prev = _context2.next) {
68
+ case 0:
69
+ _context2.next = 2;
70
+ return http.get("/capi/account/imchannel/imchannelconfig");
71
+ case 2:
72
+ result1 = _context2.sent;
73
+ data = {
74
+ name: _mapInstanceProperty(member).call(member, function (item) {
75
+ return item.name;
76
+ }).join(","),
77
+ customtype: "chat_group",
78
+ headimgurl: result1.data.data.headimgurl,
79
+ memberids: _mapInstanceProperty(member).call(member, function (item) {
80
+ return item.userid;
81
+ })
82
+ };
83
+ _context2.next = 6;
84
+ return http.post("/capi/account/imchannel/save", data);
85
+ case 6:
86
+ result2 = _context2.sent;
87
+ if ((_result2$data = result2.data) !== null && _result2$data !== void 0 && (_result2$data = _result2$data.data) !== null && _result2$data !== void 0 && _result2$data.sendbirdid) {
88
+ onClose && onClose();
89
+ }
90
+ case 8:
91
+ case "end":
92
+ return _context2.stop();
93
+ }
94
+ }, _callee2);
95
+ }));
96
+ return function handleCreateGroup() {
97
+ return _ref2.apply(this, arguments);
98
+ };
99
+ }();
100
+ var handleDebounceCreateGroup = usehooksTs.useDebounceCallback(handleCreateGroup, 500);
101
+ React.useEffect(function () {
102
+ handleGetFrindList();
103
+ }, []);
104
+ React.useImperativeHandle(ref, function () {
105
+ return {
106
+ handleDebounceCreateGroup: handleDebounceCreateGroup,
107
+ clear: function clear() {
108
+ setMember([]);
109
+ }
110
+ };
111
+ }, [handleDebounceCreateGroup]);
112
+ return /*#__PURE__*/React.createElement("div", {
113
+ className: "yuze-createGroup px-4",
114
+ style: style
115
+ }, /*#__PURE__*/React.createElement(agoraChatUikit.Input, {
116
+ className: "my-3",
117
+ onChange: function onChange(e) {
118
+ handleDebounceGetFrindList(e.target.value);
119
+ }
120
+ }), /*#__PURE__*/React.createElement("div", {
121
+ className: classNames("text-bse text-[var(--im-main-fontColor)]", {
122
+ "pb-3": member.length > 0
123
+ })
124
+ }, "Select: ", member.length), member.length > 0 && /*#__PURE__*/React.createElement("div", {
125
+ className: "overflow-auto pb-3 yuze-createGroup-scroll"
126
+ }, /*#__PURE__*/React.createElement("div", {
127
+ className: "flex flex-row items-center gap-4"
128
+ }, _mapInstanceProperty(member).call(member, function (item) {
129
+ return /*#__PURE__*/React.createElement("div", {
130
+ className: "yuze-createGroup-right-list-member relative shrink-0",
131
+ key: item.id,
132
+ onClick: function onClick() {
133
+ var filterMember = _filterInstanceProperty(member).call(member, function (child) {
134
+ return child.id !== item.id;
135
+ });
136
+ setMember(filterMember);
137
+ }
138
+ }, /*#__PURE__*/React.createElement(agoraChatUikit.Avatar, {
139
+ src: item.headimgurl
140
+ }), /*#__PURE__*/React.createElement("div", {
141
+ className: "yuze-createGroup-right-list-member-close absolute"
142
+ }, /*#__PURE__*/React.createElement("img", {
143
+ src: ic_close
144
+ })));
145
+ }))), /*#__PURE__*/React.createElement("div", {
146
+ className: "yuze-createGroup-list w-full overflow-auto"
147
+ }, _mapInstanceProperty(list).call(list, function (item) {
148
+ return /*#__PURE__*/React.createElement(index, {
149
+ isSelectable: true,
150
+ name: item.name,
151
+ isChecked: !!_findInstanceProperty(member).call(member, function (child) {
152
+ return child.id === item.id;
153
+ }),
154
+ key: item.id,
155
+ avatar: item.headimgurl,
156
+ onSelected: function onSelected() {
157
+ var _context3;
158
+ setMember(_concatInstanceProperty(_context3 = []).call(_context3, _toConsumableArray(member), [item]));
159
+ },
160
+ onCancel: function onCancel() {
161
+ var filterMember = _filterInstanceProperty(member).call(member, function (child) {
162
+ return child.id !== item.id;
163
+ });
164
+ setMember(filterMember);
165
+ }
166
+ });
167
+ })));
168
+ });
169
+ MobileCreateGroup.displayName = "MobileCreateGroup";
170
+
171
+ module.exports = MobileCreateGroup;
@@ -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,5 @@
1
+ 'use strict';
2
+
3
+ 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";
4
+
5
+ module.exports = img;