@droppii-org/chat-sdk 0.1.68 → 0.1.70

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 (32) hide show
  1. package/dist/components/conversation/ConversationBySessionItem.d.ts.map +1 -1
  2. package/dist/components/conversation/ConversationBySessionItem.js +4 -1
  3. package/dist/components/conversation-inbox/ConversationInboxItem.d.ts.map +1 -1
  4. package/dist/components/conversation-inbox/ConversationInboxItem.js +1 -1
  5. package/dist/components/message/item/TextMessage.d.ts.map +1 -1
  6. package/dist/components/message/item/TextMessage.js +6 -0
  7. package/dist/components/message/item/index.d.ts.map +1 -1
  8. package/dist/components/message/item/index.js +8 -2
  9. package/dist/components/message/item/renderMessageContent.d.ts.map +1 -1
  10. package/dist/components/message/item/renderMessageContent.js +0 -3
  11. package/dist/components/message/reply/ReplyQuoteContent.d.ts.map +1 -1
  12. package/dist/components/message/reply/ReplyQuoteContent.js +5 -2
  13. package/dist/context/ChatContext.d.ts +1 -1
  14. package/dist/context/ChatContext.d.ts.map +1 -1
  15. package/dist/context/ChatContext.js +1 -2
  16. package/dist/hooks/message/useMessage.d.ts +0 -1
  17. package/dist/hooks/message/useMessage.d.ts.map +1 -1
  18. package/dist/hooks/message/useMessage.js +0 -12
  19. package/dist/hooks/message/useSendMessage.d.ts +2 -9
  20. package/dist/hooks/message/useSendMessage.d.ts.map +1 -1
  21. package/dist/hooks/message/useSendMessage.js +9 -52
  22. package/dist/index.d.ts +0 -5
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +0 -4
  25. package/dist/locales/vi/common.json +1 -3
  26. package/dist/types/chat.d.ts +2 -5
  27. package/dist/types/chat.d.ts.map +1 -1
  28. package/dist/types/chat.js +4 -4
  29. package/dist/utils/common.d.ts +8 -4
  30. package/dist/utils/common.d.ts.map +1 -1
  31. package/dist/utils/common.js +33 -32
  32. package/package.json +126 -127
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationBySessionItem.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/ConversationBySessionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAShD,UAAU,8BAA8B;IACtC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,QAAA,MAAM,yBAAyB,GAAI,iCAGhC,8BAA8B,mDA8DhC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ConversationBySessionItem.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/ConversationBySessionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAShD,UAAU,8BAA8B;IACtC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,QAAA,MAAM,yBAAyB,GAAI,iCAGhC,8BAA8B,mDAiEhC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -35,7 +35,10 @@ const ConversationBySessionItem = ({ sessionItem, latestPreview, }) => {
35
35
  const latestMsgSendTime = (latestPreview === null || latestPreview === void 0 ? void 0 : latestPreview.latestMsgSendTime) || 0;
36
36
  if (!conversation)
37
37
  return null;
38
- return (_jsx(ThreadCard, { onClick: () => handleConversationClick(conversation), isSelected: isSelected, unreadCount: conversation.unreadCount, preview: parseLatestMessage(latestMsg, user === null || user === void 0 ? void 0 : user.userID, t), time: latestMsgSendTime > 0
38
+ return (_jsx(ThreadCard, { onClick: () => handleConversationClick(conversation), isSelected: isSelected, unreadCount: conversation.unreadCount, preview: parseLatestMessage(latestMsg, user === null || user === void 0 ? void 0 : user.userID, t, {
39
+ peerType: conversation.peerType,
40
+ showName: conversation.showName,
41
+ }), time: latestMsgSendTime > 0
39
42
  ? formatTimestamp(latestMsgSendTime, { hasTime: true })
40
43
  : undefined, avatar: _jsx(Avatar, { size: 48, src: avatar, children: ((_a = displayName === null || displayName === void 0 ? void 0 : displayName.charAt) === null || _a === void 0 ? void 0 : _a.call(displayName, 0)) || "A" }), title: _jsx("h3", { className: "truncate text-sm font-semibold text-gray-900", children: displayName }) }));
41
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationInboxItem.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-inbox/ConversationInboxItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAYjE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC/C;AAQD,QAAA,MAAM,qBAAqB,GAAI,mBAAmB,0BAA0B,4CA0C3E,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ConversationInboxItem.d.ts","sourceRoot":"","sources":["../../../src/components/conversation-inbox/ConversationInboxItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAYjE,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC/C;AAQD,QAAA,MAAM,qBAAqB,GAAI,mBAAmB,0BAA0B,4CA2C3E,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -23,7 +23,7 @@ const ConversationInboxItem = ({ item, onClick }) => {
23
23
  const displayName = resolveConversationDisplayName(item, t);
24
24
  const avatarUrl = useConversationAvatarUrl(item);
25
25
  const badgeLabel = resolvePeerBadgeLabel(item.peerType, t);
26
- const latestMessagePreview = parseLatestMessage(item.latestMsg, currentUserId, tCommon);
26
+ const latestMessagePreview = parseLatestMessage(item.latestMsg, currentUserId, tCommon, { peerType: item.peerType, showName: item.showName });
27
27
  const latestMessageTime = formatLatestMessageTime(item.latestMsgSendTime || null);
28
28
  const unreadCount = (_a = item.unreadCount) !== null && _a !== void 0 ? _a : 0;
29
29
  return (_jsx(ThreadCard, { testId: "conversation-inbox-thread-card", onClick: () => onClick(item), unreadCount: unreadCount, time: latestMessageTime, preview: latestMessagePreview, avatar: _jsx(ConversationPeerAvatar, { peerType: item.peerType, displayName: displayName, avatarUrl: avatarUrl, badgeLabel: badgeLabel }), title: _jsx(ConversationInboxTitle, { peerType: item.peerType, displayName: displayName, hasUnread: unreadCount > 0 }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"TextMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/TextMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,QAAA,MAAM,eAAe,GAAI,OAAO,oBAAoB,mDAgDnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"TextMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/TextMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAQnE,UAAU,oBAAoB;IAC5B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,QAAA,MAAM,eAAe,GAAI,OAAO,oBAAoB,mDAqDnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,6 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import clsx from "clsx";
4
+ import { MessageType } from "@openim/wasm-client-sdk";
5
+ import useAuthStore from "../../../store/auth";
4
6
  import { htmlHasFormatting, sanitizeHtml, stripHtml } from "../../../utils/common";
5
7
  import { extractLinkUrls } from "../../../utils/link";
6
8
  import LinkText from "./LinkText";
@@ -8,6 +10,7 @@ import { MESSAGE_TEXT_CLASS } from "./textStyle";
8
10
  const TextMessageItem = (props) => {
9
11
  var _a, _b, _c, _d;
10
12
  const { message } = props;
13
+ const isCrm = useAuthStore((state) => state.isCrm);
11
14
  let extendMessageInfo = null;
12
15
  try {
13
16
  extendMessageInfo = JSON.parse((message === null || message === void 0 ? void 0 : message.ex) || "{}");
@@ -16,6 +19,9 @@ const TextMessageItem = (props) => {
16
19
  extendMessageInfo = {};
17
20
  console.error("Failed to parse extendMessageInfo", error);
18
21
  }
22
+ if ((message === null || message === void 0 ? void 0 : message.contentType) === MessageType.CustomMessage && !isCrm) {
23
+ return null;
24
+ }
19
25
  const richHtmlContent = ((_b = (_a = extendMessageInfo === null || extendMessageInfo === void 0 ? void 0 : extendMessageInfo.messageInfo) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.content) || "";
20
26
  if (richHtmlContent && htmlHasFormatting(richHtmlContent)) {
21
27
  const sanitizedContent = sanitizeHtml(richHtmlContent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,IAAI,eAAe,EAG/B,MAAM,yBAAyB,CAAC;AAiCjC,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAeD,QAAA,MAAM,WAAW,GAAI,qMAalB,gBAAgB,mDA8QlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,IAAI,eAAe,EAG/B,MAAM,yBAAyB,CAAC;AAiCjC,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAeD,QAAA,MAAM,WAAW,GAAI,qMAalB,gBAAgB,mDAuRlB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -6,7 +6,7 @@ import { Dropdown, message as toastMessage } from "antd";
6
6
  import { MessageStatus, MessageType, } from "@openim/wasm-client-sdk";
7
7
  import MessageBubble from "./MessageBubble";
8
8
  import { renderBubbleContent } from "./renderMessageContent";
9
- import { getVisibleNeighbor, isMessageHiddenForViewer, } from "../../../hooks/message/useMessage";
9
+ import { getVisibleNeighbor, visibleTypeMessage, } from "../../../hooks/message/useMessage";
10
10
  import { MSG_ITEM_CONTENT_PREFIX, MSG_ITEM_PREFIX } from "../../../constants";
11
11
  import { formatTimestamp } from "../../../utils/common";
12
12
  import useAuthStore from "../../../store/auth";
@@ -127,7 +127,13 @@ const MessageItem = ({ message, allMessages, isGroupChat = false, forceHideTip =
127
127
  const showAvatar = showPeerInfo && !isMine && !nextSameUser;
128
128
  const showSenderName = showPeerInfo && !isMine && !prevSameUser;
129
129
  const showTip = forceHideTip ? false : !nextSameUser;
130
- if (isMessageHiddenForViewer(message, isCrm)) {
130
+ if (!isCrm && isInternalMessage) {
131
+ return null;
132
+ }
133
+ if ((!isCrm &&
134
+ (MessageType.CustomMessage === (message === null || message === void 0 ? void 0 : message.contentType) ||
135
+ isSystemLogMessage)) ||
136
+ !visibleTypeMessage.includes(message === null || message === void 0 ? void 0 : message.contentType)) {
131
137
  return null;
132
138
  }
133
139
  const messageContainerProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"renderMessageContent.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/renderMessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAe,MAAM,yBAAyB,CAAC;AAYtF,eAAO,MAAM,mBAAmB,GAAI,SAAS,eAAe,4CAyB3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,eAAe,EACxB,sBAAsB,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,4CAwBpD,CAAC"}
1
+ {"version":3,"file":"renderMessageContent.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/renderMessageContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAe,MAAM,yBAAyB,CAAC;AAWtF,eAAO,MAAM,mBAAmB,GAAI,SAAS,eAAe,4CAuB3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,eAAe,EACxB,sBAAsB,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,4CAwBpD,CAAC"}
@@ -9,7 +9,6 @@ import UrlTextMessageItem from "./UrlTextMessage";
9
9
  import RevokeMessageItem from "./RevokeMessage";
10
10
  import QuoteMessageItem from "./QuoteMessage";
11
11
  import SystemLogMessageItem from "./SystemLogMessage";
12
- import CustomMessageItem from "./CustomMessage";
13
12
  export const renderMessageByType = (message) => {
14
13
  switch (message === null || message === void 0 ? void 0 : message.contentType) {
15
14
  case MessageType.TextMessage:
@@ -29,8 +28,6 @@ export const renderMessageByType = (message) => {
29
28
  return _jsx(SystemLogMessageItem, { message: message });
30
29
  case MessageType.RevokeMessage:
31
30
  return _jsx(RevokeMessageItem, {});
32
- case MessageType.CustomMessage:
33
- return _jsx(CustomMessageItem, { message: message });
34
31
  default:
35
32
  return _jsx(TextMessageItem, { message: message });
36
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReplyQuoteContent.d.ts","sourceRoot":"","sources":["../../../../src/components/message/reply/ReplyQuoteContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AASnE,eAAO,MAAM,oBAAoB,GAAI,aAAa,WAAW,YACb,CAAC;AAEjD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,GAAI,qBAG/B,sBAAsB,4CAuBxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ReplyQuoteContent.d.ts","sourceRoot":"","sources":["../../../../src/components/message/reply/ReplyQuoteContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AASnE,eAAO,MAAM,oBAAoB,GAAI,aAAa,WAAW,YACb,CAAC;AAEjD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,GAAI,qBAG/B,sBAAsB,4CA0BxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -9,9 +9,12 @@ const TEXT_LIKE_MESSAGE_TYPES = [
9
9
  ];
10
10
  export const hasReplyMediaPreview = (contentType) => !TEXT_LIKE_MESSAGE_TYPES.includes(contentType);
11
11
  export const ReplyQuoteContent = ({ message, title = "", }) => {
12
- var _a, _b;
12
+ var _a, _b, _c, _d;
13
13
  const { t } = useTranslation();
14
14
  const hasMedia = hasReplyMediaPreview(message.contentType);
15
- return (_jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-0.5 pr-2 self-stretch", children: [_jsx("div", { className: "w-[3px] shrink-0 self-stretch rounded bg-gray-cool-200" }), hasMedia && _jsx(ReplyPreviewMedia, { message: message }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col justify-center py-1 pl-2", children: [_jsx("p", { className: "truncate text-[14px] font-medium leading-[160%] text-gray-900", children: title }), _jsx("p", { className: "truncate text-[13px] leading-[160%] text-gray-400", children: generateContentBasedOnMessageType(message.contentType, ((_a = message.textElem) === null || _a === void 0 ? void 0 : _a.content) || ((_b = message.quoteElem) === null || _b === void 0 ? void 0 : _b.text), t, message.customElem) })] })] }));
15
+ return (_jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-0.5 pr-2 self-stretch", children: [_jsx("div", { className: "w-[3px] shrink-0 self-stretch rounded bg-gray-cool-200" }), hasMedia && _jsx(ReplyPreviewMedia, { message: message }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col justify-center py-1 pl-2", children: [_jsx("p", { className: "truncate text-[14px] font-medium leading-[160%] text-gray-900", children: title }), _jsx("p", { className: "truncate text-[13px] leading-[160%] text-gray-400", children: generateContentBasedOnMessageType(message.contentType, ((_a = message.textElem) === null || _a === void 0 ? void 0 : _a.content) || ((_b = message.quoteElem) === null || _b === void 0 ? void 0 : _b.text), t, {
16
+ duration: (_c = message.videoElem) === null || _c === void 0 ? void 0 : _c.duration,
17
+ fileName: (_d = message.fileElem) === null || _d === void 0 ? void 0 : _d.fileName,
18
+ }) })] })] }));
16
19
  };
17
20
  export default ReplyQuoteContent;
@@ -2,5 +2,5 @@ import "../styles/global.css";
2
2
  import { ChatContextType, ChatProviderProps } from "../types/chat";
3
3
  export declare const ChatContext: import("react").Context<ChatContextType>;
4
4
  export declare const useChatContext: () => ChatContextType;
5
- export declare const ChatProvider: ({ children, config, renderCustomMessage, }: ChatProviderProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ChatProvider: ({ children, config }: ChatProviderProps) => import("react/jsx-runtime").JSX.Element;
6
6
  //# sourceMappingURL=ChatContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,iBAAiB,EAGlB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,WAAW,0CAOtB,CAAC;AAEH,eAAO,MAAM,cAAc,uBAAgC,CAAC;AAE5D,eAAO,MAAM,YAAY,GAAI,4CAI1B,iBAAiB,4CAsGnB,CAAC"}
1
+ {"version":3,"file":"ChatContext.d.ts","sourceRoot":"","sources":["../../src/context/ChatContext.tsx"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EACL,eAAe,EACf,iBAAiB,EAGlB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,WAAW,0CAOtB,CAAC;AAEH,eAAO,MAAM,cAAc,uBAAgC,CAAC;AAE5D,eAAO,MAAM,YAAY,GAAI,sBAAsB,iBAAiB,4CAqGnE,CAAC"}
@@ -18,7 +18,7 @@ export const ChatContext = createContext({
18
18
  updateSyncStatus: () => { },
19
19
  });
20
20
  export const useChatContext = () => useContext(ChatContext);
21
- export const ChatProvider = ({ children, config, renderCustomMessage, }) => {
21
+ export const ChatProvider = ({ children, config }) => {
22
22
  const [connectStatus, setConnectStatus] = useState(ConnectStatus.Disconnected);
23
23
  const [syncStatus, setSyncStatus] = useState(SyncStatus.Success);
24
24
  const [user, setUser] = useState(null);
@@ -91,6 +91,5 @@ export const ChatProvider = ({ children, config, renderCustomMessage, }) => {
91
91
  getSelfUserInfo,
92
92
  updateConnectStatus,
93
93
  updateSyncStatus,
94
- renderCustomMessage,
95
94
  }, children: _jsx(ConfigProvider, { getPopupContainer: (triggerNode) => document.body, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(MainLayout, { children: children }) }) }) }));
96
95
  };
@@ -1,6 +1,5 @@
1
1
  import { MessageItem, MessageType } from "@openim/wasm-client-sdk";
2
2
  export declare const visibleTypeMessage: MessageType[];
3
- export declare const isMessageHiddenForViewer: (message: MessageItem, isCrm: boolean) => boolean;
4
3
  export declare const useMessage: (conversationId?: string, searchClientMsgID?: string, enabled?: boolean, useAppHistory?: boolean) => {
5
4
  loadState: {
6
5
  initLoading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAYjC,eAAO,MAAM,kBAAkB,eAgB9B,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,SAAS,WAAW,EACpB,OAAO,OAAO,KACb,OAWF,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,iBAAiB,MAAM,EACvB,oBAAoB,MAAM,EAC1B,iBAAc,EACd,uBAAqB;;;;;qBAeA,WAAW,EAAE;;;;;;qBAAb,WAAW,EAAE;;;;;;CAiSnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,SACpB,CAAC;AAChC,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,SACpB,CAAC;AAClC,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,SACf,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,EAAE,EAC1B,SAAS,WAAW,EACpB,WAAW,MAAM,GAAG,MAAM,KACzB,WAAW,GAAG,SAkBhB,CAAC"}
1
+ {"version":3,"file":"useMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,WAAW,EACX,WAAW,EAEZ,MAAM,yBAAyB,CAAC;AAUjC,eAAO,MAAM,kBAAkB,eAgB9B,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,iBAAiB,MAAM,EACvB,oBAAoB,MAAM,EAC1B,iBAAc,EACd,uBAAqB;;;;;qBAeA,WAAW,EAAE;;;;;;qBAAb,WAAW,EAAE;;;;;;CAiSnC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,WAAW,SACpB,CAAC;AAChC,eAAO,MAAM,gBAAgB,GAAI,SAAS,WAAW,SACpB,CAAC;AAClC,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,SACf,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,EAAE,EAC1B,SAAS,WAAW,EACpB,WAAW,MAAM,GAAG,MAAM,KACzB,WAAW,GAAG,SAkBhB,CAAC"}
@@ -8,8 +8,6 @@ import isEmpty from "lodash/isEmpty";
8
8
  import { useChatContext } from "../../context/ChatContext";
9
9
  import useAuthStore from "../../store/auth";
10
10
  import { ConnectStatus, SyncStatus } from "../../types/chat";
11
- import { isSystemLogMessageType } from "../../utils/messageLog";
12
- import { isRenderableCustomMessage } from "../../utils/customMessage";
13
11
  export const visibleTypeMessage = [
14
12
  MessageType.TextMessage,
15
13
  MessageType.PictureMessage,
@@ -27,16 +25,6 @@ export const visibleTypeMessage = [
27
25
  MessageType.RevokeMessage,
28
26
  MessageType.LogTextMessage,
29
27
  ];
30
- export const isMessageHiddenForViewer = (message, isCrm) => {
31
- if (!visibleTypeMessage.includes(message === null || message === void 0 ? void 0 : message.contentType))
32
- return true;
33
- if (isCrm)
34
- return false;
35
- const isCustomMessage = MessageType.CustomMessage === (message === null || message === void 0 ? void 0 : message.contentType);
36
- return (Boolean(message === null || message === void 0 ? void 0 : message.isInternal) ||
37
- isSystemLogMessageType(message === null || message === void 0 ? void 0 : message.contentType) ||
38
- (isCustomMessage && !isRenderableCustomMessage(message)));
39
- };
40
28
  export const useMessage = (conversationId, searchClientMsgID, enabled = true, useAppHistory = false) => {
41
29
  const { connectStatus, syncStatus } = useChatContext();
42
30
  const userID = useAuthStore((state) => state.userID);
@@ -1,5 +1,4 @@
1
- import { CustomMsgParams, MergerMsgParams, MessageItem } from "@openim/wasm-client-sdk";
2
- import { type CustomMessagePayload } from "../../types/customMessage";
1
+ import { MergerMsgParams, MessageItem } from "@openim/wasm-client-sdk";
3
2
  import { BotFlowMeta, ExtendMessageInfo, FileMsgParamsByFile, ImageMsgParamsByFile, UrlMetadataInfo, VideoMsgParamsByFile } from "../../types/chat";
4
3
  import { UploadFile } from "antd";
5
4
  import { ISessionResponse } from "../../types/dto";
@@ -13,8 +12,6 @@ export declare const createMergerMessage: (mergerMsgParams: MergerMsgParams) =>
13
12
  export declare const createVideoMessageByFile: (file: VideoMsgParamsByFile) => Promise<MessageItem | null>;
14
13
  export declare const createFileMessageByFile: (file: FileMsgParamsByFile) => Promise<MessageItem | null>;
15
14
  export declare const createUrlTextMessage: (text: string, urls: string[]) => Promise<MessageItem | null>;
16
- export declare const createCustomMessageByParams: (params: CustomMsgParams) => Promise<MessageItem | null>;
17
- export declare const createCustomMessage: (payload: CustomMessagePayload) => Promise<MessageItem | null>;
18
15
  export declare const createQuoteMessage: (text: string, quotedMessage: MessageItem) => Promise<MessageItem | null>;
19
16
  export type SendMessageScrollEvent = "CHAT_LIST_SCROLL_TO_BOTTOM" | "CONVERSATION_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM";
20
17
  export interface OfflinePushMeta {
@@ -29,7 +26,7 @@ export interface UseSendMessageOptions {
29
26
  }) => OfflinePushMeta;
30
27
  }
31
28
  export declare const useSendMessage: (options?: UseSendMessageOptions) => {
32
- sendMergeMessage: ({ richText, plainText, files, currentSession, isInternal, urlMetadata, flow, customMessage, }: {
29
+ sendMergeMessage: ({ richText, plainText, files, currentSession, isInternal, urlMetadata, flow, }: {
33
30
  richText: string;
34
31
  plainText: string;
35
32
  files?: UploadFile[];
@@ -37,10 +34,6 @@ export declare const useSendMessage: (options?: UseSendMessageOptions) => {
37
34
  isInternal: boolean;
38
35
  urlMetadata?: UrlMetadataInfo;
39
36
  flow?: BotFlowMeta;
40
- customMessage?: CustomMessagePayload;
41
- }) => Promise<boolean>;
42
- sendCustomMessage: (payload: CustomMessagePayload, sendOptions?: {
43
- currentSession?: ISessionResponse;
44
37
  }) => Promise<boolean>;
45
38
  resendMessage: (failedMessage: MessageItem) => Promise<void>;
46
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,OAAO,EAAgB,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAkBpF,eAAO,MAAM,iBAAiB,GAAI,SAAS;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,YAE0C,CAAC;AAE5C,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,gCAanD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,iBAAiB,eAAe,gCAazE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,MAAM,mBAAmB,gCAatE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,gCActE,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,eAAe,gCAcxB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,SAAS,oBAAoB,gCAOtE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,eAAe,WAAW,gCAc3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,iDAAiD,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,eAAe,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB;sHAsRvD;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,aAAa,CAAC,EAAE,oBAAoB,CAAC;KACtC,KAAG,OAAO,CAAC,OAAO,CAAC;iCA3CT,oBAAoB,gBACf;QAAE,cAAc,CAAC,EAAE,gBAAgB,CAAA;KAAE,KAClD,OAAO,CAAC,OAAO,CAAC;mCAnHG,WAAW;CAyVpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,kDAKvC;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,sBA8BA,CAAC"}
1
+ {"version":3,"file":"useSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useSendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAQlC,OAAO,EAAgB,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAkBpF,eAAO,MAAM,iBAAiB,GAAI,SAAS;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,YAE0C,CAAC;AAE5C,eAAO,MAAM,iBAAiB,GAAU,MAAM,MAAM,gCAanD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,iBAAiB,eAAe,gCAazE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,MAAM,oBAAoB,gCAaxE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,MAAM,mBAAmB,gCAatE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,EAAE,gCActE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,eAAe,WAAW,gCAc3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B,4BAA4B,GAC5B,iDAAiD,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,eAAe,CAAC;CACxE;AAED,eAAO,MAAM,cAAc,GAAI,UAAU,qBAAqB;uGAsPvD;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,EAAE,WAAW,CAAC;KACpB,KAAG,OAAO,CAAC,OAAO,CAAC;mCAxHE,WAAW;CA8SpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,kDAKvC;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB,sBA8BA,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { MessageStatus, MessageType, } from "@openim/wasm-client-sdk";
2
- import { CustomMessageType, } from "../../types/customMessage";
3
2
  import { DChatSDK } from "../../constants/sdk";
4
3
  import { v4 as uuidv4 } from "uuid";
5
4
  import { useCallback } from "react";
@@ -90,24 +89,6 @@ export const createUrlTextMessage = async (text, urls) => {
90
89
  });
91
90
  return textMessage;
92
91
  };
93
- export const createCustomMessageByParams = async (params) => {
94
- let customMessage = await DChatSDK.createCustomMessage(params, new Date().getTime().toString())
95
- .then(({ data }) => {
96
- return data;
97
- })
98
- .catch(({ errCode, errMsg }) => {
99
- console.error("createCustomMessage", errCode, errMsg);
100
- return null;
101
- });
102
- return customMessage;
103
- };
104
- export const createCustomMessage = async (payload) => {
105
- return createCustomMessageByParams({
106
- data: JSON.stringify(payload.data),
107
- extension: payload.type,
108
- description: payload.type === CustomMessageType.Order ? payload.data.orderCode : "",
109
- });
110
- };
111
92
  export const createQuoteMessage = async (text, quotedMessage) => {
112
93
  let textMessage = await DChatSDK.createQuoteMessage({
113
94
  text,
@@ -158,9 +139,12 @@ export const useSendMessage = (options) => {
158
139
  }
159
140
  }, [queryClient]);
160
141
  const dispatchMessage = useCallback(async (message, currentSession) => {
161
- var _a, _b, _c, _d;
162
- const desc = generateContentBasedOnMessageType(message.contentType, ((_a = message === null || message === void 0 ? void 0 : message.textElem) === null || _a === void 0 ? void 0 : _a.content) || "", t, message === null || message === void 0 ? void 0 : message.customElem) || t("new_message");
163
- const pushMeta = (_c = (_b = options === null || options === void 0 ? void 0 : options.resolveOfflinePushMeta) === null || _b === void 0 ? void 0 : _b.call(options, { desc })) !== null && _c !== void 0 ? _c : {
142
+ var _a, _b, _c, _d, _e, _f;
143
+ const desc = generateContentBasedOnMessageType(message.contentType, ((_a = message === null || message === void 0 ? void 0 : message.textElem) === null || _a === void 0 ? void 0 : _a.content) || "", undefined, {
144
+ duration: (_b = message.videoElem) === null || _b === void 0 ? void 0 : _b.duration,
145
+ fileName: (_c = message.fileElem) === null || _c === void 0 ? void 0 : _c.fileName,
146
+ }) || t("new_message");
147
+ const pushMeta = (_e = (_d = options === null || options === void 0 ? void 0 : options.resolveOfflinePushMeta) === null || _d === void 0 ? void 0 : _d.call(options, { desc })) !== null && _e !== void 0 ? _e : {
164
148
  title: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.showName) || "Droppii Chat",
165
149
  icon: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.faceURL) || "",
166
150
  conversationId: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.conversationID) || "",
@@ -182,7 +166,7 @@ export const useSendMessage = (options) => {
182
166
  iOSBadgeCount: true,
183
167
  },
184
168
  });
185
- updateOneMessage(Object.assign(Object.assign({}, successMessage), { ex: successMessage.ex || message.ex || "{}", isInternal: (_d = successMessage.isInternal) !== null && _d !== void 0 ? _d : message.isInternal }));
169
+ updateOneMessage(Object.assign(Object.assign({}, successMessage), { ex: successMessage.ex || message.ex || "{}", isInternal: (_f = successMessage.isInternal) !== null && _f !== void 0 ? _f : message.isInternal }));
186
170
  if (!message.isInternal) {
187
171
  await syncSessionAfterPublicMessage(currentSession);
188
172
  }
@@ -216,16 +200,7 @@ export const useSendMessage = (options) => {
216
200
  if (!storedFiles) {
217
201
  let newTextPayload = null;
218
202
  const textContent = ((_a = failedMessage.textElem) === null || _a === void 0 ? void 0 : _a.content) || failedMessage.content || "";
219
- if (failedMessage.contentType === MessageType.CustomMessage) {
220
- newTextPayload = failedMessage.customElem
221
- ? await createCustomMessageByParams({
222
- data: failedMessage.customElem.data,
223
- extension: failedMessage.customElem.extension,
224
- description: failedMessage.customElem.description,
225
- })
226
- : null;
227
- }
228
- else if (failedMessage.contentType === MessageType.UrlTextMessage &&
203
+ if (failedMessage.contentType === MessageType.UrlTextMessage &&
229
204
  failedMessage.urlTextElem) {
230
205
  newTextPayload = await createUrlTextMessage(textContent, failedMessage.urlTextElem.urls);
231
206
  }
@@ -300,18 +275,7 @@ export const useSendMessage = (options) => {
300
275
  removeOneMessage(failedMessage.clientMsgID);
301
276
  await sendMessage(Object.assign(Object.assign({}, newPayload), { ex: failedMessage.ex }));
302
277
  }, [sendMessage]);
303
- const sendCustomMessage = useCallback(async (payload, sendOptions) => {
304
- if (!conversationData || (!recvID && !groupID))
305
- return false;
306
- const customMessage = await createCustomMessage(payload);
307
- if (!customMessage)
308
- return false;
309
- const extendMessageInfo = generateExtendMessageInfo({
310
- currentSession: sendOptions === null || sendOptions === void 0 ? void 0 : sendOptions.currentSession,
311
- });
312
- return sendMessage(Object.assign(Object.assign({}, customMessage), { ex: JSON.stringify(extendMessageInfo) || "{}", isInternal: false }), sendOptions === null || sendOptions === void 0 ? void 0 : sendOptions.currentSession);
313
- }, [conversationData, recvID, groupID, sendMessage]);
314
- const sendMergeMessage = useCallback(async ({ richText, plainText, files = [], currentSession, isInternal, urlMetadata, flow, customMessage, }) => {
278
+ const sendMergeMessage = useCallback(async ({ richText, plainText, files = [], currentSession, isInternal, urlMetadata, flow, }) => {
315
279
  if (!conversationData || (!recvID && !groupID))
316
280
  return false;
317
281
  const messageList = [];
@@ -451,12 +415,6 @@ export const useSendMessage = (options) => {
451
415
  return false;
452
416
  messageList.push(textMessage);
453
417
  }
454
- if (customMessage) {
455
- const customMessageItem = await createCustomMessage(customMessage);
456
- if (!customMessageItem)
457
- return false;
458
- messageList.push(customMessageItem);
459
- }
460
418
  for (const message of messageList) {
461
419
  const isTextLikeMessage = (message === null || message === void 0 ? void 0 : message.contentType) === MessageType.TextMessage ||
462
420
  (message === null || message === void 0 ? void 0 : message.contentType) === MessageType.UrlTextMessage ||
@@ -483,7 +441,6 @@ export const useSendMessage = (options) => {
483
441
  ]);
484
442
  return {
485
443
  sendMergeMessage,
486
- sendCustomMessage,
487
444
  resendMessage,
488
445
  };
489
446
  };
package/dist/index.d.ts CHANGED
@@ -21,12 +21,7 @@ export { ConversationDetailHeader, ConversationDetailInput, } from "./components
21
21
  export type { ConversationDetailHeaderProps, ConversationDetailInputProps, } from "./components/conversation-detail";
22
22
  export { ChatCategory, ChatType, PeerType, } from "./types/conversation";
23
23
  export type { ConversationListItem, CreateConversationData, ConversationMember, } from "./types/conversation";
24
- export { CustomMessageType } from "./types/customMessage";
25
- export type { CustomElemOrderData, CustomMessagePayload, RenderCustomMessage, RenderCustomMessageArgs, } from "./types/customMessage";
26
- export { parseCustomMessagePayload, isRenderableCustomMessage, } from "./utils/customMessage";
27
24
  export { useDChatAuth } from "./hooks/user/useAuth";
28
- export { useSendMessage } from "./hooks/message/useSendMessage";
29
- export type { UseSendMessageOptions } from "./hooks/message/useSendMessage";
30
25
  export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
31
26
  export { useConversationList } from "./hooks/conversation/useConversationList";
32
27
  export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC7C,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAG1F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvE,OAAO,EACL,QAAQ,IAAI,aAAa,EACzB,QAAQ,IAAI,aAAa,EACzB,WAAW,IAAI,gBAAgB,GAChC,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,CAAC;AAExB,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,cAAc,CAAC;AAC7C,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEzF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACjF,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAElF,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAG1F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIvE,OAAO,EACL,QAAQ,IAAI,aAAa,EACzB,QAAQ,IAAI,aAAa,EACzB,WAAW,IAAI,gBAAgB,GAChC,CAAC;AAEF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -19,12 +19,8 @@ export { default as DChatConversationInbox } from "./screens/conversation-inbox"
19
19
  export { default as DChatConversationDetail } from "./screens/conversation-detail";
20
20
  export { ConversationDetailHeader, ConversationDetailInput, } from "./components/conversation-detail";
21
21
  export { ChatCategory, ChatType, PeerType, } from "./types/conversation";
22
- //Custom message
23
- export { CustomMessageType } from "./types/customMessage";
24
- export { parseCustomMessagePayload, isRenderableCustomMessage, } from "./utils/customMessage";
25
22
  //Hooks
26
23
  export { useDChatAuth } from "./hooks/user/useAuth";
27
- export { useSendMessage } from "./hooks/message/useSendMessage";
28
24
  export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
29
25
  export { useConversationList } from "./hooks/conversation/useConversationList";
30
26
  export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
@@ -100,11 +100,9 @@
100
100
  "search_message_title": "Tìm kiếm tin nhắn",
101
101
  "msg_type_image": "[Hình ảnh]",
102
102
  "msg_type_voice": "[Tin nhắn thoại]",
103
- "msg_type_file": "[Tập tin]",
103
+ "msg_type_file": "[File]",
104
104
  "msg_type_video": "[Video]",
105
105
  "msg_type_unsupported": "Tin nhắn không khả dụng",
106
- "msg_type_order": "[Đơn hàng] {{orderCode}}",
107
- "invalid_message": "Tin nhắn không hợp lệ",
108
106
  "session_started": "Phiên chat đã bắt đầu",
109
107
  "session_ended": "Phiên chat đã kết thúc",
110
108
  "new_message": "Bạn có tin nhắn mới",
@@ -1,7 +1,6 @@
1
1
  import { FileMsgParamsByURL, ImageMsgParamsByURL, MessageType, Platform, SelfUserInfo, VideoMsgParamsByURL } from "@openim/wasm-client-sdk";
2
2
  export type DChatPlatform = Platform;
3
3
  import { UploadFile } from "antd";
4
- import type { RenderCustomMessage } from "./customMessage";
5
4
  export declare enum DChatApplicationType {
6
5
  OBEFE = "OBEFE",
7
6
  DROPPII = "DROPPII"
@@ -23,10 +22,10 @@ export declare enum CustomType {
23
22
  CallingCancel = 203,
24
23
  CallingHungup = 204
25
24
  }
26
- export declare enum UrlContentType {
25
+ export declare enum CustomMessageType {
27
26
  URL = 160
28
27
  }
29
- export type DChatMessageType = UrlContentType | MessageType;
28
+ export type DChatMessageType = CustomMessageType | MessageType;
30
29
  export declare enum AccountType {
31
30
  Collaborator = "Collaborator",
32
31
  NewAgent = "NewAgent",
@@ -42,12 +41,10 @@ export interface ChatContextType {
42
41
  getSelfUserInfo: () => void;
43
42
  updateConnectStatus: (status: ConnectStatus) => void;
44
43
  updateSyncStatus: (status: SyncStatus) => void;
45
- renderCustomMessage?: RenderCustomMessage;
46
44
  }
47
45
  export interface ChatProviderProps {
48
46
  children: React.ReactNode;
49
47
  config: DChatInitAndLoginConfig | null;
50
- renderCustomMessage?: RenderCustomMessage;
51
48
  }
52
49
  export interface UrlMetadataInfo {
53
50
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"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"}
@@ -23,10 +23,10 @@ export var CustomType;
23
23
  CustomType[CustomType["CallingCancel"] = 203] = "CallingCancel";
24
24
  CustomType[CustomType["CallingHungup"] = 204] = "CallingHungup";
25
25
  })(CustomType || (CustomType = {}));
26
- export var UrlContentType;
27
- (function (UrlContentType) {
28
- UrlContentType[UrlContentType["URL"] = 160] = "URL";
29
- })(UrlContentType || (UrlContentType = {}));
26
+ export var CustomMessageType;
27
+ (function (CustomMessageType) {
28
+ CustomMessageType[CustomMessageType["URL"] = 160] = "URL";
29
+ })(CustomMessageType || (CustomMessageType = {}));
30
30
  export var AccountType;
31
31
  (function (AccountType) {
32
32
  AccountType["Collaborator"] = "Collaborator";
@@ -1,14 +1,18 @@
1
1
  import { MessageType } from "@openim/wasm-client-sdk";
2
2
  import { TFunction } from "i18next";
3
3
  import { UrlMetadataInfo } from "../types/chat";
4
+ import { PeerType } from "../types/conversation";
4
5
  export declare const parseUrlMetadata: (ex?: string) => UrlMetadataInfo | undefined;
5
6
  export declare function formatDuration(seconds: number): string;
6
7
  export declare function renderFileSize(bytes: number): string;
7
- export declare const generateContentBasedOnMessageType: (contentType: MessageType, plainText?: string, t?: TFunction, customElem?: {
8
- extension?: string;
9
- description?: string;
8
+ export declare const generateContentBasedOnMessageType: (contentType: MessageType, plainText?: string, t?: TFunction, mediaMeta?: {
9
+ duration?: number;
10
+ fileName?: string;
11
+ }) => string;
12
+ export declare const parseLatestMessage: (latestMsg: string, currentUserId?: string, t?: TFunction, conversation?: {
13
+ peerType?: PeerType | string;
14
+ showName?: string;
10
15
  }) => string;
11
- export declare const parseLatestMessage: (latestMsg: string, currentUserId?: string, t?: TFunction) => string;
12
16
  export declare const highlightSearch: (text: string, keyword: string, maxLength?: number) => string;
13
17
  interface FormatOptions {
14
18
  hasTime?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAqB,eAAe,EAAE,MAAM,cAAc,CAAC;AAIlE,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,eAAe,GAAG,SAQhE,CAAC;AAiBF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,YAAY,MAAM,EAClB,IAAI,SAAS,EACb,aAAa;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,WA6B1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,gBAAgB,MAAM,EACtB,IAAI,SAAS,WA4Dd,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,kBAAc,WA2Cf,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAqBR;AAED,eAAO,MAAM,QAAQ,QAAkD,CAAC;AAExE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC3D;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOrD,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACf,CAAC;AAEnC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAO9B,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgEjD"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAqB,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,eAAe,GAAG,SAQhE,CAAC;AAwBF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAapD;AAED,eAAO,MAAM,iCAAiC,GAC5C,aAAa,WAAW,EACxB,YAAY,MAAM,EAClB,IAAI,SAAS,EACb,YAAY;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,WA8BrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,WAAW,MAAM,EACjB,gBAAgB,MAAM,EACtB,IAAI,SAAS,EACb,eAAe;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,WAuEnE,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,kBAAc,WA2Cf,CAAC;AAEF,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAqBR;AAED,eAAO,MAAM,QAAQ,QAAkD,CAAC;AAExE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqC3D;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,IAOrD,CAAC;AAKF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,OACf,CAAC;AAEnC,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAO9B,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgEjD"}
@@ -1,7 +1,7 @@
1
1
  import { MessageType } from "@openim/wasm-client-sdk";
2
2
  import dayjs from "dayjs";
3
3
  import DOMPurify from "dompurify";
4
- import { CustomMessageType } from "../types/customMessage";
4
+ import { PeerType } from "../types/conversation";
5
5
  import { getSystemLogMessageText } from "./messageLog";
6
6
  export const parseUrlMetadata = (ex) => {
7
7
  if (!ex)
@@ -14,17 +14,21 @@ export const parseUrlMetadata = (ex) => {
14
14
  return undefined;
15
15
  }
16
16
  };
17
- const getSenderLabelForLatestPreview = (msgData, currentUserId, t) => {
18
- var _a;
17
+ const getSenderLabelForLatestPreview = (msgData, currentUserId, t, conversation) => {
18
+ var _a, _b;
19
19
  if (currentUserId && msgData.sendID === currentUserId) {
20
20
  return String(t("you"));
21
21
  }
22
- const name = (_a = msgData.senderNickname) === null || _a === void 0 ? void 0 : _a.trim();
23
- if (name) {
24
- return name;
22
+ const senderNickname = (_a = msgData.senderNickname) === null || _a === void 0 ? void 0 : _a.trim();
23
+ if (senderNickname) {
24
+ return senderNickname;
25
+ }
26
+ if ((conversation === null || conversation === void 0 ? void 0 : conversation.peerType) === PeerType.BOT) {
27
+ return ((_b = conversation.showName) === null || _b === void 0 ? void 0 : _b.trim()) || undefined;
25
28
  }
26
- return String(t("message_sender_unnamed"));
29
+ return undefined;
27
30
  };
31
+ const formatWithSender = (sender, content) => sender ? `${sender}: ${content}` : content;
28
32
  export function formatDuration(seconds) {
29
33
  const minutes = Math.floor(seconds / 60);
30
34
  const secs = Math.floor(seconds % 60);
@@ -42,7 +46,7 @@ export function renderFileSize(bytes) {
42
46
  }
43
47
  return `${size.toFixed(1)} ${units[index]}`;
44
48
  }
45
- export const generateContentBasedOnMessageType = (contentType, plainText, t, customElem) => {
49
+ export const generateContentBasedOnMessageType = (contentType, plainText, t, mediaMeta) => {
46
50
  switch (contentType) {
47
51
  case MessageType.TextMessage:
48
52
  case MessageType.QuoteMessage:
@@ -54,63 +58,60 @@ export const generateContentBasedOnMessageType = (contentType, plainText, t, cus
54
58
  return t ? t("msg_type_image") : "[Hình ảnh]";
55
59
  case MessageType.VoiceMessage:
56
60
  return t ? t("msg_type_voice") : "[Tin nhắn thoại]";
57
- case MessageType.VideoMessage:
58
- return t ? t("msg_type_video") : "[Video]";
59
- case MessageType.FileMessage:
60
- return t ? t("msg_type_file") : "[Tập tin]";
61
+ case MessageType.VideoMessage: {
62
+ const base = t ? t("msg_type_video") : "[Video]";
63
+ const durationLabel = (mediaMeta === null || mediaMeta === void 0 ? void 0 : mediaMeta.duration) != null
64
+ ? formatDuration(mediaMeta.duration / 1000)
65
+ : "";
66
+ return durationLabel ? `${base} ${durationLabel}` : base;
67
+ }
68
+ case MessageType.FileMessage: {
69
+ const base = t ? t("msg_type_file") : "[File]";
70
+ return (mediaMeta === null || mediaMeta === void 0 ? void 0 : mediaMeta.fileName) ? `${base} ${mediaMeta.fileName}` : base;
71
+ }
61
72
  case MessageType.RevokeMessage:
62
73
  return t ? t("revoked") : "Đã thu hồi tin nhắn";
63
- case MessageType.CustomMessage: {
64
- if ((customElem === null || customElem === void 0 ? void 0 : customElem.extension) !== CustomMessageType.Order)
65
- return "";
66
- const orderCode = (customElem === null || customElem === void 0 ? void 0 : customElem.description) || "";
67
- return t
68
- ? t("msg_type_order", { orderCode })
69
- : `[Đơn hàng] ${orderCode}`;
70
- }
71
74
  default:
72
75
  return "";
73
76
  }
74
77
  };
75
- export const parseLatestMessage = (latestMsg, currentUserId, t) => {
78
+ export const parseLatestMessage = (latestMsg, currentUserId, t, conversation) => {
76
79
  var _a, _b, _c, _d, _e, _f;
77
80
  if (!latestMsg || !t)
78
81
  return "";
79
82
  try {
80
83
  const msgData = JSON.parse(latestMsg);
81
84
  const contentType = msgData === null || msgData === void 0 ? void 0 : msgData.contentType;
82
- const sender = getSenderLabelForLatestPreview(msgData, currentUserId, t);
85
+ const sender = getSenderLabelForLatestPreview(msgData, currentUserId, t, conversation);
83
86
  switch (contentType) {
84
87
  case MessageType.LogTextMessage:
85
88
  return getSystemLogMessageText(msgData);
86
89
  case MessageType.TextMessage:
87
90
  case MessageType.QuoteMessage:
88
91
  case MessageType.UrlTextMessage:
89
- return `${sender}: ${generateContentBasedOnMessageType(contentType, ((_a = msgData === null || msgData === void 0 ? void 0 : msgData.textElem) === null || _a === void 0 ? void 0 : _a.content) ||
92
+ return formatWithSender(sender, generateContentBasedOnMessageType(contentType, ((_a = msgData === null || msgData === void 0 ? void 0 : msgData.textElem) === null || _a === void 0 ? void 0 : _a.content) ||
90
93
  ((_b = msgData === null || msgData === void 0 ? void 0 : msgData.quoteElem) === null || _b === void 0 ? void 0 : _b.text) ||
91
94
  ((_c = msgData === null || msgData === void 0 ? void 0 : msgData.urlTextElem) === null || _c === void 0 ? void 0 : _c.content) ||
92
- "")}`;
95
+ ""));
93
96
  case MessageType.PictureMessage:
94
97
  case MessageType.MergeMessage:
95
98
  case MessageType.VoiceMessage:
96
99
  case MessageType.VideoMessage:
97
100
  case MessageType.FileMessage:
98
- return `${sender}: ${generateContentBasedOnMessageType(contentType)}`;
101
+ return formatWithSender(sender, generateContentBasedOnMessageType(contentType, undefined, t, {
102
+ duration: (_d = msgData === null || msgData === void 0 ? void 0 : msgData.videoElem) === null || _d === void 0 ? void 0 : _d.duration,
103
+ fileName: (_e = msgData === null || msgData === void 0 ? void 0 : msgData.fileElem) === null || _e === void 0 ? void 0 : _e.fileName,
104
+ }));
99
105
  case MessageType.RevokeMessage:
100
- return t("revoked_with_sender", { name: sender });
106
+ return sender ? t("revoked_with_sender", { name: sender }) : t("revoked");
101
107
  case MessageType.CustomMessage: {
102
- const customData = (_d = msgData.customElem) === null || _d === void 0 ? void 0 : _d.data;
108
+ const customData = (_f = msgData.customElem) === null || _f === void 0 ? void 0 : _f.data;
103
109
  if (customData === "#SESSION - START") {
104
110
  return t("session_started");
105
111
  }
106
112
  if (customData === "#SESSION - END") {
107
113
  return t("session_ended");
108
114
  }
109
- if (((_e = msgData.customElem) === null || _e === void 0 ? void 0 : _e.extension) === CustomMessageType.Order) {
110
- return `${sender}: ${t("msg_type_order", {
111
- orderCode: ((_f = msgData.customElem) === null || _f === void 0 ? void 0 : _f.description) || "",
112
- })}`;
113
- }
114
115
  return "";
115
116
  }
116
117
  default:
package/package.json CHANGED
@@ -1,127 +1,126 @@
1
- {
2
- "name": "@droppii-org/chat-sdk",
3
- "version": "0.1.68",
4
- "description": "Droppii React Chat SDK",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "import": "./dist/index.js",
10
- "types": "./dist/index.d.ts"
11
- },
12
- "./components/*": {
13
- "import": "./dist/components/*.js",
14
- "types": "./dist/components/*.d.ts"
15
- },
16
- "./hooks/*": {
17
- "import": "./dist/hooks/*.js",
18
- "types": "./dist/hooks/*.d.ts"
19
- },
20
- "./context/*": {
21
- "import": "./dist/context/*.js",
22
- "types": "./dist/context/*.d.ts"
23
- },
24
- "./types/*": {
25
- "import": "./dist/types/*.js",
26
- "types": "./dist/types/*.d.ts"
27
- },
28
- "./screens/*": {
29
- "import": "./dist/screens/*.js",
30
- "types": "./dist/screens/*.d.ts"
31
- },
32
- "./assets/*": {
33
- "import": "./dist/assets/*.js",
34
- "types": "./dist/assets/*.d.ts"
35
- },
36
- "./constants/*": {
37
- "import": "./dist/constants/*.js",
38
- "types": "./dist/constants/*.d.ts"
39
- },
40
- "./layout/*": {
41
- "import": "./dist/layout/*.js",
42
- "types": "./dist/layout/*.d.ts"
43
- },
44
- "./utils/*": {
45
- "import": "./dist/utils/*.js",
46
- "types": "./dist/utils/*.d.ts"
47
- },
48
- "./services/*": {
49
- "import": "./dist/services/*.js",
50
- "types": "./dist/services/*.d.ts"
51
- },
52
- "./locales/*": "./dist/locales/*",
53
- "./styles/global.css": "./dist/styles/global.css"
54
- },
55
- "files": [
56
- "dist"
57
- ],
58
- "scripts": {
59
- "build": "pnpm build:css && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && pnpm copy-assets",
60
- "build:css": "tailwindcss -i ./src/styles/global.css -o ./dist/styles/global.css --minify",
61
- "dev": "tsc --noEmit --watch",
62
- "lint": "eslint src/",
63
- "type-check": "tsc --noEmit",
64
- "prepublishOnly": "pnpm build",
65
- "copy-assets": "shx cp -r src/assets dist && shx cp -r src/locales dist"
66
- },
67
- "keywords": [
68
- "chat",
69
- "sdk",
70
- "react",
71
- "messenger-style"
72
- ],
73
- "author": "Garru",
74
- "license": "MIT",
75
- "publishConfig": {
76
- "access": "public"
77
- },
78
- "dependencies": {
79
- "@ant-design/icons": "^6.0.0",
80
- "@lexical/code": "^0.34.0",
81
- "@lexical/html": "^0.34.0",
82
- "@lexical/link": "^0.34.0",
83
- "@lexical/list": "^0.34.0",
84
- "@lexical/react": "^0.34.0",
85
- "@lexical/rich-text": "^0.34.0",
86
- "@openim/wasm-client-sdk": "3.8.3-patch.10",
87
- "@tailwindcss/postcss": "^4.1.12",
88
- "@tanstack/react-query": "^5.85.5",
89
- "ahooks": "^3.9.4",
90
- "antd": "^5.27.0",
91
- "axios": "^1.11.0",
92
- "clsx": "^2.0.0",
93
- "dayjs": "^1.11.13",
94
- "dompurify": "^3.3.1",
95
- "i18next": "^25.5.2",
96
- "jwt-decode": "^4.0.0",
97
- "lexical": "^0.34.0",
98
- "lodash": "^4.17.21",
99
- "lucide-react": "^0.263.1",
100
- "mitt": "^3.0.1",
101
- "postcss": "^8.5.6",
102
- "query-string": "^9.3.1",
103
- "react-i18next": "^15.7.3",
104
- "react-icomoon": "^2.6.1",
105
- "react-infinite-scroll-component": "^6.1.0",
106
- "react-sticky-box": "^2.0.5",
107
- "react-virtuoso": "^4.14.0",
108
- "tailwind-merge": "^2.0.0",
109
- "tailwindcss": "^3.3.0",
110
- "uuid": "^11.1.0",
111
- "zustand": "^5.0.7"
112
- },
113
- "peerDependencies": {
114
- "react": "^18.0.0",
115
- "react-dom": "^18.0.0"
116
- },
117
- "devDependencies": {
118
- "@types/dompurify": "^3.2.0",
119
- "@types/lodash": "^4.17.20",
120
- "@types/node": "^20.0.0",
121
- "@types/react": "^18.2.37",
122
- "@types/react-dom": "^18.2.15",
123
- "shx": "^0.4.0",
124
- "tsc-alias": "^1.8.17",
125
- "typescript": "^5.2.2"
126
- }
127
- }
1
+ {
2
+ "name": "@droppii-org/chat-sdk",
3
+ "version": "0.1.70",
4
+ "description": "Droppii React Chat SDK",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/index.js",
10
+ "types": "./dist/index.d.ts"
11
+ },
12
+ "./components/*": {
13
+ "import": "./dist/components/*.js",
14
+ "types": "./dist/components/*.d.ts"
15
+ },
16
+ "./hooks/*": {
17
+ "import": "./dist/hooks/*.js",
18
+ "types": "./dist/hooks/*.d.ts"
19
+ },
20
+ "./context/*": {
21
+ "import": "./dist/context/*.js",
22
+ "types": "./dist/context/*.d.ts"
23
+ },
24
+ "./types/*": {
25
+ "import": "./dist/types/*.js",
26
+ "types": "./dist/types/*.d.ts"
27
+ },
28
+ "./screens/*": {
29
+ "import": "./dist/screens/*.js",
30
+ "types": "./dist/screens/*.d.ts"
31
+ },
32
+ "./assets/*": {
33
+ "import": "./dist/assets/*.js",
34
+ "types": "./dist/assets/*.d.ts"
35
+ },
36
+ "./constants/*": {
37
+ "import": "./dist/constants/*.js",
38
+ "types": "./dist/constants/*.d.ts"
39
+ },
40
+ "./layout/*": {
41
+ "import": "./dist/layout/*.js",
42
+ "types": "./dist/layout/*.d.ts"
43
+ },
44
+ "./utils/*": {
45
+ "import": "./dist/utils/*.js",
46
+ "types": "./dist/utils/*.d.ts"
47
+ },
48
+ "./services/*": {
49
+ "import": "./dist/services/*.js",
50
+ "types": "./dist/services/*.d.ts"
51
+ },
52
+ "./locales/*": "./dist/locales/*",
53
+ "./styles/global.css": "./dist/styles/global.css"
54
+ },
55
+ "files": [
56
+ "dist"
57
+ ],
58
+ "keywords": [
59
+ "chat",
60
+ "sdk",
61
+ "react",
62
+ "messenger-style"
63
+ ],
64
+ "author": "Garru",
65
+ "license": "MIT",
66
+ "publishConfig": {
67
+ "access": "public"
68
+ },
69
+ "dependencies": {
70
+ "@ant-design/icons": "^6.0.0",
71
+ "@lexical/code": "^0.34.0",
72
+ "@lexical/html": "^0.34.0",
73
+ "@lexical/link": "^0.34.0",
74
+ "@lexical/list": "^0.34.0",
75
+ "@lexical/react": "^0.34.0",
76
+ "@lexical/rich-text": "^0.34.0",
77
+ "@openim/wasm-client-sdk": "3.8.3-patch.10",
78
+ "@tailwindcss/postcss": "^4.1.12",
79
+ "@tanstack/react-query": "^5.85.5",
80
+ "ahooks": "^3.9.4",
81
+ "antd": "^5.27.0",
82
+ "axios": "^1.11.0",
83
+ "clsx": "^2.0.0",
84
+ "dayjs": "^1.11.13",
85
+ "dompurify": "^3.3.1",
86
+ "i18next": "^25.5.2",
87
+ "jwt-decode": "^4.0.0",
88
+ "lexical": "^0.34.0",
89
+ "lodash": "^4.17.21",
90
+ "lucide-react": "^0.263.1",
91
+ "mitt": "^3.0.1",
92
+ "postcss": "^8.5.6",
93
+ "query-string": "^9.3.1",
94
+ "react-i18next": "^15.7.3",
95
+ "react-icomoon": "^2.6.1",
96
+ "react-infinite-scroll-component": "^6.1.0",
97
+ "react-sticky-box": "^2.0.5",
98
+ "react-virtuoso": "^4.14.0",
99
+ "tailwind-merge": "^2.0.0",
100
+ "tailwindcss": "^3.3.0",
101
+ "uuid": "^11.1.0",
102
+ "zustand": "^5.0.7"
103
+ },
104
+ "peerDependencies": {
105
+ "react": "^18.0.0",
106
+ "react-dom": "^18.0.0"
107
+ },
108
+ "devDependencies": {
109
+ "@types/dompurify": "^3.2.0",
110
+ "@types/lodash": "^4.17.20",
111
+ "@types/node": "^20.0.0",
112
+ "@types/react": "^18.2.37",
113
+ "@types/react-dom": "^18.2.15",
114
+ "shx": "^0.4.0",
115
+ "tsc-alias": "^1.8.17",
116
+ "typescript": "^5.2.2"
117
+ },
118
+ "scripts": {
119
+ "build": "pnpm build:css && tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && pnpm copy-assets",
120
+ "build:css": "tailwindcss -i ./src/styles/global.css -o ./dist/styles/global.css --minify",
121
+ "dev": "tsc --noEmit --watch",
122
+ "lint": "eslint src/",
123
+ "type-check": "tsc --noEmit",
124
+ "copy-assets": "shx cp -r src/assets dist && shx cp -r src/locales dist"
125
+ }
126
+ }