@droppii-org/chat-mobile 0.2.57 → 0.2.59
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/lib/module/assets/images/index.js +2 -1
- package/lib/module/assets/images/index.js.map +1 -1
- package/lib/module/assets/images/search_empty.png +0 -0
- package/lib/module/components/Avatar/Avatar.utils.js +5 -3
- package/lib/module/components/Avatar/Avatar.utils.js.map +1 -1
- package/lib/module/components/Avatar/SingleAvatar.js +2 -0
- package/lib/module/components/Avatar/SingleAvatar.js.map +1 -1
- package/lib/module/components/ThreadCard/AvatarSection.js +8 -4
- package/lib/module/components/ThreadCard/AvatarSection.js.map +1 -1
- package/lib/module/config/api-endpoints.js +2 -1
- package/lib/module/config/api-endpoints.js.map +1 -1
- package/lib/module/constants/index.js +4 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/hooks/message/usePinMessage.js +30 -26
- package/lib/module/hooks/message/usePinMessage.js.map +1 -1
- package/lib/module/hooks/message/useSearchMessage.js +58 -0
- package/lib/module/hooks/message/useSearchMessage.js.map +1 -0
- package/lib/module/hooks/query-keys.js +4 -0
- package/lib/module/hooks/query-keys.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoActions.js +2 -2
- package/lib/module/screens/ChatInfo/ChatInfoActions.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoMediaRow.js +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoMediaRow.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchAllResult.js +123 -0
- package/lib/module/screens/SearchConversation/SearchAllResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js +32 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js +71 -0
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchResultItem.js +102 -0
- package/lib/module/screens/SearchConversation/SearchResultItem.js.map +1 -0
- package/lib/module/screens/SearchConversation/TabResult.js +118 -0
- package/lib/module/screens/SearchConversation/TabResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/index.js +57 -0
- package/lib/module/screens/SearchConversation/index.js.map +1 -0
- package/lib/module/screens/SearchConversation/types.js +9 -0
- package/lib/module/screens/SearchConversation/types.js.map +1 -0
- package/lib/module/screens/chat-detail/BotMenuSheet.js +4 -4
- package/lib/module/screens/chat-detail/BotMenuSheet.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatComposer.js +19 -4
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +3 -1
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/services/endpoints.js +2 -1
- package/lib/module/services/endpoints.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +7 -1
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/messageUtils.js +5 -5
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/typescript/src/assets/images/index.d.ts +1 -0
- package/lib/typescript/src/assets/images/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/Avatar.types.d.ts +1 -1
- package/lib/typescript/src/components/Avatar/Avatar.types.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/Avatar.utils.d.ts +2 -0
- package/lib/typescript/src/components/Avatar/Avatar.utils.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts +2 -1
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts.map +1 -1
- package/lib/typescript/src/config/api-endpoints.d.ts +1 -0
- package/lib/typescript/src/config/api-endpoints.d.ts.map +1 -1
- package/lib/typescript/src/constants/index.d.ts +2 -0
- package/lib/typescript/src/constants/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/message/usePinMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSearchMessage.d.ts +221 -0
- package/lib/typescript/src/hooks/message/useSearchMessage.d.ts.map +1 -0
- package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
- package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts +10 -0
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchEmpty.d.ts +2 -0
- package/lib/typescript/src/screens/SearchConversation/SearchEmpty.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchMessagesResult.d.ts +8 -0
- package/lib/typescript/src/screens/SearchConversation/SearchMessagesResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchResultItem.d.ts +10 -0
- package/lib/typescript/src/screens/SearchConversation/SearchResultItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts +8 -0
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/index.d.ts +7 -0
- package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/types.d.ts +6 -0
- package/lib/typescript/src/screens/SearchConversation/types.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/BotMenuSheet.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -0
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/lib/typescript/src/services/endpoints.d.ts +1 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +13 -1
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/images/index.ts +1 -0
- package/src/assets/images/search_empty.png +0 -0
- package/src/components/Avatar/Avatar.types.ts +1 -1
- package/src/components/Avatar/Avatar.utils.ts +5 -3
- package/src/components/Avatar/SingleAvatar.tsx +2 -0
- package/src/components/ThreadCard/AvatarSection.tsx +5 -2
- package/src/config/api-endpoints.ts +2 -0
- package/src/constants/index.ts +1 -0
- package/src/hooks/message/usePinMessage.ts +34 -30
- package/src/hooks/message/useSearchMessage.ts +78 -0
- package/src/hooks/query-keys.ts +6 -0
- package/src/index.tsx +1 -0
- package/src/screens/ChatInfo/ChatInfoActions.tsx +2 -2
- package/src/screens/ChatInfo/ChatInfoMediaRow.tsx +1 -1
- package/src/screens/SearchConversation/SearchAllResult.tsx +154 -0
- package/src/screens/SearchConversation/SearchEmpty.tsx +30 -0
- package/src/screens/SearchConversation/SearchMessagesResult.tsx +74 -0
- package/src/screens/SearchConversation/SearchResultItem.tsx +107 -0
- package/src/screens/SearchConversation/TabResult.tsx +144 -0
- package/src/screens/SearchConversation/index.tsx +61 -0
- package/src/screens/SearchConversation/types.tsx +5 -0
- package/src/screens/chat-detail/BotMenuSheet.tsx +2 -3
- package/src/screens/chat-detail/ChatComposer.tsx +27 -8
- package/src/screens/chat-detail/ChatDetail.tsx +2 -1
- package/src/screens/chat-detail/types.ts +1 -0
- package/src/services/endpoints.ts +1 -0
- package/src/translation/resources/i18n.ts +7 -0
- package/src/types/chat.ts +15 -0
- package/src/utils/messageUtils.ts +13 -6
|
@@ -38,6 +38,7 @@ export const ENDPOINTS = {
|
|
|
38
38
|
stickersByCategoryId: (id: string) =>
|
|
39
39
|
`${getApiEndpoint('stickersByCategory')}/${id}/stickers`,
|
|
40
40
|
stickerHistory: () => getApiEndpoint('stickerHistory'),
|
|
41
|
+
searchMessages: () => `${getApiEndpoint('messages')}/search`,
|
|
41
42
|
},
|
|
42
43
|
uploaderService: {
|
|
43
44
|
get uploadImage() {
|
|
@@ -118,6 +118,13 @@ const i18nKey: Record<string, string> = {
|
|
|
118
118
|
'Bạn đang trong phiên hỗ trợ với hỗ trợ viên, bạn có muốn <bold>kết thúc phiên hỗ trợ</bold> ngay bây giờ?',
|
|
119
119
|
'chat:end_support_session_primary': 'Kết thúc',
|
|
120
120
|
'chat:end_support_session_secondary': 'Tiếp tục',
|
|
121
|
+
'search': 'Tìm kiếm',
|
|
122
|
+
'all': 'Tất cả',
|
|
123
|
+
'contacts': 'Liên hệ',
|
|
124
|
+
'messages': 'Tin nhắn',
|
|
125
|
+
'search:empty_description':
|
|
126
|
+
'Không tìm thấy kết quả nào\nHãy thử lại với cách viết hoặc kết hợp cụm từ khác phù hợp hơn.',
|
|
127
|
+
'view_all': 'Xem tất cả',
|
|
121
128
|
};
|
|
122
129
|
|
|
123
130
|
export default {
|
package/src/types/chat.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
MessageType,
|
|
2
3
|
type ConversationItem,
|
|
3
4
|
type MessageItem,
|
|
4
5
|
} from '@droppii/openim-rn-client-sdk';
|
|
@@ -317,3 +318,17 @@ export interface DThreadResourceRawRow {
|
|
|
317
318
|
tag: unknown;
|
|
318
319
|
displayTag: unknown;
|
|
319
320
|
}
|
|
321
|
+
|
|
322
|
+
export type ISearchMessagesRequest = {
|
|
323
|
+
conversationId?: string;
|
|
324
|
+
contentTypes: MessageType[];
|
|
325
|
+
page: number;
|
|
326
|
+
pageSize: number;
|
|
327
|
+
applicationType: DChatApplicationType;
|
|
328
|
+
searchTerm: string;
|
|
329
|
+
};
|
|
330
|
+
|
|
331
|
+
export interface ISearchMessageItem {
|
|
332
|
+
chatLog: MessageItem;
|
|
333
|
+
conversation: ConversationItem;
|
|
334
|
+
}
|
|
@@ -20,10 +20,14 @@ export const isMessageRevoked = (message: MessageItem): boolean =>
|
|
|
20
20
|
export const extractTextContent = (message: MessageItem): string => {
|
|
21
21
|
if (message.textElem?.content) return message.textElem.content;
|
|
22
22
|
try {
|
|
23
|
-
const parsed = JSON.parse(message.content) as {
|
|
24
|
-
|
|
23
|
+
const parsed = JSON.parse(message.content) as {
|
|
24
|
+
content?: string;
|
|
25
|
+
text?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
};
|
|
28
|
+
return parsed?.content || parsed?.text || parsed?.description || '';
|
|
25
29
|
} catch {
|
|
26
|
-
return message.content
|
|
30
|
+
return message.content || '';
|
|
27
31
|
}
|
|
28
32
|
};
|
|
29
33
|
|
|
@@ -75,14 +79,17 @@ export const getMessagePreview = (message?: MessageItem): string => {
|
|
|
75
79
|
case MessageType.UrlTextMessage:
|
|
76
80
|
// Preview link message - show with [Link] prefix
|
|
77
81
|
const urlText =
|
|
78
|
-
message?.urlTextElem?.content ||
|
|
82
|
+
message?.urlTextElem?.content ||
|
|
83
|
+
message?.urlTextElem?.urls?.[0] ||
|
|
84
|
+
extractTextContent(message) ||
|
|
85
|
+
'';
|
|
79
86
|
return urlText ? urlText : '';
|
|
80
87
|
|
|
81
88
|
case MessageType.AtTextMessage:
|
|
82
89
|
return extractTextContent(message);
|
|
83
90
|
|
|
84
91
|
case MessageType.QuoteMessage:
|
|
85
|
-
return message?.quoteElem?.text || '';
|
|
92
|
+
return message?.quoteElem?.text || extractTextContent(message) || '';
|
|
86
93
|
|
|
87
94
|
case MessageType.RevokeMessage:
|
|
88
95
|
return trans('msg_type_revoke');
|
|
@@ -91,7 +98,7 @@ export const getMessagePreview = (message?: MessageItem): string => {
|
|
|
91
98
|
if (message?.customElem?.description) {
|
|
92
99
|
return message?.customElem?.description;
|
|
93
100
|
}
|
|
94
|
-
return '';
|
|
101
|
+
return extractTextContent(message) || '';
|
|
95
102
|
|
|
96
103
|
case MessageType.StickerMessage:
|
|
97
104
|
return '[Sticker]';
|