@droppii-org/chat-sdk 0.1.67 → 0.1.68
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.
- package/dist/components/message/item/CustomMessage.d.ts +7 -0
- package/dist/components/message/item/CustomMessage.d.ts.map +1 -0
- package/dist/components/message/item/CustomMessage.js +26 -0
- package/dist/components/message/item/TextMessage.d.ts.map +1 -1
- package/dist/components/message/item/TextMessage.js +0 -6
- package/dist/components/message/item/index.d.ts.map +1 -1
- package/dist/components/message/item/index.js +2 -8
- package/dist/components/message/item/renderMessageContent.d.ts.map +1 -1
- package/dist/components/message/item/renderMessageContent.js +3 -0
- package/dist/components/message/reply/ReplyQuoteContent.d.ts.map +1 -1
- package/dist/components/message/reply/ReplyQuoteContent.js +1 -1
- package/dist/context/ChatContext.d.ts +1 -1
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/context/ChatContext.js +2 -1
- package/dist/hooks/message/useMessage.d.ts +1 -0
- package/dist/hooks/message/useMessage.d.ts.map +1 -1
- package/dist/hooks/message/useMessage.js +12 -0
- package/dist/hooks/message/useSendCustomMessage.d.ts +7 -0
- package/dist/hooks/message/useSendCustomMessage.d.ts.map +1 -0
- package/dist/hooks/message/useSendCustomMessage.js +5 -0
- package/dist/hooks/message/useSendMessage.d.ts +9 -2
- package/dist/hooks/message/useSendMessage.d.ts.map +1 -1
- package/dist/hooks/message/useSendMessage.js +49 -3
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/locales/vi/common.json +2 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/chat.d.ts +5 -2
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/chat.js +4 -4
- package/dist/types/customMessage.d.ts +25 -0
- package/dist/types/customMessage.d.ts.map +1 -0
- package/dist/types/customMessage.js +4 -0
- package/dist/utils/common.d.ts +4 -1
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/common.js +16 -2
- package/dist/utils/customMessage.d.ts +5 -0
- package/dist/utils/customMessage.d.ts.map +1 -0
- package/dist/utils/customMessage.js +36 -0
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MessageItem } from "@openim/wasm-client-sdk";
|
|
2
|
+
interface CustomMessageItemProps {
|
|
3
|
+
message: MessageItem;
|
|
4
|
+
}
|
|
5
|
+
declare const CustomMessageItem: ({ message }: CustomMessageItemProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export default CustomMessageItem;
|
|
7
|
+
//# sourceMappingURL=CustomMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/CustomMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,QAAA,MAAM,iBAAiB,GAAI,aAAa,sBAAsB,mDAwC7D,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { useChatContext } from "../../../context/ChatContext";
|
|
6
|
+
import { parseCustomMessagePayload } from "../../../utils/customMessage";
|
|
7
|
+
import { MESSAGE_TEXT_CLASS } from "./textStyle";
|
|
8
|
+
const CustomMessageItem = ({ message }) => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
const { t } = useTranslation();
|
|
11
|
+
const { renderCustomMessage } = useChatContext();
|
|
12
|
+
const payload = parseCustomMessagePayload(message);
|
|
13
|
+
const renderedContent = renderCustomMessage === null || renderCustomMessage === void 0 ? void 0 : renderCustomMessage({ message, payload });
|
|
14
|
+
if (renderedContent) {
|
|
15
|
+
return _jsx(_Fragment, { children: renderedContent });
|
|
16
|
+
}
|
|
17
|
+
const fallbackText = ((_a = message === null || message === void 0 ? void 0 : message.textElem) === null || _a === void 0 ? void 0 : _a.content) || ((_b = message === null || message === void 0 ? void 0 : message.quoteElem) === null || _b === void 0 ? void 0 : _b.text);
|
|
18
|
+
if (fallbackText) {
|
|
19
|
+
return (_jsx("p", { className: clsx("min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]", MESSAGE_TEXT_CLASS), children: fallbackText }));
|
|
20
|
+
}
|
|
21
|
+
if (!payload) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return (_jsx("p", { className: clsx("min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]", MESSAGE_TEXT_CLASS), children: t("invalid_message") }));
|
|
25
|
+
};
|
|
26
|
+
export default CustomMessageItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/message/item/TextMessage.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,
|
|
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,8 +1,6 @@
|
|
|
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";
|
|
6
4
|
import { htmlHasFormatting, sanitizeHtml, stripHtml } from "../../../utils/common";
|
|
7
5
|
import { extractLinkUrls } from "../../../utils/link";
|
|
8
6
|
import LinkText from "./LinkText";
|
|
@@ -10,7 +8,6 @@ import { MESSAGE_TEXT_CLASS } from "./textStyle";
|
|
|
10
8
|
const TextMessageItem = (props) => {
|
|
11
9
|
var _a, _b, _c, _d;
|
|
12
10
|
const { message } = props;
|
|
13
|
-
const isCrm = useAuthStore((state) => state.isCrm);
|
|
14
11
|
let extendMessageInfo = null;
|
|
15
12
|
try {
|
|
16
13
|
extendMessageInfo = JSON.parse((message === null || message === void 0 ? void 0 : message.ex) || "{}");
|
|
@@ -19,9 +16,6 @@ const TextMessageItem = (props) => {
|
|
|
19
16
|
extendMessageInfo = {};
|
|
20
17
|
console.error("Failed to parse extendMessageInfo", error);
|
|
21
18
|
}
|
|
22
|
-
if ((message === null || message === void 0 ? void 0 : message.contentType) === MessageType.CustomMessage && !isCrm) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
19
|
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) || "";
|
|
26
20
|
if (richHtmlContent && htmlHasFormatting(richHtmlContent)) {
|
|
27
21
|
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,
|
|
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"}
|
|
@@ -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,
|
|
9
|
+
import { getVisibleNeighbor, isMessageHiddenForViewer, } 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,13 +127,7 @@ 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 (
|
|
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)) {
|
|
130
|
+
if (isMessageHiddenForViewer(message, isCrm)) {
|
|
137
131
|
return null;
|
|
138
132
|
}
|
|
139
133
|
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;
|
|
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"}
|
|
@@ -9,6 +9,7 @@ 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";
|
|
12
13
|
export const renderMessageByType = (message) => {
|
|
13
14
|
switch (message === null || message === void 0 ? void 0 : message.contentType) {
|
|
14
15
|
case MessageType.TextMessage:
|
|
@@ -28,6 +29,8 @@ export const renderMessageByType = (message) => {
|
|
|
28
29
|
return _jsx(SystemLogMessageItem, { message: message });
|
|
29
30
|
case MessageType.RevokeMessage:
|
|
30
31
|
return _jsx(RevokeMessageItem, {});
|
|
32
|
+
case MessageType.CustomMessage:
|
|
33
|
+
return _jsx(CustomMessageItem, { message: message });
|
|
31
34
|
default:
|
|
32
35
|
return _jsx(TextMessageItem, { message: message });
|
|
33
36
|
}
|
|
@@ -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,
|
|
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"}
|
|
@@ -12,6 +12,6 @@ export const ReplyQuoteContent = ({ message, title = "", }) => {
|
|
|
12
12
|
var _a, _b;
|
|
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) })] })] }));
|
|
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) })] })] }));
|
|
16
16
|
};
|
|
17
17
|
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 }: ChatProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare const ChatProvider: ({ children, config, renderCustomMessage, }: 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,
|
|
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"}
|
|
@@ -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 }) => {
|
|
21
|
+
export const ChatProvider = ({ children, config, renderCustomMessage, }) => {
|
|
22
22
|
const [connectStatus, setConnectStatus] = useState(ConnectStatus.Disconnected);
|
|
23
23
|
const [syncStatus, setSyncStatus] = useState(SyncStatus.Success);
|
|
24
24
|
const [user, setUser] = useState(null);
|
|
@@ -91,5 +91,6 @@ export const ChatProvider = ({ children, config }) => {
|
|
|
91
91
|
getSelfUserInfo,
|
|
92
92
|
updateConnectStatus,
|
|
93
93
|
updateSyncStatus,
|
|
94
|
+
renderCustomMessage,
|
|
94
95
|
}, children: _jsx(ConfigProvider, { getPopupContainer: (triggerNode) => document.body, children: _jsx(QueryClientProvider, { client: queryClient, children: _jsx(MainLayout, { children: children }) }) }) }));
|
|
95
96
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
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;
|
|
3
4
|
export declare const useMessage: (conversationId?: string, searchClientMsgID?: string, enabled?: boolean, useAppHistory?: boolean) => {
|
|
4
5
|
loadState: {
|
|
5
6
|
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;
|
|
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"}
|
|
@@ -8,6 +8,8 @@ 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";
|
|
11
13
|
export const visibleTypeMessage = [
|
|
12
14
|
MessageType.TextMessage,
|
|
13
15
|
MessageType.PictureMessage,
|
|
@@ -25,6 +27,16 @@ export const visibleTypeMessage = [
|
|
|
25
27
|
MessageType.RevokeMessage,
|
|
26
28
|
MessageType.LogTextMessage,
|
|
27
29
|
];
|
|
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
|
+
};
|
|
28
40
|
export const useMessage = (conversationId, searchClientMsgID, enabled = true, useAppHistory = false) => {
|
|
29
41
|
const { connectStatus, syncStatus } = useChatContext();
|
|
30
42
|
const userID = useAuthStore((state) => state.userID);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type UseSendMessageOptions } from "../../hooks/message/useSendMessage";
|
|
2
|
+
export declare const useSendCustomMessage: (options?: UseSendMessageOptions) => {
|
|
3
|
+
sendCustomMessage: (payload: import("../..").CustomMessagePayload, sendOptions?: {
|
|
4
|
+
currentSession?: import("../../types/dto").ISessionResponse;
|
|
5
|
+
}) => Promise<boolean>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useSendCustomMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSendCustomMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useSendCustomMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,oBAAoB,GAAI,UAAU,qBAAqB;;sBAK84a,CAAC;;CADl9a,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { MergerMsgParams, MessageItem } from "@openim/wasm-client-sdk";
|
|
1
|
+
import { CustomMsgParams, MergerMsgParams, MessageItem } from "@openim/wasm-client-sdk";
|
|
2
|
+
import { type CustomMessagePayload } from "../../types/customMessage";
|
|
2
3
|
import { BotFlowMeta, ExtendMessageInfo, FileMsgParamsByFile, ImageMsgParamsByFile, UrlMetadataInfo, VideoMsgParamsByFile } from "../../types/chat";
|
|
3
4
|
import { UploadFile } from "antd";
|
|
4
5
|
import { ISessionResponse } from "../../types/dto";
|
|
@@ -12,6 +13,8 @@ export declare const createMergerMessage: (mergerMsgParams: MergerMsgParams) =>
|
|
|
12
13
|
export declare const createVideoMessageByFile: (file: VideoMsgParamsByFile) => Promise<MessageItem | null>;
|
|
13
14
|
export declare const createFileMessageByFile: (file: FileMsgParamsByFile) => Promise<MessageItem | null>;
|
|
14
15
|
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>;
|
|
15
18
|
export declare const createQuoteMessage: (text: string, quotedMessage: MessageItem) => Promise<MessageItem | null>;
|
|
16
19
|
export type SendMessageScrollEvent = "CHAT_LIST_SCROLL_TO_BOTTOM" | "CONVERSATION_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM";
|
|
17
20
|
export interface OfflinePushMeta {
|
|
@@ -26,7 +29,7 @@ export interface UseSendMessageOptions {
|
|
|
26
29
|
}) => OfflinePushMeta;
|
|
27
30
|
}
|
|
28
31
|
export declare const useSendMessage: (options?: UseSendMessageOptions) => {
|
|
29
|
-
sendMergeMessage: ({ richText, plainText, files, currentSession, isInternal, urlMetadata, flow, }: {
|
|
32
|
+
sendMergeMessage: ({ richText, plainText, files, currentSession, isInternal, urlMetadata, flow, customMessage, }: {
|
|
30
33
|
richText: string;
|
|
31
34
|
plainText: string;
|
|
32
35
|
files?: UploadFile[];
|
|
@@ -34,6 +37,10 @@ export declare const useSendMessage: (options?: UseSendMessageOptions) => {
|
|
|
34
37
|
isInternal: boolean;
|
|
35
38
|
urlMetadata?: UrlMetadataInfo;
|
|
36
39
|
flow?: BotFlowMeta;
|
|
40
|
+
customMessage?: CustomMessagePayload;
|
|
41
|
+
}) => Promise<boolean>;
|
|
42
|
+
sendCustomMessage: (payload: CustomMessagePayload, sendOptions?: {
|
|
43
|
+
currentSession?: ISessionResponse;
|
|
37
44
|
}) => Promise<boolean>;
|
|
38
45
|
resendMessage: (failedMessage: MessageItem) => Promise<void>;
|
|
39
46
|
};
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,4 +1,5 @@
|
|
|
1
1
|
import { MessageStatus, MessageType, } from "@openim/wasm-client-sdk";
|
|
2
|
+
import { CustomMessageType, } from "../../types/customMessage";
|
|
2
3
|
import { DChatSDK } from "../../constants/sdk";
|
|
3
4
|
import { v4 as uuidv4 } from "uuid";
|
|
4
5
|
import { useCallback } from "react";
|
|
@@ -89,6 +90,24 @@ export const createUrlTextMessage = async (text, urls) => {
|
|
|
89
90
|
});
|
|
90
91
|
return textMessage;
|
|
91
92
|
};
|
|
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
|
+
};
|
|
92
111
|
export const createQuoteMessage = async (text, quotedMessage) => {
|
|
93
112
|
let textMessage = await DChatSDK.createQuoteMessage({
|
|
94
113
|
text,
|
|
@@ -140,7 +159,7 @@ export const useSendMessage = (options) => {
|
|
|
140
159
|
}, [queryClient]);
|
|
141
160
|
const dispatchMessage = useCallback(async (message, currentSession) => {
|
|
142
161
|
var _a, _b, _c, _d;
|
|
143
|
-
const desc = generateContentBasedOnMessageType(message.contentType, ((_a = message === null || message === void 0 ? void 0 : message.textElem) === null || _a === void 0 ? void 0 : _a.content) || "") || t("new_message");
|
|
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");
|
|
144
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 : {
|
|
145
164
|
title: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.showName) || "Droppii Chat",
|
|
146
165
|
icon: (conversationData === null || conversationData === void 0 ? void 0 : conversationData.faceURL) || "",
|
|
@@ -197,7 +216,16 @@ export const useSendMessage = (options) => {
|
|
|
197
216
|
if (!storedFiles) {
|
|
198
217
|
let newTextPayload = null;
|
|
199
218
|
const textContent = ((_a = failedMessage.textElem) === null || _a === void 0 ? void 0 : _a.content) || failedMessage.content || "";
|
|
200
|
-
if (failedMessage.contentType === MessageType.
|
|
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 &&
|
|
201
229
|
failedMessage.urlTextElem) {
|
|
202
230
|
newTextPayload = await createUrlTextMessage(textContent, failedMessage.urlTextElem.urls);
|
|
203
231
|
}
|
|
@@ -272,7 +300,18 @@ export const useSendMessage = (options) => {
|
|
|
272
300
|
removeOneMessage(failedMessage.clientMsgID);
|
|
273
301
|
await sendMessage(Object.assign(Object.assign({}, newPayload), { ex: failedMessage.ex }));
|
|
274
302
|
}, [sendMessage]);
|
|
275
|
-
const
|
|
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, }) => {
|
|
276
315
|
if (!conversationData || (!recvID && !groupID))
|
|
277
316
|
return false;
|
|
278
317
|
const messageList = [];
|
|
@@ -412,6 +451,12 @@ export const useSendMessage = (options) => {
|
|
|
412
451
|
return false;
|
|
413
452
|
messageList.push(textMessage);
|
|
414
453
|
}
|
|
454
|
+
if (customMessage) {
|
|
455
|
+
const customMessageItem = await createCustomMessage(customMessage);
|
|
456
|
+
if (!customMessageItem)
|
|
457
|
+
return false;
|
|
458
|
+
messageList.push(customMessageItem);
|
|
459
|
+
}
|
|
415
460
|
for (const message of messageList) {
|
|
416
461
|
const isTextLikeMessage = (message === null || message === void 0 ? void 0 : message.contentType) === MessageType.TextMessage ||
|
|
417
462
|
(message === null || message === void 0 ? void 0 : message.contentType) === MessageType.UrlTextMessage ||
|
|
@@ -438,6 +483,7 @@ export const useSendMessage = (options) => {
|
|
|
438
483
|
]);
|
|
439
484
|
return {
|
|
440
485
|
sendMergeMessage,
|
|
486
|
+
sendCustomMessage,
|
|
441
487
|
resendMessage,
|
|
442
488
|
};
|
|
443
489
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,12 @@ 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";
|
|
24
27
|
export { useDChatAuth } from "./hooks/user/useAuth";
|
|
28
|
+
export { useSendMessage } from "./hooks/message/useSendMessage";
|
|
29
|
+
export type { UseSendMessageOptions } from "./hooks/message/useSendMessage";
|
|
25
30
|
export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
|
|
26
31
|
export { useConversationList } from "./hooks/conversation/useConversationList";
|
|
27
32
|
export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,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"}
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -19,8 +19,12 @@ 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";
|
|
22
25
|
//Hooks
|
|
23
26
|
export { useDChatAuth } from "./hooks/user/useAuth";
|
|
27
|
+
export { useSendMessage } from "./hooks/message/useSendMessage";
|
|
24
28
|
export { useUpdateFcmToken } from "./hooks/user/useUpdateFcmToken";
|
|
25
29
|
export { useConversationList } from "./hooks/conversation/useConversationList";
|
|
26
30
|
export { useCreateConversation } from "./hooks/conversation/useCreateConversation";
|
|
@@ -103,6 +103,8 @@
|
|
|
103
103
|
"msg_type_file": "[Tập tin]",
|
|
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ệ",
|
|
106
108
|
"session_started": "Phiên chat đã bắt đầu",
|
|
107
109
|
"session_ended": "Phiên chat đã kết thúc",
|
|
108
110
|
"new_message": "Bạn có tin nhắn mới",
|