@droppii-org/chat-sdk 0.1.24 → 0.1.26
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/biz-inbox/BizInboxHeader.d.ts +3 -0
- package/dist/components/biz-inbox/BizInboxHeader.d.ts.map +1 -0
- package/dist/components/biz-inbox/BizInboxHeader.js +8 -0
- package/dist/components/biz-inbox/BizThreadAvatar.d.ts +10 -0
- package/dist/components/biz-inbox/BizThreadAvatar.d.ts.map +1 -0
- package/dist/components/biz-inbox/BizThreadAvatar.js +8 -0
- package/dist/components/biz-inbox/BizThreadCard.d.ts +8 -0
- package/dist/components/biz-inbox/BizThreadCard.d.ts.map +1 -0
- package/dist/components/biz-inbox/BizThreadCard.js +25 -0
- package/dist/components/biz-inbox/BizThreadList.d.ts +11 -0
- package/dist/components/biz-inbox/BizThreadList.d.ts.map +1 -0
- package/dist/components/biz-inbox/BizThreadList.js +35 -0
- package/dist/components/biz-inbox/BizThreadTitle.d.ts +8 -0
- package/dist/components/biz-inbox/BizThreadTitle.d.ts.map +1 -0
- package/dist/components/biz-inbox/BizThreadTitle.js +6 -0
- package/dist/components/biz-inbox/index.d.ts +10 -0
- package/dist/components/biz-inbox/index.d.ts.map +1 -0
- package/dist/components/biz-inbox/index.js +5 -0
- package/dist/components/bizThreadDetail/BizMessageBubble.d.ts +10 -0
- package/dist/components/bizThreadDetail/BizMessageBubble.d.ts.map +1 -0
- package/dist/components/bizThreadDetail/BizMessageBubble.js +15 -0
- package/dist/components/bizThreadDetail/BizMessageList.d.ts +3 -0
- package/dist/components/bizThreadDetail/BizMessageList.d.ts.map +1 -0
- package/dist/components/bizThreadDetail/BizMessageList.js +28 -0
- package/dist/components/bizThreadDetail/BizThreadDetailHeader.d.ts.map +1 -1
- package/dist/components/bizThreadDetail/BizThreadDetailHeader.js +4 -4
- package/dist/components/bizThreadDetail/BizThreadDetailInput.d.ts +2 -3
- package/dist/components/bizThreadDetail/BizThreadDetailInput.d.ts.map +1 -1
- package/dist/components/bizThreadDetail/BizThreadDetailInput.js +137 -10
- package/dist/components/bizThreadDetail/index.d.ts +3 -0
- package/dist/components/bizThreadDetail/index.d.ts.map +1 -1
- package/dist/components/bizThreadDetail/index.js +2 -0
- package/dist/components/bizThreadDetail/item/BizMessageItem.d.ts +8 -0
- package/dist/components/bizThreadDetail/item/BizMessageItem.d.ts.map +1 -0
- package/dist/components/bizThreadDetail/item/BizMessageItem.js +20 -0
- package/dist/components/cannedResponse/CannedResponseBody.js +2 -2
- package/dist/components/cannedResponse/CannedResponseFooter.js +1 -1
- package/dist/components/cannedResponse/CannedResponseHeader.js +1 -1
- package/dist/components/cannedResponse/team/TeamItem.d.ts.map +1 -1
- package/dist/components/cannedResponse/team/TeamItem.js +1 -1
- package/dist/components/chatBubble/ChatBubble.js +1 -1
- package/dist/components/conversation/ConversationBySessionItem.d.ts.map +1 -1
- package/dist/components/conversation/DeskConversationList.js +3 -3
- package/dist/components/mediaCollection/FileCollection.js +1 -1
- package/dist/components/mediaCollection/LinkCollection.js +1 -1
- package/dist/components/mediaCollection/VideoCollection.js +1 -1
- package/dist/components/mediaCollection/index.js +1 -1
- package/dist/components/message/GroupMembersDrawer.d.ts.map +1 -1
- package/dist/components/message/GroupMembersDrawer.js +1 -1
- package/dist/components/message/MessageHeader.d.ts.map +1 -1
- package/dist/components/message/MessageHeader.js +3 -3
- package/dist/components/message/MessageInfiniteScroll.d.ts +15 -0
- package/dist/components/message/MessageInfiniteScroll.d.ts.map +1 -0
- package/dist/components/message/MessageInfiniteScroll.js +20 -0
- package/dist/components/message/MessageList.d.ts.map +1 -1
- package/dist/components/message/MessageList.js +8 -76
- package/dist/components/message/SelectSession.js +1 -1
- package/dist/components/message/UnassignedSessionFooter.js +2 -2
- package/dist/components/message/footer/ActionBar.js +1 -1
- package/dist/components/message/footer/FilePreview.js +1 -1
- package/dist/components/message/footer/MediaActions.js +1 -1
- package/dist/components/message/footer/QuotedMessage.js +1 -1
- package/dist/components/message/footer/index.d.ts.map +1 -1
- package/dist/components/message/footer/index.js +1 -1
- package/dist/components/message/item/FileMessage.js +1 -1
- package/dist/components/message/item/QuoteMessage.js +2 -2
- package/dist/components/message/item/TextMessage.js +1 -1
- package/dist/components/message/item/index.js +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +4 -4
- package/dist/components/searchConversation/SearchAll.js +1 -1
- package/dist/components/searchConversation/SearchDrawer.js +1 -1
- package/dist/components/searchConversation/item/SearchItemAsUser.d.ts.map +1 -1
- package/dist/components/session/DeskAssignedSession.js +1 -1
- package/dist/components/session/DeskTeamInbox.js +1 -1
- package/dist/components/session/SessionFilterMenu.d.ts.map +1 -1
- package/dist/components/session/sessionMenuItems.d.ts.map +1 -1
- package/dist/components/session/sessionMenuItems.js +1 -1
- package/dist/components/thread/AssignConfirmModal.d.ts.map +1 -1
- package/dist/components/thread/ManualAssignPopover.js +1 -1
- package/dist/components/thread/SessionSection.d.ts.map +1 -1
- package/dist/components/thread/SessionSection.js +1 -1
- package/dist/components/thread/UserSection.js +1 -1
- package/dist/context/ChatContext.d.ts.map +1 -1
- package/dist/hooks/biz/index.d.ts +1 -0
- package/dist/hooks/biz/index.d.ts.map +1 -1
- package/dist/hooks/biz/index.js +1 -0
- package/dist/hooks/biz/useBizConversationList.d.ts.map +1 -1
- package/dist/hooks/biz/useBizSendMessage.d.ts +4 -0
- package/dist/hooks/biz/useBizSendMessage.d.ts.map +1 -0
- package/dist/hooks/biz/useBizSendMessage.js +61 -0
- package/dist/hooks/biz/useCreateBizConversation.d.ts.map +1 -1
- package/dist/hooks/cannedResponse/useFetchCannedCategories.d.ts.map +1 -1
- package/dist/hooks/cannedResponse/useFetchCannedResponse.d.ts.map +1 -1
- package/dist/hooks/conversation/useConversation.js +1 -1
- package/dist/hooks/global/useGlobalEvent.js +2 -2
- package/dist/hooks/message/useMessageListScroll.d.ts +29 -0
- package/dist/hooks/message/useMessageListScroll.d.ts.map +1 -0
- package/dist/hooks/message/useMessageListScroll.js +88 -0
- package/dist/hooks/message/usePullSessionMessages.d.ts.map +1 -1
- package/dist/hooks/message/useSendMessage.d.ts.map +1 -1
- package/dist/hooks/message/useSendMessage.js +1 -1
- package/dist/hooks/search/useSearchMessage.d.ts.map +1 -1
- package/dist/hooks/session/useAssignSession.d.ts.map +1 -1
- package/dist/hooks/session/useCloseSession.d.ts.map +1 -1
- package/dist/hooks/session/useCreateNote.d.ts.map +1 -1
- package/dist/hooks/session/useGetLabelSession.d.ts.map +1 -1
- package/dist/hooks/session/useGetListSessionByConversation.d.ts.map +1 -1
- package/dist/hooks/session/useGetSession.d.ts.map +1 -1
- package/dist/hooks/session/useGetSessionSummary.d.ts.map +1 -1
- package/dist/hooks/session/useGetTeamSessionSummary.d.ts.map +1 -1
- package/dist/hooks/session/useGetTeamSessionSummary.js +14 -8
- package/dist/hooks/session/useGetTeamSupporters.d.ts.map +1 -1
- package/dist/hooks/session/useGetUserSideInfo.d.ts.map +1 -1
- package/dist/hooks/session/useJoinSession.d.ts.map +1 -1
- package/dist/hooks/session/useLeaveConversation.d.ts.map +1 -1
- package/dist/hooks/session/useReopenOrCreateSession.d.ts.map +1 -1
- package/dist/hooks/session/useSessionLatestPreview.d.ts.map +1 -1
- package/dist/hooks/session/useSessionLatestPreview.js +1 -1
- package/dist/hooks/session/useSortedSessions.d.ts.map +1 -1
- package/dist/hooks/session/useUpdateNote.d.ts.map +1 -1
- package/dist/hooks/session/useUpdateSession.d.ts.map +1 -1
- package/dist/hooks/session/useUpdateSessionInfo.d.ts.map +1 -1
- package/dist/hooks/team/useFetchMyTeam.d.ts.map +1 -1
- package/dist/hooks/user/useCurrentUserAccountType.d.ts.map +1 -1
- package/dist/hooks/user/useUpdateFcmToken.d.ts.map +1 -1
- package/dist/hooks/user/useUpdateFcmToken.js +1 -1
- package/dist/locales/i18n.js +3 -3
- package/dist/locales/i18n.ts +3 -3
- package/dist/locales/vi/biz-inbox.json +20 -0
- package/dist/screens/bizMessage/index.d.ts.map +1 -1
- package/dist/screens/bizMessage/index.js +4 -4
- package/dist/screens/bizThreadDetail/index.d.ts.map +1 -1
- package/dist/screens/bizThreadDetail/index.js +2 -2
- package/dist/store/bizConversation.d.ts.map +1 -1
- package/dist/store/bizMessageDraft.d.ts +8 -0
- package/dist/store/bizMessageDraft.d.ts.map +1 -0
- package/dist/store/bizMessageDraft.js +23 -0
- package/dist/store/type.d.ts +111 -0
- package/dist/store/type.d.ts.map +1 -0
- package/dist/store/type.js +1 -0
- package/dist/styles/global.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/chat.d.ts +1 -0
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/dto.d.ts +1 -1
- package/dist/types/dto.d.ts.map +1 -1
- package/dist/utils/bizConversation.d.ts.map +1 -1
- package/dist/utils/bizMessage.d.ts +15 -0
- package/dist/utils/bizMessage.d.ts.map +1 -0
- package/dist/utils/bizMessage.js +23 -0
- package/dist/utils/events.d.ts +1 -0
- package/dist/utils/events.d.ts.map +1 -1
- package/dist/utils/messageTransform.d.ts.map +1 -1
- package/package.json +126 -126
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBizSendMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/biz/useBizSendMessage.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,iBAAiB;iCAOR,MAAM;CA6D3B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { MessageStatus } from "@openim/wasm-client-sdk";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { DChatSDK } from "../../constants/sdk";
|
|
5
|
+
import { createTextMessage, } from "../../hooks/message/useSendMessage";
|
|
6
|
+
import { pushNewMessage, updateOneMessage } from "../../hooks/message/useMessage";
|
|
7
|
+
import useBizConversationStore from "../../store/bizConversation";
|
|
8
|
+
import { isBizGroupChat, resolveBizAvatarUrl, resolveBizDisplayName, } from "../../utils/bizConversation";
|
|
9
|
+
import { generateContentBasedOnMessageType } from "../../utils/common";
|
|
10
|
+
import { emit } from "../../utils/events";
|
|
11
|
+
export const useBizSendMessage = () => {
|
|
12
|
+
const { t } = useTranslation("common");
|
|
13
|
+
const conversation = useBizConversationStore((state) => state.conversationData);
|
|
14
|
+
const sendTextMessage = useCallback(async (plainText) => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
const text = plainText.trim();
|
|
17
|
+
if (!text || !conversation)
|
|
18
|
+
return false;
|
|
19
|
+
const isGroup = isBizGroupChat(conversation);
|
|
20
|
+
const peerId = (_a = conversation.peer.id) !== null && _a !== void 0 ? _a : "";
|
|
21
|
+
const recvID = isGroup ? "" : peerId;
|
|
22
|
+
const groupID = isGroup ? peerId : "";
|
|
23
|
+
const message = await createTextMessage(text);
|
|
24
|
+
if (!message)
|
|
25
|
+
return false;
|
|
26
|
+
const messageItem = Object.assign(Object.assign({}, message), { ex: "{}", isInternal: false });
|
|
27
|
+
pushNewMessage(messageItem);
|
|
28
|
+
emit("BIZ_CHAT_SCROLL_TO_BOTTOM_IF_AT_BOTTOM");
|
|
29
|
+
try {
|
|
30
|
+
const desc = generateContentBasedOnMessageType(message.contentType, text) ||
|
|
31
|
+
t("new_message");
|
|
32
|
+
const showName = resolveBizDisplayName(conversation, "Droppii Chat");
|
|
33
|
+
const faceURL = (_b = resolveBizAvatarUrl(conversation)) !== null && _b !== void 0 ? _b : "";
|
|
34
|
+
const { data: successMessage } = await DChatSDK.sendMessage({
|
|
35
|
+
recvID,
|
|
36
|
+
groupID,
|
|
37
|
+
message: messageItem,
|
|
38
|
+
offlinePushInfo: {
|
|
39
|
+
title: showName,
|
|
40
|
+
desc,
|
|
41
|
+
ex: JSON.stringify({
|
|
42
|
+
icon: faceURL,
|
|
43
|
+
conversationId: conversation.conversationId,
|
|
44
|
+
title: showName,
|
|
45
|
+
desc,
|
|
46
|
+
}),
|
|
47
|
+
iOSPushSound: "default",
|
|
48
|
+
iOSBadgeCount: true,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
updateOneMessage(Object.assign(Object.assign({}, successMessage), { ex: successMessage.ex || "{}" }));
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error("sendBizTextMessage", error);
|
|
56
|
+
updateOneMessage(Object.assign(Object.assign({}, messageItem), { status: MessageStatus.Failed }));
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}, [conversation, t]);
|
|
60
|
+
return { sendTextMessage };
|
|
61
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateBizConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/biz/useCreateBizConversation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,yBAAyB,EAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"useCreateBizConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/biz/useCreateBizConversation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,eAAO,MAAM,wBAAwB,gIAepC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchCannedCategories.d.ts","sourceRoot":"","sources":["../../../src/hooks/cannedResponse/useFetchCannedCategories.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useFetchCannedCategories.d.ts","sourceRoot":"","sources":["../../../src/hooks/cannedResponse/useFetchCannedCategories.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,EAAE,UAAU,OAAO,qFAUvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchCannedResponse.d.ts","sourceRoot":"","sources":["../../../src/hooks/cannedResponse/useFetchCannedResponse.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"useFetchCannedResponse.d.ts","sourceRoot":"","sources":["../../../src/hooks/cannedResponse/useFetchCannedResponse.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,sBAAsB,GACjC,SAAS,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDrC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { SessionType } from "@openim/wasm-client-sdk";
|
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { DChatSDK } from "../../constants/sdk";
|
|
4
4
|
import useUsersInfoStore from "../../store/usersInfo";
|
|
5
|
-
import { extractUserIdsFromConversations } from "
|
|
5
|
+
import { extractUserIdsFromConversations } from "../../hooks/user/useUsersInfo";
|
|
6
6
|
import { useChatContext } from "../../context/ChatContext";
|
|
7
7
|
export const markConversationMessageAsRead = (conversationId) => {
|
|
8
8
|
if (!conversationId)
|
|
@@ -2,12 +2,12 @@ import { useEffect } from "react";
|
|
|
2
2
|
import { DChatSDK } from "../../constants/sdk";
|
|
3
3
|
import { CbEvents, MessageType, SessionType, } from "@openim/wasm-client-sdk";
|
|
4
4
|
import { BusinessNotificationType, ConnectStatus, CustomType, SyncStatus, } from "../../types/chat";
|
|
5
|
-
import { pushNewMessage, updateOneMessage } from "
|
|
5
|
+
import { pushNewMessage, updateOneMessage } from "../../hooks/message/useMessage";
|
|
6
6
|
import { useChatContext } from "../../context/ChatContext";
|
|
7
7
|
import useConversationStore from "../../store/conversation";
|
|
8
8
|
import useAuthStore from "../../store/auth";
|
|
9
9
|
import { useRefetchChatToken } from "../../hooks/init/useChatToken";
|
|
10
|
-
import { updateSession } from "
|
|
10
|
+
import { updateSession } from "../../hooks/session/useUpdateSession";
|
|
11
11
|
import { QUERY_KEYS } from "../../services/query";
|
|
12
12
|
import { useQueryClient } from "@tanstack/react-query";
|
|
13
13
|
import { isGroupSession } from "../../utils/imCommon";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { RefObject } from "react";
|
|
2
|
+
import { MessageItem } from "@openim/wasm-client-sdk";
|
|
3
|
+
export declare const MESSAGE_LIST_BOTTOM_THRESHOLD = -5;
|
|
4
|
+
export interface MessageListLoadState {
|
|
5
|
+
initLoading: boolean;
|
|
6
|
+
hasMoreOld: boolean;
|
|
7
|
+
hasMoreNew: boolean;
|
|
8
|
+
messageList: MessageItem[];
|
|
9
|
+
}
|
|
10
|
+
interface UseMessageListScrollParams {
|
|
11
|
+
conversationId?: string;
|
|
12
|
+
userId?: string;
|
|
13
|
+
loadState: MessageListLoadState;
|
|
14
|
+
latestLoadState: RefObject<MessageListLoadState | null>;
|
|
15
|
+
moreOldLoading: boolean;
|
|
16
|
+
moreNewLoading: boolean;
|
|
17
|
+
getMoreOldMessages: () => void | Promise<unknown>;
|
|
18
|
+
getMoreNewMessages: () => void | Promise<unknown>;
|
|
19
|
+
}
|
|
20
|
+
export declare const useMessageListScroll: ({ conversationId, userId, loadState, latestLoadState, moreOldLoading, moreNewLoading, getMoreOldMessages, getMoreNewMessages, }: UseMessageListScrollParams) => {
|
|
21
|
+
scrollRef: RefObject<HTMLDivElement>;
|
|
22
|
+
handleMarkConversationMessageAsRead: () => void;
|
|
23
|
+
loadMoreOldMessage: () => void;
|
|
24
|
+
handleInfiniteScroll: (e: React.UIEvent<HTMLDivElement>) => void;
|
|
25
|
+
scrollToBottom: () => void;
|
|
26
|
+
scrollToBottomIfAtBottom: () => void;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=useMessageListScroll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMessageListScroll.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/useMessageListScroll.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkC,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,WAAW,EAAE,CAAC;CAC5B;AAED,UAAU,0BAA0B;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,CAAC;IAChC,eAAe,EAAE,SAAS,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,kBAAkB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,eAAO,MAAM,oBAAoB,GAAI,iIASlC,0BAA0B;;;;8BAiDrB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;;;CAkDpC,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
3
|
+
import { useDebounceFn } from "ahooks";
|
|
4
|
+
import { isNumber } from "lodash";
|
|
5
|
+
import { markConversationMessageAsRead } from "../../hooks/conversation/useConversation";
|
|
6
|
+
export const MESSAGE_LIST_BOTTOM_THRESHOLD = -5;
|
|
7
|
+
export const useMessageListScroll = ({ conversationId, userId, loadState, latestLoadState, moreOldLoading, moreNewLoading, getMoreOldMessages, getMoreNewMessages, }) => {
|
|
8
|
+
const scrollRef = useRef(null);
|
|
9
|
+
const handleMarkConversationMessageAsRead = useCallback(() => {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
const lastMessage = (_b = (_a = latestLoadState.current) === null || _a === void 0 ? void 0 : _a.messageList) === null || _b === void 0 ? void 0 : _b[0];
|
|
12
|
+
if (!conversationId ||
|
|
13
|
+
((_c = latestLoadState.current) === null || _c === void 0 ? void 0 : _c.hasMoreNew) ||
|
|
14
|
+
moreNewLoading ||
|
|
15
|
+
(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.isRead) !== false ||
|
|
16
|
+
(lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.sendID) === userId ||
|
|
17
|
+
!isNumber((_d = scrollRef.current) === null || _d === void 0 ? void 0 : _d.scrollTop) ||
|
|
18
|
+
scrollRef.current.scrollTop < MESSAGE_LIST_BOTTOM_THRESHOLD) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
markConversationMessageAsRead(conversationId);
|
|
22
|
+
}, [conversationId, latestLoadState, moreNewLoading, userId]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!loadState.hasMoreNew &&
|
|
25
|
+
!loadState.initLoading &&
|
|
26
|
+
loadState.messageList.length > 0) {
|
|
27
|
+
handleMarkConversationMessageAsRead();
|
|
28
|
+
}
|
|
29
|
+
}, [
|
|
30
|
+
loadState.messageList.length,
|
|
31
|
+
loadState.hasMoreNew,
|
|
32
|
+
loadState.initLoading,
|
|
33
|
+
handleMarkConversationMessageAsRead,
|
|
34
|
+
]);
|
|
35
|
+
const loadMoreOldMessage = useCallback(() => {
|
|
36
|
+
if (!loadState.hasMoreOld || moreOldLoading)
|
|
37
|
+
return;
|
|
38
|
+
getMoreOldMessages();
|
|
39
|
+
}, [loadState.hasMoreOld, moreOldLoading, getMoreOldMessages]);
|
|
40
|
+
const { run: loadMoreNewMessage } = useDebounceFn(() => {
|
|
41
|
+
if (!loadState.hasMoreNew || moreNewLoading)
|
|
42
|
+
return;
|
|
43
|
+
getMoreNewMessages();
|
|
44
|
+
}, { wait: 200 });
|
|
45
|
+
const handleInfiniteScroll = useCallback((e) => {
|
|
46
|
+
const target = e.target;
|
|
47
|
+
if (target.scrollTop > MESSAGE_LIST_BOTTOM_THRESHOLD) {
|
|
48
|
+
handleMarkConversationMessageAsRead();
|
|
49
|
+
loadMoreNewMessage();
|
|
50
|
+
}
|
|
51
|
+
}, [handleMarkConversationMessageAsRead, loadMoreNewMessage]);
|
|
52
|
+
const scrollToBottom = useCallback(() => {
|
|
53
|
+
handleMarkConversationMessageAsRead();
|
|
54
|
+
setTimeout(() => {
|
|
55
|
+
var _a, _b, _c;
|
|
56
|
+
if (isNumber((_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) &&
|
|
57
|
+
scrollRef.current.scrollTop >= MESSAGE_LIST_BOTTOM_THRESHOLD) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
(_b = scrollRef.current) === null || _b === void 0 ? void 0 : _b.scrollTo({
|
|
61
|
+
top: (_c = scrollRef.current) === null || _c === void 0 ? void 0 : _c.scrollHeight,
|
|
62
|
+
behavior: "smooth",
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
}, [handleMarkConversationMessageAsRead]);
|
|
66
|
+
const scrollToBottomIfAtBottom = useCallback(() => {
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
var _a;
|
|
69
|
+
if (!isNumber((_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollTop) ||
|
|
70
|
+
scrollRef.current.scrollTop < MESSAGE_LIST_BOTTOM_THRESHOLD) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
scrollRef.current.scrollTo({
|
|
74
|
+
top: scrollRef.current.scrollHeight,
|
|
75
|
+
behavior: "smooth",
|
|
76
|
+
});
|
|
77
|
+
handleMarkConversationMessageAsRead();
|
|
78
|
+
});
|
|
79
|
+
}, [handleMarkConversationMessageAsRead]);
|
|
80
|
+
return {
|
|
81
|
+
scrollRef,
|
|
82
|
+
handleMarkConversationMessageAsRead,
|
|
83
|
+
loadMoreOldMessage,
|
|
84
|
+
handleInfiniteScroll,
|
|
85
|
+
scrollToBottom,
|
|
86
|
+
scrollToBottomIfAtBottom,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePullSessionMessages.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/usePullSessionMessages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAEL,2BAA2B,EAE5B,MAAM,
|
|
1
|
+
{"version":3,"file":"usePullSessionMessages.d.ts","sourceRoot":"","sources":["../../../src/hooks/message/usePullSessionMessages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAEL,2BAA2B,EAE5B,MAAM,aAAa,CAAC;AAOrB,UAAU,4BAA4B;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,wBAAwB,GAAU,8CAI5C,2BAA2B,KAAG,OAAO,CAAC,WAAW,EAAE,CAerD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,sCAIpC,4BAA4B,yEAa9B,CAAC"}
|
|
@@ -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;AAEjC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,
|
|
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,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAYtB,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAUlC,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,eAAO,MAAM,cAAc;4EA0NpB;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;KACrB;oFAoCE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,UAAU,EAAE,OAAO,CAAC;KACrB;mCA5JqB,WAAW;CA6RpC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,+BAGvC;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC,KAWM,iBACN,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { apiInstance } from "../../services/api";
|
|
|
13
13
|
import { ENDPOINTS } from "../../services/routes";
|
|
14
14
|
import { extractLinks, generateContentBasedOnMessageType, } from "../../utils/common";
|
|
15
15
|
import { SessionStatus, SessionTag } from "../../types/chat";
|
|
16
|
-
import { updateSession } from "
|
|
16
|
+
import { updateSession } from "../../hooks/session/useUpdateSession";
|
|
17
17
|
import { invalidateSessionQueries } from "../../utils/queryHelpers";
|
|
18
18
|
const messageFileStore = new Map();
|
|
19
19
|
const MEDIA_CONTENT_TYPES = new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/search/useSearchMessage.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"useSearchMessage.d.ts","sourceRoot":"","sources":["../../../src/hooks/search/useSearchMessage.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAMrB,UAAU,uBAAuB;IAC/B,OAAO,EAAE,IAAI,CACX,oBAAoB,EACpB,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,KAAK,CAC7D,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D;AAED,eAAO,MAAM,gBAAgB,GAAI,uBAG9B,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAssignSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useAssignSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useAssignSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useAssignSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,qHA0B5B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,yHAqBhC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCloseSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useCloseSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useCloseSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useCloseSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI3C,eAAO,MAAM,eAAe,wGAqB3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateNote.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useCreateNote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useCreateNote.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useCreateNote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,aAAa;oBAQJ,MAAM;aACb,MAAM;cACL,MAAM;WAkBlB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetLabelSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetLabelSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetLabelSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetLabelSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAG3D,eAAO,MAAM,kBAAkB,+EAiB9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetListSessionByConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetListSessionByConversation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetListSessionByConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetListSessionByConversation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI7D,UAAU,oBAAoB;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,+BAA+B,GAAI,qCAI7C,oBAAoB,8EAyBtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetSession.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,YAAY,EAIb,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetSession.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,YAAY,EAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhE,UAAU,kBAAkB;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AA2JD,eAAO,MAAM,aAAa,GAAI,sBAG3B,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetSessionSummary.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetSessionSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetSessionSummary.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetSessionSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGpE,eAAO,MAAM,oBAAoB,sFAY7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetTeamSessionSummary.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetTeamSessionSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetTeamSessionSummary.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetTeamSessionSummary.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGpE,eAAO,MAAM,wBAAwB,wFAcpC,CAAC"}
|
|
@@ -2,11 +2,17 @@ import { useQuery } from "@tanstack/react-query";
|
|
|
2
2
|
import { QUERY_KEYS } from "../../services/query";
|
|
3
3
|
import { apiInstance } from "../../services/api";
|
|
4
4
|
import { ENDPOINTS } from "../../services/routes";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
import useAuthStore from "../../store/auth";
|
|
6
|
+
export const useGetTeamSessionSummary = () => {
|
|
7
|
+
const applicationType = useAuthStore((state) => state.applicationType);
|
|
8
|
+
return useQuery({
|
|
9
|
+
queryKey: [QUERY_KEYS.GET_TEAM_SESSION_SUMMARY, applicationType],
|
|
10
|
+
queryFn: async () => {
|
|
11
|
+
var _a;
|
|
12
|
+
const res = await apiInstance.post(ENDPOINTS.chatService.getTeamSessionSummary, {
|
|
13
|
+
applicationType,
|
|
14
|
+
});
|
|
15
|
+
return ((_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.data) || [];
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetTeamSupporters.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetTeamSupporters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetTeamSupporters.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetTeamSupporters.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG/D,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,GAAI,8BAIlC,0BAA0B,gFAiBzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetUserSideInfo.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetUserSideInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useGetUserSideInfo.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useGetUserSideInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGrE,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,QAAQ,MAAM,oFAerE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useJoinSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useJoinSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useJoinSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useJoinSession.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,cAAc,wGAwC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLeaveConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useLeaveConversation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useLeaveConversation.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useLeaveConversation.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAO3C,eAAO,MAAM,oBAAoB;oBAQX,MAAM;WA4B3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReopenOrCreateSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useReopenOrCreateSession.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useReopenOrCreateSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useReopenOrCreateSession.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAa7D,eAAO,MAAM,gBAAgB,mGAe5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,mGAe5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSessionLatestPreview.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionLatestPreview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useSessionLatestPreview.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSessionLatestPreview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAOD,eAAO,MAAM,uBAAuB,GAAI,UAAU,gBAAgB,EAAE,+BAsFnE,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { useEffect, useMemo } from "react";
|
|
|
4
4
|
import { QUERY_KEYS } from "../../services/query";
|
|
5
5
|
import emitter from "../../utils/events";
|
|
6
6
|
import useAuthStore from "../../store/auth";
|
|
7
|
-
import { fetchPullSessionMessages } from "
|
|
7
|
+
import { fetchPullSessionMessages } from "../../hooks/message/usePullSessionMessages";
|
|
8
8
|
const shouldPullSessionMessages = (session) => Boolean(session.conversationId &&
|
|
9
9
|
session.ownerId);
|
|
10
10
|
export const useSessionLatestPreview = (sessions) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSortedSessions.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSortedSessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useSortedSessions.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useSortedSessions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,eAAO,MAAM,iBAAiB,GAC5B,UAAU,gBAAgB,EAAE,EAC5B,kBAAkB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,uBAa7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateNote.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateNote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useUpdateNote.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateNote.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,aAAa;YAOZ,MAAM;aACL,MAAM;WAejB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useUpdateSession.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateSession.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIlE,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,gBAAgB,qHAqB5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,qBAAqB,SAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateSessionInfo.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateSessionInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useUpdateSessionInfo.d.ts","sourceRoot":"","sources":["../../../src/hooks/session/useUpdateSessionInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,oBAAoB,2HAa7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFetchMyTeam.d.ts","sourceRoot":"","sources":["../../../src/hooks/team/useFetchMyTeam.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useFetchMyTeam.d.ts","sourceRoot":"","sources":["../../../src/hooks/team/useFetchMyTeam.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,eAAe,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,eAAe,gFASxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCurrentUserAccountType.d.ts","sourceRoot":"","sources":["../../../src/hooks/user/useCurrentUserAccountType.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAEZ,MAAM,
|
|
1
|
+
{"version":3,"file":"useCurrentUserAccountType.d.ts","sourceRoot":"","sources":["../../../src/hooks/user/useCurrentUserAccountType.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAEZ,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,yBAAyB,mBA4BrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUpdateFcmToken.d.ts","sourceRoot":"","sources":["../../../src/hooks/user/useUpdateFcmToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useUpdateFcmToken.d.ts","sourceRoot":"","sources":["../../../src/hooks/user/useUpdateFcmToken.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,eAAO,MAAM,iBAAiB,oGAmB1B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useMutation } from "@tanstack/react-query";
|
|
2
2
|
import { apiInstance } from "../../services/api";
|
|
3
3
|
import { ENDPOINTS } from "../../services/routes";
|
|
4
|
-
import { DChatPlatform } from "
|
|
4
|
+
import { Platform as DChatPlatform } from "@openim/wasm-client-sdk";
|
|
5
5
|
import useAuthStore from "../../store/auth";
|
|
6
6
|
import dayjs from "dayjs";
|
|
7
7
|
export const useUpdateFcmToken = () => useMutation({
|
package/dist/locales/i18n.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import i18n from "i18next";
|
|
2
2
|
import { initReactI18next } from "react-i18next";
|
|
3
3
|
import vi from "./vi/common.json";
|
|
4
|
-
import viBizInbox from "./vi/
|
|
4
|
+
import viBizInbox from "./vi/biz-inbox.json";
|
|
5
5
|
if (!i18n.isInitialized) {
|
|
6
6
|
i18n.use(initReactI18next).init({
|
|
7
7
|
resources: {
|
|
8
|
-
vi: { common: vi,
|
|
8
|
+
vi: { common: vi, "biz-inbox": viBizInbox },
|
|
9
9
|
},
|
|
10
10
|
lng: "vi",
|
|
11
11
|
fallbackLng: "vi",
|
|
12
12
|
interpolation: { escapeValue: false },
|
|
13
|
-
ns: ["common", "
|
|
13
|
+
ns: ["common", "biz-inbox"],
|
|
14
14
|
defaultNS: "common",
|
|
15
15
|
});
|
|
16
16
|
}
|
package/dist/locales/i18n.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import i18n from "i18next";
|
|
2
2
|
import { initReactI18next } from "react-i18next";
|
|
3
3
|
import vi from "./vi/common.json";
|
|
4
|
-
import viBizInbox from "./vi/
|
|
4
|
+
import viBizInbox from "./vi/biz-inbox.json";
|
|
5
5
|
|
|
6
6
|
if (!i18n.isInitialized) {
|
|
7
7
|
i18n.use(initReactI18next).init({
|
|
8
8
|
resources: {
|
|
9
|
-
vi: { common: vi,
|
|
9
|
+
vi: { common: vi, "biz-inbox": viBizInbox },
|
|
10
10
|
},
|
|
11
11
|
lng: "vi",
|
|
12
12
|
fallbackLng: "vi",
|
|
13
13
|
interpolation: { escapeValue: false },
|
|
14
|
-
ns: ["common", "
|
|
14
|
+
ns: ["common", "biz-inbox"],
|
|
15
15
|
defaultNS: "common",
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tabs": {
|
|
3
|
+
"messages": "Tin nhắn"
|
|
4
|
+
},
|
|
5
|
+
"empty": {
|
|
6
|
+
"no_conversations": "Chưa có cuộc trò chuyện",
|
|
7
|
+
"no_messages": "Chưa có tin nhắn"
|
|
8
|
+
},
|
|
9
|
+
"thread_card": {
|
|
10
|
+
"fallback_name": "Người dùng",
|
|
11
|
+
"badge": {
|
|
12
|
+
"mall": "Mall",
|
|
13
|
+
"bot": "Bot"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"thread_detail": {
|
|
17
|
+
"profile_hint": "Nhấn để xem thông tin",
|
|
18
|
+
"input_placeholder": "Nhập tin nhắn..."
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/bizMessage/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/bizMessage/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,GAAI,0CAIpB,kBAAkB,4CA8EpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -8,14 +8,14 @@ import clsx from "clsx";
|
|
|
8
8
|
import useAuthStore from "../../store/auth";
|
|
9
9
|
import useBizConversationStore from "../../store/bizConversation";
|
|
10
10
|
import { useBizConversationList } from "../../hooks/biz";
|
|
11
|
-
import { BizInboxHeader } from "../../components/
|
|
12
|
-
import BizThreadList from "../../components/
|
|
13
|
-
import DChatBizThreadDetail from "
|
|
11
|
+
import { BizInboxHeader } from "../../components/biz-inbox";
|
|
12
|
+
import BizThreadList from "../../components/biz-inbox/BizThreadList";
|
|
13
|
+
import DChatBizThreadDetail from "../../screens/bizThreadDetail";
|
|
14
14
|
import { PAGE_SIZE } from "../../constants";
|
|
15
15
|
import { DChatApplicationType } from "../../types/chat";
|
|
16
16
|
import { Icon } from "../../components/icon";
|
|
17
17
|
const DChatBizInbox = ({ pageSize = PAGE_SIZE.medium, onSelectThread, className, }) => {
|
|
18
|
-
const { t } = useTranslation("
|
|
18
|
+
const { t } = useTranslation("biz-inbox");
|
|
19
19
|
const searchParams = useSearchParams();
|
|
20
20
|
const applicationType = useAuthStore((state) => state.applicationType);
|
|
21
21
|
const conversationData = useBizConversationStore((state) => state.conversationData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/bizThreadDetail/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/screens/bizThreadDetail/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAE9E,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,oBAAoB,GAAI,gDAK3B,yBAAyB,mDAiC3B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -14,7 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
|
15
15
|
import clsx from "clsx";
|
|
16
16
|
import useBizConversationStore from "../../store/bizConversation";
|
|
17
|
-
import { BizThreadDetailHeader, BizThreadDetailInput, } from "../../components/bizThreadDetail";
|
|
17
|
+
import { BizMessageList, BizThreadDetailHeader, BizThreadDetailInput, } from "../../components/bizThreadDetail";
|
|
18
18
|
const DChatBizThreadDetail = (_a) => {
|
|
19
19
|
var { className, children, onBack } = _a, inputProps = __rest(_a, ["className", "children", "onBack"]);
|
|
20
20
|
const router = useRouter();
|
|
@@ -31,6 +31,6 @@ const DChatBizThreadDetail = (_a) => {
|
|
|
31
31
|
if (!conversation) {
|
|
32
32
|
return null;
|
|
33
33
|
}
|
|
34
|
-
return (_jsxs("div", { "data-testid": "biz-thread-detail-root", className: clsx("flex h-full w-full flex-col bg-white", className), children: [_jsx(BizThreadDetailHeader, { conversation: conversation, onBack: handleBack }), _jsx("div", { className: "min-h-0 flex-1
|
|
34
|
+
return (_jsxs("div", { "data-testid": "biz-thread-detail-root", className: clsx("flex h-full w-full flex-col bg-white", className), children: [_jsx(BizThreadDetailHeader, { conversation: conversation, onBack: handleBack }), _jsx("div", { className: "flex min-h-0 flex-1 flex-col", children: children !== null && children !== void 0 ? children : _jsx(BizMessageList, {}) }), _jsx(BizThreadDetailInput, Object.assign({}, inputProps))] }));
|
|
35
35
|
};
|
|
36
36
|
export default DChatBizThreadDetail;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bizConversation.d.ts","sourceRoot":"","sources":["../../src/store/bizConversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"bizConversation.d.ts","sourceRoot":"","sources":["../../src/store/bizConversation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,UAAU,oBAAoB;IAC5B,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IAChE,yBAAyB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAChE,yBAAyB,EAAE,MAAM,IAAI,CAAC;CACvC;AAED,QAAA,MAAM,uBAAuB,mFAmB1B,CAAC;AAEJ,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface BizMessageDraftStore {
|
|
2
|
+
drafts: Record<string, string>;
|
|
3
|
+
setDraft: (conversationId: string, text: string) => void;
|
|
4
|
+
clearDraft: (conversationId: string) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const useBizMessageDraftStore: import("zustand").UseBoundStore<import("zustand").StoreApi<BizMessageDraftStore>>;
|
|
7
|
+
export default useBizMessageDraftStore;
|
|
8
|
+
//# sourceMappingURL=bizMessageDraft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bizMessageDraft.d.ts","sourceRoot":"","sources":["../../src/store/bizMessageDraft.ts"],"names":[],"mappings":"AAEA,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,QAAA,MAAM,uBAAuB,mFAW1B,CAAC;AAEJ,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { create } from "zustand";
|
|
13
|
+
const useBizMessageDraftStore = create((set) => ({
|
|
14
|
+
drafts: {},
|
|
15
|
+
setDraft: (conversationId, text) => set((state) => ({
|
|
16
|
+
drafts: Object.assign(Object.assign({}, state.drafts), { [conversationId]: text }),
|
|
17
|
+
})),
|
|
18
|
+
clearDraft: (conversationId) => set((state) => {
|
|
19
|
+
const _a = state.drafts, _b = conversationId, _ = _a[_b], drafts = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
|
|
20
|
+
return { drafts };
|
|
21
|
+
}),
|
|
22
|
+
}));
|
|
23
|
+
export default useBizMessageDraftStore;
|