@droppii-org/chat-sdk 0.1.65 → 0.1.66

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-detail/ConversationMessageList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAiBzE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,QAAA,MAAM,uBAAuB,GAAI,gBAAgB,4BAA4B,4CAwK5E,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ConversationMessageList.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-detail/ConversationMessageList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBzE,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED,QAAA,MAAM,uBAAuB,GAAI,gBAAgB,4BAA4B,4CAuL5E,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -9,6 +9,7 @@ import MessageInfiniteScroll from "../../components/message/MessageInfiniteScrol
9
9
  import { useMessage } from "../../hooks/message/useMessage";
10
10
  import { useMessageListScroll } from "../../hooks/message/useMessageListScroll";
11
11
  import { usePinMessage } from "../../hooks/message/usePinMessage";
12
+ import { useRevokeMessage } from "../../hooks/message/useRevokeMessage";
12
13
  import useConversationStore from "../../store/conversation";
13
14
  import useAuthStore from "../../store/auth";
14
15
  import { isGroupChat as resolveIsGroupChat } from "../../utils/conversation";
@@ -59,6 +60,17 @@ const ConversationMessageList = ({ bottomSlot }) => {
59
60
  toastMessage.error(tCommon("unpin_message_failed"));
60
61
  }
61
62
  }, [conversationId, unpinMessage, tCommon]);
63
+ const { revokeMessage } = useRevokeMessage();
64
+ const handleRevokeMessage = useCallback(async (clientMsgID) => {
65
+ closeToolbox();
66
+ try {
67
+ await revokeMessage(conversationId, clientMsgID);
68
+ toastMessage.success(tCommon("revoke_message_success"));
69
+ }
70
+ catch (_a) {
71
+ toastMessage.error(tCommon("revoke_message_failed"));
72
+ }
73
+ }, [closeToolbox, conversationId, revokeMessage, tCommon]);
62
74
  const onPressQuoteMessage = useCallback((clientMsgID) => {
63
75
  const hasMessage = loadState.messageList.some((msg) => msg.clientMsgID === clientMsgID);
64
76
  if (hasMessage) {
@@ -80,6 +92,6 @@ const ConversationMessageList = ({ bottomSlot }) => {
80
92
  target: scrollRef,
81
93
  enable: !!openToolboxMessageId,
82
94
  });
83
- return (_jsxs("div", { "data-testid": "conversation-message-list", className: "relative flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-white", children: [isMessageLoading ? (_jsx("div", { className: "flex flex-1 items-center justify-center py-12", children: _jsx(Spin, {}) })) : (_jsxs(MessageInfiniteScroll, { scrollRef: scrollRef, scrollableTargetId: "scrollableConversationMessagesDiv", loadState: loadState, moreOldLoading: moreOldLoading, onLoadMoreOld: loadMoreOldMessage, onScroll: handleInfiniteScroll, containerClassName: "h-full", empty: _jsx("div", { className: "flex flex-1 items-center justify-center py-12", children: _jsx(Empty, { description: t("empty.no_messages") }) }), children: [bottomSlot, loadState.messageList.map((message, index, array) => (_jsx(MessageItem, { message: message, allMessages: array, isGroupChat: isGroupChat, forceHideTip: index === 0 && !!bottomSlot, contextMenuOpen: openToolboxMessageId === message.clientMsgID, onContextMenuOpenChange: (open) => setOpenToolboxMessageId(open ? message.clientMsgID : null), onQuoteMessage: setQuotedMessage, onRevokeMessage: closeToolbox, onPressQuoteMessage: onPressQuoteMessage, onPinMessage: handlePinMessage, onUnpinMessage: handleUnpinMessage, enableLongPress: true }, message.clientMsgID)))] })), _jsx(PinLimitModal, { open: pinLimitModalOpen, max: pinnedTotalCount, onClose: () => setPinLimitModalOpen(false) })] }));
95
+ return (_jsxs("div", { "data-testid": "conversation-message-list", className: "relative flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-white", children: [isMessageLoading ? (_jsx("div", { className: "flex flex-1 items-center justify-center py-12", children: _jsx(Spin, {}) })) : (_jsxs(MessageInfiniteScroll, { scrollRef: scrollRef, scrollableTargetId: "scrollableConversationMessagesDiv", loadState: loadState, moreOldLoading: moreOldLoading, onLoadMoreOld: loadMoreOldMessage, onScroll: handleInfiniteScroll, containerClassName: "h-full", empty: _jsx("div", { className: "flex flex-1 items-center justify-center py-12", children: _jsx(Empty, { description: t("empty.no_messages") }) }), children: [bottomSlot, loadState.messageList.map((message, index, array) => (_jsx(MessageItem, { message: message, allMessages: array, isGroupChat: isGroupChat, forceHideTip: index === 0 && !!bottomSlot, contextMenuOpen: openToolboxMessageId === message.clientMsgID, onContextMenuOpenChange: (open) => setOpenToolboxMessageId(open ? message.clientMsgID : null), onQuoteMessage: setQuotedMessage, onRevokeMessage: handleRevokeMessage, onPressQuoteMessage: onPressQuoteMessage, onPinMessage: handlePinMessage, onUnpinMessage: handleUnpinMessage, enableLongPress: true }, message.clientMsgID)))] })), _jsx(PinLimitModal, { open: pinLimitModalOpen, max: pinnedTotalCount, onClose: () => setPinLimitModalOpen(false) })] }));
84
96
  };
85
97
  export default ConversationMessageList;
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/global/useGlobalEvent.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,cAAc,YAkV1B,CAAC"}
1
+ {"version":3,"file":"useGlobalEvent.d.ts","sourceRoot":"","sources":["../../../src/hooks/global/useGlobalEvent.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,cAAc,YAmV1B,CAAC"}
@@ -241,6 +241,7 @@ export const useGlobalEvent = () => {
241
241
  DChatSDK.off(CbEvents.OnSyncServerFailed, syncFailedHandler);
242
242
  // message
243
243
  DChatSDK.off(CbEvents.OnRecvNewMessages, newMessageHandler);
244
+ DChatSDK.off(CbEvents.OnNewRecvMessageRevoked, revokedMessageHandler);
244
245
  DChatSDK.off(CbEvents.OnRecvMessagePinned, messagePinnedHandler);
245
246
  // conversation
246
247
  DChatSDK.off(CbEvents.OnConversationChanged, conversationChangeHandler);
@@ -72,6 +72,8 @@
72
72
  "revoke_message_confirm_message": "Bạn có chắc chắn muốn thu hồi tin nhắn này?",
73
73
  "revoke": "Thu hồi",
74
74
  "revoked": "Đã thu hồi tin nhắn",
75
+ "revoke_message_success": "Đã thu hồi tin nhắn",
76
+ "revoke_message_failed": "Thu hồi tin nhắn thất bại",
75
77
  "manual_assign_search_placeholder": "Tìm kiếm",
76
78
  "manual_assign_no_results": "Không có kết quả phù hợp",
77
79
  "manual_assign_confirm_question": "Phân công lại cho <bold>{{name}}</bold>?",