@droppii-org/chat-mobile 0.2.4 → 0.2.7
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/components/ThreadCard/AvatarSection.js +4 -4
- package/lib/module/components/ThreadCard/AvatarSection.js.map +1 -1
- package/lib/module/components/ThreadCard/NamePrefixIcon.js +13 -16
- package/lib/module/components/ThreadCard/NamePrefixIcon.js.map +1 -1
- package/lib/module/components/ThreadCard/ThreadCard.js +13 -33
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/config/feature-flags.js +38 -0
- package/lib/module/config/feature-flags.js.map +1 -0
- package/lib/module/context/ChatContext.js +7 -6
- package/lib/module/context/ChatContext.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +101 -0
- package/lib/module/hooks/message/useSendMessage.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/hooks/useChatMessages.js +54 -91
- package/lib/module/hooks/useChatMessages.js.map +1 -1
- package/lib/module/hooks/useConversationList.js +29 -17
- package/lib/module/hooks/useConversationList.js.map +1 -1
- package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js +17 -0
- package/lib/module/hooks/useLinkPreview/useFetchUrlMetadata.js.map +1 -0
- package/lib/module/hooks/useLinkPreview/useLinkPreview.js +35 -0
- package/lib/module/hooks/useLinkPreview/useLinkPreview.js.map +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatComposer.js +20 -4
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +116 -22
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetailHeader.js +5 -8
- package/lib/module/screens/chat-detail/ChatDetailHeader.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatLinkPreview.js +79 -0
- package/lib/module/screens/chat-detail/ChatLinkPreview.js.map +1 -0
- package/lib/module/screens/chat-detail/ChatList.js +2 -0
- package/lib/module/screens/chat-detail/ChatList.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +350 -0
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -0
- package/lib/module/screens/chat-detail/ChatQuickActions.js +12 -2
- package/lib/module/screens/chat-detail/ChatQuickActions.js.map +1 -1
- package/lib/module/screens/chat-detail/conversationHeader.utils.js +29 -0
- package/lib/module/screens/chat-detail/conversationHeader.utils.js.map +1 -0
- package/lib/module/screens/chat-detail/index.js +1 -0
- package/lib/module/screens/chat-detail/index.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js +57 -0
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/LegendChatLoadEarlier.js +21 -0
- package/lib/module/screens/chat-detail/legend/LegendChatLoadEarlier.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +34 -0
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/LegendChatScrollToBottom.js +58 -0
- package/lib/module/screens/chat-detail/legend/LegendChatScrollToBottom.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/message-types.js +244 -0
- package/lib/module/screens/chat-detail/legend/message-types.js.map +1 -0
- package/lib/module/screens/chat-detail/messages/ChatMessageBubble.js.map +1 -1
- package/lib/module/services/apis.js +1 -1
- package/lib/module/services/apis.js.map +1 -1
- package/lib/module/services/endpoints.js +8 -0
- package/lib/module/services/endpoints.js.map +1 -0
- package/lib/module/store/conversation.js +1 -1
- package/lib/module/store/conversation.js.map +1 -1
- package/lib/module/store/message.js +45 -0
- package/lib/module/store/message.js.map +1 -0
- 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 +2 -7
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/types/common.js +2 -0
- package/lib/module/types/common.js.map +1 -0
- package/lib/module/utils/conversation.js +34 -13
- package/lib/module/utils/conversation.js.map +1 -1
- package/lib/module/utils/legendListMessage.js +77 -0
- package/lib/module/utils/legendListMessage.js.map +1 -0
- package/lib/module/utils/message.js +5 -8
- package/lib/module/utils/message.js.map +1 -1
- package/lib/module/utils/url.js +7 -0
- package/lib/module/utils/url.js.map +1 -0
- package/lib/typescript/src/components/Avatar/Avatar.d.ts +1 -1
- package/lib/typescript/src/components/Avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/AvatarBadge.d.ts +1 -1
- package/lib/typescript/src/components/Avatar/AvatarBadge.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/DoubleAvatar.d.ts +1 -1
- package/lib/typescript/src/components/Avatar/DoubleAvatar.d.ts.map +1 -1
- package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts +1 -1
- package/lib/typescript/src/components/Avatar/SingleAvatar.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts +2 -2
- package/lib/typescript/src/components/ThreadCard/AvatarSection.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts +3 -4
- package/lib/typescript/src/components/ThreadCard/NamePrefixIcon.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts +1 -1
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/ThreadCard/UnreadBadge.d.ts +1 -1
- package/lib/typescript/src/components/ThreadCard/UnreadBadge.d.ts.map +1 -1
- package/lib/typescript/src/config/feature-flags.d.ts +12 -0
- package/lib/typescript/src/config/feature-flags.d.ts.map +1 -0
- package/lib/typescript/src/context/ChatContext.d.ts +1 -1
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +12 -0
- package/lib/typescript/src/hooks/message/useSendMessage.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/hooks/useChatMessages.d.ts +3 -1
- package/lib/typescript/src/hooks/useChatMessages.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useConversationList.d.ts +2 -1
- package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useLinkPreview/useFetchUrlMetadata.d.ts +3 -0
- package/lib/typescript/src/hooks/useLinkPreview/useFetchUrlMetadata.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts +7 -0
- package/lib/typescript/src/hooks/useLinkPreview/useLinkPreview.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatAttachmentPanel.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatAttachmentPanel.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDay.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDay.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/ChatDetailHeader.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetailHeader.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatLinkPreview.d.ts +9 -0
- package/lib/typescript/src/screens/chat-detail/ChatLinkPreview.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/ChatList.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatList.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts +3 -0
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/ChatLoadEarlier.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatLoadEarlier.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatQuickActions.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatQuickActions.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatScrollToBottom.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatScrollToBottom.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatTextBubble.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatTextBubble.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts +6 -0
- package/lib/typescript/src/screens/chat-detail/conversationHeader.utils.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/index.d.ts +2 -1
- package/lib/typescript/src/screens/chat-detail/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts +6 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatLoadEarlier.d.ts +6 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatLoadEarlier.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +13 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatScrollToBottom.d.ts +6 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatScrollToBottom.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts +13 -0
- package/lib/typescript/src/screens/chat-detail/legend/message-types.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/messages/ChatMessageBubble.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/messages/ChatMessageBubble.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +33 -7
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/lib/typescript/src/screens/inbox/Inbox.d.ts +1 -1
- package/lib/typescript/src/screens/inbox/Inbox.d.ts.map +1 -1
- package/lib/typescript/src/screens/inbox/MessagesTab.d.ts +1 -1
- package/lib/typescript/src/screens/inbox/MessagesTab.d.ts.map +1 -1
- package/lib/typescript/src/services/apis.d.ts +1 -0
- package/lib/typescript/src/services/apis.d.ts.map +1 -1
- package/lib/typescript/src/services/endpoints.d.ts +6 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -0
- package/lib/typescript/src/store/message.d.ts +3 -0
- package/lib/typescript/src/store/message.d.ts.map +1 -0
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +28 -27
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/types/common.d.ts +7 -0
- package/lib/typescript/src/types/common.d.ts.map +1 -0
- package/lib/typescript/src/utils/conversation.d.ts +3 -2
- package/lib/typescript/src/utils/conversation.d.ts.map +1 -1
- package/lib/typescript/src/utils/legendListMessage.d.ts +23 -0
- package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -0
- package/lib/typescript/src/utils/message.d.ts.map +1 -1
- package/lib/typescript/src/utils/url.d.ts +2 -0
- package/lib/typescript/src/utils/url.d.ts.map +1 -0
- package/package.json +5 -3
- package/src/components/ThreadCard/AvatarSection.tsx +5 -8
- package/src/components/ThreadCard/NamePrefixIcon.tsx +27 -38
- package/src/components/ThreadCard/ThreadCard.tsx +16 -30
- package/src/config/feature-flags.ts +49 -0
- package/src/context/ChatContext.tsx +12 -4
- package/src/hooks/message/useSendMessage.ts +136 -0
- package/src/hooks/query-keys.ts +5 -0
- package/src/hooks/useChatMessages.ts +90 -118
- package/src/hooks/useConversationList.ts +34 -16
- package/src/hooks/useLinkPreview/useFetchUrlMetadata.ts +18 -0
- package/src/hooks/useLinkPreview/useLinkPreview.ts +31 -0
- package/src/index.tsx +1 -0
- package/src/screens/chat-detail/ChatComposer.tsx +23 -2
- package/src/screens/chat-detail/ChatDetail.tsx +163 -30
- package/src/screens/chat-detail/ChatDetailHeader.tsx +4 -10
- package/src/screens/chat-detail/ChatLinkPreview.tsx +86 -0
- package/src/screens/chat-detail/ChatList.tsx +3 -0
- package/src/screens/chat-detail/ChatListLegend.tsx +403 -0
- package/src/screens/chat-detail/ChatQuickActions.tsx +19 -2
- package/src/screens/chat-detail/conversationHeader.utils.ts +49 -0
- package/src/screens/chat-detail/index.ts +7 -0
- package/src/screens/chat-detail/legend/LegendChatDay.tsx +70 -0
- package/src/screens/chat-detail/legend/LegendChatLoadEarlier.tsx +21 -0
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +48 -0
- package/src/screens/chat-detail/legend/LegendChatScrollToBottom.tsx +56 -0
- package/src/screens/chat-detail/legend/message-types.tsx +304 -0
- package/src/screens/chat-detail/messages/ChatMessageBubble.tsx +0 -1
- package/src/screens/chat-detail/types.ts +45 -7
- package/src/services/apis.ts +1 -1
- package/src/services/endpoints.ts +5 -0
- package/src/store/conversation.ts +1 -1
- package/src/store/message.ts +44 -0
- package/src/translation/resources/i18n.ts +6 -0
- package/src/types/chat.ts +31 -30
- package/src/types/common.ts +6 -0
- package/src/utils/conversation.ts +44 -17
- package/src/utils/legendListMessage.ts +97 -0
- package/src/utils/message.ts +10 -12
- package/src/utils/url.ts +5 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo, useCallback } from 'react';
|
|
4
|
+
import { StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer, KColors, KLabel } from '@droppii/libs';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const LegendChatScrollToBottom = /*#__PURE__*/memo(({
|
|
8
|
+
listRef
|
|
9
|
+
}) => {
|
|
10
|
+
const handlePress = useCallback(() => {
|
|
11
|
+
listRef.current?.scrollToEnd({
|
|
12
|
+
animated: true
|
|
13
|
+
});
|
|
14
|
+
}, [listRef]);
|
|
15
|
+
return /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
16
|
+
onPress: handlePress,
|
|
17
|
+
style: styles.scrollToBottom,
|
|
18
|
+
activeOpacity: 0.7,
|
|
19
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
20
|
+
style: styles.scrollToBottomContent,
|
|
21
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
22
|
+
style: styles.arrowDown,
|
|
23
|
+
children: "\u2193"
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
LegendChatScrollToBottom.displayName = 'LegendChatScrollToBottom';
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
scrollToBottom: {
|
|
31
|
+
position: 'absolute',
|
|
32
|
+
bottom: 20,
|
|
33
|
+
right: 16,
|
|
34
|
+
zIndex: 999
|
|
35
|
+
},
|
|
36
|
+
scrollToBottomContent: {
|
|
37
|
+
backgroundColor: KColors.white,
|
|
38
|
+
width: 32,
|
|
39
|
+
height: 32,
|
|
40
|
+
borderRadius: 16,
|
|
41
|
+
shadowColor: KColors.black,
|
|
42
|
+
shadowOffset: {
|
|
43
|
+
width: 0,
|
|
44
|
+
height: 1
|
|
45
|
+
},
|
|
46
|
+
shadowOpacity: 0.16,
|
|
47
|
+
shadowRadius: 8,
|
|
48
|
+
elevation: 8,
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
alignItems: 'center'
|
|
51
|
+
},
|
|
52
|
+
arrowDown: {
|
|
53
|
+
fontSize: 16,
|
|
54
|
+
fontWeight: 'bold',
|
|
55
|
+
color: KColors.palette.primary.w400
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=LegendChatScrollToBottom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","KContainer","KColors","KLabel","jsx","_jsx","LegendChatScrollToBottom","listRef","handlePress","current","scrollToEnd","animated","Touchable","onPress","style","styles","scrollToBottom","activeOpacity","children","View","scrollToBottomContent","Text","arrowDown","displayName","create","position","bottom","right","zIndex","backgroundColor","white","width","height","borderRadius","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","justifyContent","alignItems","fontSize","fontWeight","color","palette","primary","w400"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatScrollToBottom.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5D,OAAO,MAAMC,wBAAwB,gBAAGR,IAAI,CAC1C,CAAC;EAAES;AAAuC,CAAC,KAAK;EAC9C,MAAMC,WAAW,GAAGT,WAAW,CAAC,MAAM;IACpCQ,OAAO,CAACE,OAAO,EAAEC,WAAW,CAAC;MAAEC,QAAQ,EAAE;IAAK,CAAC,CAAC;EAClD,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEb,oBACEF,IAAA,CAACJ,UAAU,CAACW,SAAS;IACnBC,OAAO,EAAEL,WAAY;IACrBM,KAAK,EAAEC,MAAM,CAACC,cAAe;IAC7BC,aAAa,EAAE,GAAI;IAAAC,QAAA,eAEnBb,IAAA,CAACJ,UAAU,CAACkB,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACK,qBAAsB;MAAAF,QAAA,eACnDb,IAAA,CAACF,MAAM,CAACkB,IAAI;QAACP,KAAK,EAAEC,MAAM,CAACO,SAAU;QAAAJ,QAAA,EAAC;MAAC,CAAa;IAAC,CACtC;EAAC,CACE,CAAC;AAE3B,CACF,CAAC;AAEDZ,wBAAwB,CAACiB,WAAW,GAAG,0BAA0B;AAEjE,MAAMR,MAAM,GAAGf,UAAU,CAACwB,MAAM,CAAC;EAC/BR,cAAc,EAAE;IACdS,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE;EACV,CAAC;EACDR,qBAAqB,EAAE;IACrBS,eAAe,EAAE3B,OAAO,CAAC4B,KAAK;IAC9BC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACVC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAEhC,OAAO,CAACiC,KAAK;IAC1BC,YAAY,EAAE;MAAEL,KAAK,EAAE,CAAC;MAAEC,MAAM,EAAE;IAAE,CAAC;IACrCK,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE,CAAC;IACZC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDnB,SAAS,EAAE;IACToB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,MAAM;IAClBC,KAAK,EAAE1C,OAAO,CAAC2C,OAAO,CAACC,OAAO,CAACC;EACjC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { Linking, StyleSheet, Text } from 'react-native';
|
|
5
|
+
import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
|
+
import { getMessageText } from "../../../utils/legendListMessage.js";
|
|
7
|
+
import { CHAT_BUBBLE_COLORS } from "../constants.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const formatMessageTime = createdAt => {
|
|
10
|
+
const date = new Date(createdAt);
|
|
11
|
+
if (Number.isNaN(date.getTime())) return '';
|
|
12
|
+
return date.toLocaleTimeString('vi-VN', {
|
|
13
|
+
hour: '2-digit',
|
|
14
|
+
minute: '2-digit',
|
|
15
|
+
hour12: false
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
// Text Message Component
|
|
20
|
+
export const LegendTextMessage = /*#__PURE__*/memo(({
|
|
21
|
+
message,
|
|
22
|
+
isOutgoing,
|
|
23
|
+
createdAtTime
|
|
24
|
+
}) => {
|
|
25
|
+
const messageText = getMessageText(message);
|
|
26
|
+
const timeLabel = formatMessageTime(createdAtTime);
|
|
27
|
+
if (!messageText?.trim()) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
31
|
+
style: styles.wrapper,
|
|
32
|
+
children: [/*#__PURE__*/_jsx(KContainer.View, {
|
|
33
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
|
|
34
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
35
|
+
typo: "TextMdNormal",
|
|
36
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
37
|
+
children: messageText
|
|
38
|
+
})
|
|
39
|
+
}), !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
40
|
+
typo: "TextXsNormal",
|
|
41
|
+
color: CHAT_BUBBLE_COLORS.timestamp,
|
|
42
|
+
marginL: "0.25rem",
|
|
43
|
+
children: timeLabel
|
|
44
|
+
}) : null]
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
LegendTextMessage.displayName = 'LegendTextMessage';
|
|
48
|
+
|
|
49
|
+
// Image Message Component (placeholder)
|
|
50
|
+
export const LegendImageMessage = /*#__PURE__*/memo(({
|
|
51
|
+
isOutgoing
|
|
52
|
+
}) => {
|
|
53
|
+
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
54
|
+
style: styles.wrapper,
|
|
55
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
56
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
|
|
57
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
58
|
+
typo: "TextSmNormal",
|
|
59
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
60
|
+
children: "[Image]"
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
LegendImageMessage.displayName = 'LegendImageMessage';
|
|
66
|
+
|
|
67
|
+
// Video Message Component (placeholder)
|
|
68
|
+
export const LegendVideoMessage = /*#__PURE__*/memo(({
|
|
69
|
+
isOutgoing
|
|
70
|
+
}) => {
|
|
71
|
+
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
72
|
+
style: styles.wrapper,
|
|
73
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
74
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
|
|
75
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
76
|
+
typo: "TextSmNormal",
|
|
77
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
78
|
+
children: "[Video]"
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
LegendVideoMessage.displayName = 'LegendVideoMessage';
|
|
84
|
+
|
|
85
|
+
// File Message Component
|
|
86
|
+
export const LegendFileMessage = /*#__PURE__*/memo(({
|
|
87
|
+
message,
|
|
88
|
+
isOutgoing
|
|
89
|
+
}) => {
|
|
90
|
+
const fileName = message.fileElem?.fileName || message.content || '[File]';
|
|
91
|
+
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
92
|
+
style: styles.wrapper,
|
|
93
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
94
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
|
|
95
|
+
children: /*#__PURE__*/_jsxs(KLabel.Text, {
|
|
96
|
+
typo: "TextSmNormal",
|
|
97
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
98
|
+
children: ["\uD83D\uDCCE ", fileName]
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
LegendFileMessage.displayName = 'LegendFileMessage';
|
|
104
|
+
|
|
105
|
+
// Link Message Component
|
|
106
|
+
const parseUrlMetadata = ex => {
|
|
107
|
+
if (!ex) return undefined;
|
|
108
|
+
try {
|
|
109
|
+
return JSON.parse(ex).urlMetadata;
|
|
110
|
+
} catch {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const renderTextWithLinks = (content, urls) => {
|
|
115
|
+
if (!urls.length) {
|
|
116
|
+
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
117
|
+
typo: "TextMdNormal",
|
|
118
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
119
|
+
children: content
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const parts = [];
|
|
123
|
+
let remaining = content;
|
|
124
|
+
for (const url of urls) {
|
|
125
|
+
const idx = remaining.indexOf(url);
|
|
126
|
+
if (idx === -1) continue;
|
|
127
|
+
if (idx > 0) parts.push({
|
|
128
|
+
text: remaining.slice(0, idx),
|
|
129
|
+
isUrl: false
|
|
130
|
+
});
|
|
131
|
+
parts.push({
|
|
132
|
+
text: url,
|
|
133
|
+
isUrl: true
|
|
134
|
+
});
|
|
135
|
+
remaining = remaining.slice(idx + url.length);
|
|
136
|
+
}
|
|
137
|
+
if (remaining) parts.push({
|
|
138
|
+
text: remaining,
|
|
139
|
+
isUrl: false
|
|
140
|
+
});
|
|
141
|
+
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
142
|
+
typo: "TextMdNormal",
|
|
143
|
+
color: CHAT_BUBBLE_COLORS.text,
|
|
144
|
+
children: parts.map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(Text, {
|
|
145
|
+
style: styles.urlText,
|
|
146
|
+
onPress: () => Linking.openURL(part.text),
|
|
147
|
+
children: part.text
|
|
148
|
+
}, i) : /*#__PURE__*/_jsx(Text, {
|
|
149
|
+
children: part.text
|
|
150
|
+
}, i))
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
export const LegendLinkMessage = /*#__PURE__*/memo(({
|
|
154
|
+
message,
|
|
155
|
+
isOutgoing,
|
|
156
|
+
createdAtTime
|
|
157
|
+
}) => {
|
|
158
|
+
const content = message?.urlTextElem?.content;
|
|
159
|
+
const urls = message?.urlTextElem?.urls ?? [];
|
|
160
|
+
const metadata = parseUrlMetadata(message.ex);
|
|
161
|
+
const timeLabel = formatMessageTime(createdAtTime);
|
|
162
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
163
|
+
style: styles.wrapper,
|
|
164
|
+
children: [/*#__PURE__*/_jsxs(KContainer.View, {
|
|
165
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived],
|
|
166
|
+
children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
|
|
167
|
+
style: styles.textRow,
|
|
168
|
+
children: renderTextWithLinks(content, urls)
|
|
169
|
+
}), metadata && /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
170
|
+
style: styles.card,
|
|
171
|
+
onPress: () => metadata.url && Linking.openURL(metadata.url),
|
|
172
|
+
children: [!!metadata.image && /*#__PURE__*/_jsx(KImage.Base, {
|
|
173
|
+
uri: metadata.image,
|
|
174
|
+
style: styles.cardThumb,
|
|
175
|
+
resizeMode: "cover"
|
|
176
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
177
|
+
style: styles.cardBody,
|
|
178
|
+
children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
179
|
+
typo: "TextNmMedium",
|
|
180
|
+
color: KColors.palette.gray.w900,
|
|
181
|
+
numberOfLines: 1,
|
|
182
|
+
children: metadata.title
|
|
183
|
+
}), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
184
|
+
typo: "TextXsMedium",
|
|
185
|
+
color: KColors.palette.primary.w400,
|
|
186
|
+
numberOfLines: 1,
|
|
187
|
+
children: metadata.url
|
|
188
|
+
}), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
189
|
+
typo: "TextXsNormal",
|
|
190
|
+
color: KColors.gray.normal,
|
|
191
|
+
numberOfLines: 2,
|
|
192
|
+
children: metadata.description
|
|
193
|
+
})]
|
|
194
|
+
})]
|
|
195
|
+
})]
|
|
196
|
+
}), !isOutgoing && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
197
|
+
typo: "TextXsNormal",
|
|
198
|
+
color: CHAT_BUBBLE_COLORS.timestamp,
|
|
199
|
+
marginL: "0.25rem",
|
|
200
|
+
children: timeLabel
|
|
201
|
+
}) : null]
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
LegendLinkMessage.displayName = 'LegendLinkMessage';
|
|
205
|
+
const styles = StyleSheet.create({
|
|
206
|
+
wrapper: {
|
|
207
|
+
maxWidth: '80%'
|
|
208
|
+
},
|
|
209
|
+
bubble: {
|
|
210
|
+
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
211
|
+
paddingVertical: KSpacingValue['0.5rem'],
|
|
212
|
+
borderRadius: KSpacingValue['1.25rem']
|
|
213
|
+
},
|
|
214
|
+
bubbleReceived: {
|
|
215
|
+
backgroundColor: CHAT_BUBBLE_COLORS.received
|
|
216
|
+
},
|
|
217
|
+
bubbleSent: {
|
|
218
|
+
backgroundColor: CHAT_BUBBLE_COLORS.sent
|
|
219
|
+
},
|
|
220
|
+
textRow: {
|
|
221
|
+
paddingHorizontal: KSpacingValue['0.25rem']
|
|
222
|
+
},
|
|
223
|
+
urlText: {
|
|
224
|
+
color: KColors.palette.primary.w400,
|
|
225
|
+
fontWeight: '500'
|
|
226
|
+
},
|
|
227
|
+
card: {
|
|
228
|
+
borderRadius: KSpacingValue['0.75rem'],
|
|
229
|
+
borderWidth: 1,
|
|
230
|
+
borderColor: 'rgba(57,62,64,0.1)',
|
|
231
|
+
backgroundColor: KColors.white,
|
|
232
|
+
overflow: 'hidden'
|
|
233
|
+
},
|
|
234
|
+
cardThumb: {
|
|
235
|
+
width: '100%',
|
|
236
|
+
aspectRatio: 16 / 9
|
|
237
|
+
},
|
|
238
|
+
cardBody: {
|
|
239
|
+
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
240
|
+
paddingVertical: KSpacingValue['0.5rem'],
|
|
241
|
+
gap: 2
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
//# sourceMappingURL=message-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","Linking","StyleSheet","Text","KContainer","KImage","KLabel","KColors","KSpacingValue","getMessageText","CHAT_BUBBLE_COLORS","jsx","_jsx","jsxs","_jsxs","formatMessageTime","createdAt","date","Date","Number","isNaN","getTime","toLocaleTimeString","hour","minute","hour12","LegendTextMessage","message","isOutgoing","createdAtTime","messageText","timeLabel","trim","View","style","styles","wrapper","children","bubble","bubbleSent","bubbleReceived","typo","color","text","timestamp","marginL","displayName","LegendImageMessage","LegendVideoMessage","LegendFileMessage","fileName","fileElem","content","parseUrlMetadata","ex","undefined","JSON","parse","urlMetadata","renderTextWithLinks","urls","length","parts","remaining","url","idx","indexOf","push","slice","isUrl","map","part","i","urlText","onPress","openURL","LegendLinkMessage","urlTextElem","metadata","textRow","Touchable","card","image","Base","uri","cardThumb","resizeMode","cardBody","title","palette","gray","w900","numberOfLines","primary","w400","description","normal","create","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","fontWeight","borderWidth","borderColor","white","overflow","width","aspectRatio","gap"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/message-types.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","DChatMessageType","ChatTextBubble","jsx","_jsx","getMessageRenderers","Text","ChatMessageBubble","message","position","Renderer","messageType","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messages/ChatMessageBubble.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,gBAAgB,QAAQ,2BAAwB;AACzD,SAASC,cAAc,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGnD,MAAMC,mBAAmB,GAAGA,CAAA,MAEtB;EACJ,CAACJ,gBAAgB,CAACK,IAAI,GAAGJ;AAC3B,CAAC,CAAC;AAEF,OAAO,MAAMK,iBAAiB,gBAAGP,IAAI,CACnC,CAAC;EAAEQ,OAAO;EAAEC;AAAiC,CAAC,KAAK;EACjD,MAAMC,QAAQ,GAAGL,mBAAmB,CAAC,CAAC,CAACG,OAAO,CAACG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"names":["memo","DChatMessageType","ChatTextBubble","jsx","_jsx","getMessageRenderers","Text","ChatMessageBubble","message","position","Renderer","messageType","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messages/ChatMessageBubble.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,gBAAgB,QAAQ,2BAAwB;AACzD,SAASC,cAAc,QAAQ,sBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGnD,MAAMC,mBAAmB,GAAGA,CAAA,MAEtB;EACJ,CAACJ,gBAAgB,CAACK,IAAI,GAAGJ;AAC3B,CAAC,CAAC;AAEF,OAAO,MAAMK,iBAAiB,gBAAGP,IAAI,CACnC,CAAC;EAAEQ,OAAO;EAAEC;AAAiC,CAAC,KAAK;EACjD,MAAMC,QAAQ,GAAGL,mBAAmB,CAAC,CAAC,CAACG,OAAO,CAACG,WAAW,CAAC;EAC3D,IAAI,CAACD,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBAAON,IAAA,CAACM,QAAQ;IAACF,OAAO,EAAEA,OAAQ;IAACC,QAAQ,EAAEA;EAAS,CAAE,CAAC;AAC3D,CACF,CAAC;AAEDF,iBAAiB,CAACK,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import OpenIMSDK, { LoginStatus } from '@droppii/openim-rn-client-sdk';
|
|
4
4
|
import { Platform } from 'react-native';
|
|
5
5
|
import { useConversationStore } from "../store/index.js";
|
|
6
|
-
let apiInstance = null;
|
|
6
|
+
export let apiInstance = null;
|
|
7
7
|
export let ChatAPI;
|
|
8
8
|
(function (_ChatAPI) {
|
|
9
9
|
function initApiInstance(api) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OpenIMSDK","LoginStatus","Platform","useConversationStore","apiInstance","ChatAPI","_ChatAPI","initApiInstance","api","getLoginStatus","operationID","Logged","login","instance","isLoggedIn","response","post","OS","toUpperCase","token","data","userID","id","logout","getState","reset","getUser","getSelfUserInfo","queryConversations","params","Error"],"sourceRoot":"../../../src","sources":["services/apis.ts"],"mappings":";;AAKA,OAAOA,SAAS,IAAIC,WAAW,QAAQ,+BAA+B;AAEtE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,oBAAoB,QAAQ,mBAAU;AAE/C,IAAIC,WAAiC,GAAG,IAAI;AAAC,
|
|
1
|
+
{"version":3,"names":["OpenIMSDK","LoginStatus","Platform","useConversationStore","apiInstance","ChatAPI","_ChatAPI","initApiInstance","api","getLoginStatus","operationID","Logged","login","instance","isLoggedIn","response","post","OS","toUpperCase","token","data","userID","id","logout","getState","reset","getUser","getSelfUserInfo","queryConversations","params","Error"],"sourceRoot":"../../../src","sources":["services/apis.ts"],"mappings":";;AAKA,OAAOA,SAAS,IAAIC,WAAW,QAAQ,+BAA+B;AAEtE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,oBAAoB,QAAQ,mBAAU;AAE/C,OAAO,IAAIC,WAAiC,GAAG,IAAI;AAAC,WAEnCC,OAAO;AAAA,WAAAC,QAAA;EACf,SAASC,eAAeA,CAACC,GAAkB,EAAQ;IACxDJ,WAAW,GAAGI,GAAG;EACnB;EAACF,QAAA,CAAAC,eAAA,GAAAA,eAAA;EAEM,MAAME,cAAc,GAAAH,QAAA,CAAAG,cAAA,GAAG,MAAOC,WAAoB,IAAK;IAC5D,OAAO,CAAC,MAAMV,SAAS,CAACS,cAAc,CAACC,WAAW,CAAC,MAAMT,WAAW,CAACU,MAAM;EAC7E,CAAC;EAEM,MAAMC,KAAK,GAAAN,QAAA,CAAAM,KAAA,GAAG,OACnBC,QAAuB,EACvBH,WAAoB,KACjB;IACH,MAAMI,UAAU,GAAG,MAAML,cAAc,CAACC,WAAW,CAAC;IAEpD,IAAII,UAAU,EAAE;IAEhB,MAAMC,QAAQ,GAAG,MAAMF,QAAQ,CAACG,IAAI,CAClC,wCAAwCd,QAAQ,CAACe,EAAE,CAACC,WAAW,CAAC,CAAC,EACnE,CAAC;IAED,MAAMC,KAAK,GAAGJ,QAAQ,EAAEK,IAAI,EAAEA,IAAI;IAElC,IAAID,KAAK,IAAI,IAAI,EAAE;IAEnB,OAAOnB,SAAS,CAACY,KAAK,CAAC;MAAES,MAAM,EAAEF,KAAK,CAACG,EAAE;MAAEH,KAAK,EAAEA,KAAK,CAACA;IAAM,CAAC,CAAC;EAClE,CAAC;EAEM,MAAMI,MAAM,GAAAjB,QAAA,CAAAiB,MAAA,GAAG,MAAOb,WAAoB,IAAK;IACpDP,oBAAoB,CAACqB,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;IACvC,OAAOzB,SAAS,CAACuB,MAAM,CAACb,WAAW,CAAC;EACtC,CAAC;EAEM,MAAMgB,OAAO,GAAApB,QAAA,CAAAoB,OAAA,GAAG,MAAOhB,WAAgC,IAAK;IACjE,OAAOV,SAAS,CAAC2B,eAAe,CAACjB,WAAW,CAAC;EAC/C,CAAC;EAEM,eAAekB,kBAAkBA,CAACC,MAAgC,EAAE;IACzE,IAAI,CAACzB,WAAW,EAAE;MAChB,MAAM,IAAI0B,KAAK,CACb,+DACF,CAAC;IACH;IACA,MAAMf,QAAQ,GAAG,MAAMX,WAAW,CAACY,IAAI,CACrC,0CAA0C,EAC1Ca,MACF,CAAC;IACD,OAAOd,QAAQ,CAACK,IAAI;EACtB;EAACd,QAAA,CAAAsB,kBAAA,GAAAA,kBAAA;AAAA,GAhDcvB,OAAO,KAAPA,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ENDPOINTS","chatService","urlMetadata"],"sourceRoot":"../../../src","sources":["services/endpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,SAAS,GAAG;EACvBC,WAAW,EAAE;IACXC,WAAW,EAAE;EACf;AACF,CAAC","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ export const useConversationStore = create()((set, get) => ({
|
|
|
18
18
|
},
|
|
19
19
|
updateConversations(conversations) {
|
|
20
20
|
set(sortConversation(conversations.reduce((pre, curr) => {
|
|
21
|
-
pre[curr.
|
|
21
|
+
pre[curr.conversationID] = curr;
|
|
22
22
|
return pre;
|
|
23
23
|
}, {
|
|
24
24
|
...get().map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","sortConversation","mergeOpenIMIntoConversation","useConversationStore","set","get","list","map","newConversationSignal","setCurrentConversation","id","currentConversationId","getCurrentConversation","updateConversations","conversations","reduce","pre","curr","
|
|
1
|
+
{"version":3,"names":["create","sortConversation","mergeOpenIMIntoConversation","useConversationStore","set","get","list","map","newConversationSignal","setCurrentConversation","id","currentConversationId","getCurrentConversation","updateConversations","conversations","reduce","pre","curr","conversationID","mergeOpenIMConversations","currentMap","hasUnknown","changed","nextMap","openim","existing","s","removeConversation","newMap","filter","item","updateLastMessage","message","conversation","lastMessage","reset","undefined","useConversation","state"],"sourceRoot":"../../../src","sources":["store/conversation.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { create } from 'zustand';
|
|
4
|
+
import { mergeMessages } from "../utils/message.js";
|
|
5
|
+
export const useMessageStore = create()((set, get) => ({
|
|
6
|
+
messages: [],
|
|
7
|
+
hasMoreEarlier: false,
|
|
8
|
+
hasMoreNewer: false,
|
|
9
|
+
setMessages: (messages, hasMore) => {
|
|
10
|
+
set({
|
|
11
|
+
messages,
|
|
12
|
+
hasMoreEarlier: hasMore
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
pushNewMessage: message => {
|
|
16
|
+
set(state => ({
|
|
17
|
+
messages: mergeMessages(state.messages, [message])
|
|
18
|
+
}));
|
|
19
|
+
},
|
|
20
|
+
updateOneMessage: message => {
|
|
21
|
+
const tmpList = [...get().messages];
|
|
22
|
+
const idx = tmpList.findIndex(msg => msg.clientMsgID === message.clientMsgID);
|
|
23
|
+
if (idx < 0) return;
|
|
24
|
+
tmpList[idx] = {
|
|
25
|
+
...tmpList[idx],
|
|
26
|
+
...message
|
|
27
|
+
};
|
|
28
|
+
set({
|
|
29
|
+
messages: tmpList
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
deleteOneMessage: clientMsgID => {
|
|
33
|
+
set(state => ({
|
|
34
|
+
messages: state.messages.filter(msg => msg.clientMsgID !== clientMsgID)
|
|
35
|
+
}));
|
|
36
|
+
},
|
|
37
|
+
reset: () => {
|
|
38
|
+
set({
|
|
39
|
+
messages: [],
|
|
40
|
+
hasMoreEarlier: false,
|
|
41
|
+
hasMoreNewer: false
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["create","mergeMessages","useMessageStore","set","get","messages","hasMoreEarlier","hasMoreNewer","setMessages","hasMore","pushNewMessage","message","state","updateOneMessage","tmpList","idx","findIndex","msg","clientMsgID","deleteOneMessage","filter","reset"],"sourceRoot":"../../../src","sources":["store/message.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAGhC,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,OAAO,MAAMC,eAAe,GAAGF,MAAM,CAAe,CAAC,CAAC,CAACG,GAAG,EAAEC,GAAG,MAAM;EACnEC,QAAQ,EAAE,EAAE;EACZC,cAAc,EAAE,KAAK;EACrBC,YAAY,EAAE,KAAK;EAEnBC,WAAW,EAAEA,CAACH,QAAQ,EAAEI,OAAO,KAAK;IAClCN,GAAG,CAAC;MAAEE,QAAQ;MAAEC,cAAc,EAAEG;IAAQ,CAAC,CAAC;EAC5C,CAAC;EAEDC,cAAc,EAAGC,OAAoB,IAAK;IACxCR,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEJ,aAAa,CAACW,KAAK,CAACP,QAAQ,EAAE,CAACM,OAAO,CAAiB;IACnE,CAAC,CAAC,CAAC;EACL,CAAC;EAEDE,gBAAgB,EAAGF,OAAoB,IAAK;IAC1C,MAAMG,OAAO,GAAG,CAAC,GAAGV,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACnC,MAAMU,GAAG,GAAGD,OAAO,CAACE,SAAS,CAC1BC,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKP,OAAO,CAACO,WACvC,CAAC;IACD,IAAIH,GAAG,GAAG,CAAC,EAAE;IACbD,OAAO,CAACC,GAAG,CAAC,GAAG;MAAE,GAAGD,OAAO,CAACC,GAAG,CAAE;MAAE,GAAGJ;IAAQ,CAAiB;IAC/DR,GAAG,CAAC;MAAEE,QAAQ,EAAES;IAAQ,CAAC,CAAC;EAC5B,CAAC;EAEDK,gBAAgB,EAAGD,WAAmB,IAAK;IACzCf,GAAG,CAAES,KAAK,KAAM;MACdP,QAAQ,EAAEO,KAAK,CAACP,QAAQ,CAACe,MAAM,CAAEH,GAAG,IAAKA,GAAG,CAACC,WAAW,KAAKA,WAAW;IAC1E,CAAC,CAAC,CAAC;EACL,CAAC;EAEDG,KAAK,EAAEA,CAAA,KAAM;IACXlB,GAAG,CAAC;MACFE,QAAQ,EAAE,EAAE;MACZC,cAAc,EAAE,KAAK;MACrBC,YAAY,EAAE;IAChB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
const i18nKey = {
|
|
4
4
|
thread_card_bot_crm_name: 'Droppii Hỗ Trợ',
|
|
5
|
-
thread_card_fallback_name: 'Người dùng'
|
|
5
|
+
thread_card_fallback_name: 'Người dùng',
|
|
6
|
+
msg_type_image: '[Hình ảnh]',
|
|
7
|
+
msg_type_voice: '[Tin nhắn thoại]',
|
|
8
|
+
msg_type_video: '[Video]',
|
|
9
|
+
msg_type_file: '[File đính kèm]',
|
|
10
|
+
msg_type_link: '[Liên kết]',
|
|
11
|
+
msg_type_revoke: 'Đã thu hồi tin nhắn'
|
|
6
12
|
};
|
|
7
13
|
export default {
|
|
8
14
|
vi: i18nKey
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["i18nKey","thread_card_bot_crm_name","thread_card_fallback_name","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtCC,wBAAwB,EAAE,gBAAgB;EAC1CC,yBAAyB,EAAE;
|
|
1
|
+
{"version":3,"names":["i18nKey","thread_card_bot_crm_name","thread_card_fallback_name","msg_type_image","msg_type_voice","msg_type_video","msg_type_file","msg_type_link","msg_type_revoke","vi"],"sourceRoot":"../../../../src","sources":["translation/resources/i18n.ts"],"mappings":";;AAAA,MAAMA,OAA+B,GAAG;EACtCC,wBAAwB,EAAE,gBAAgB;EAC1CC,yBAAyB,EAAE,YAAY;EACvCC,cAAc,EAAE,YAAY;EAC5BC,cAAc,EAAE,kBAAkB;EAClCC,cAAc,EAAE,SAAS;EACzBC,aAAa,EAAE,iBAAiB;EAChCC,aAAa,EAAE,YAAY;EAC3BC,eAAe,EAAE;AACnB,CAAC;AAED,eAAe;EACbC,EAAE,EAAET;AACN,CAAC","ignoreList":[]}
|
package/lib/module/types/chat.js
CHANGED
|
@@ -6,8 +6,8 @@ export const EventProvider = {
|
|
|
6
6
|
netcore: 'netcore'
|
|
7
7
|
};
|
|
8
8
|
export let DChatApplicationType = /*#__PURE__*/function (DChatApplicationType) {
|
|
9
|
-
DChatApplicationType["
|
|
10
|
-
DChatApplicationType["
|
|
9
|
+
DChatApplicationType["DROPPII"] = "DROPPII";
|
|
10
|
+
DChatApplicationType["OBEFE"] = "OBEFE";
|
|
11
11
|
return DChatApplicationType;
|
|
12
12
|
}({});
|
|
13
13
|
export let DChatCategory = /*#__PURE__*/function (DChatCategory) {
|
|
@@ -18,11 +18,6 @@ export let DChatCategory = /*#__PURE__*/function (DChatCategory) {
|
|
|
18
18
|
DChatCategory["BIZ_BOT_CRM"] = "BIZ_BOT_CRM";
|
|
19
19
|
return DChatCategory;
|
|
20
20
|
}({});
|
|
21
|
-
export let DChatType = /*#__PURE__*/function (DChatType) {
|
|
22
|
-
DChatType["SINGLE"] = "SINGLE";
|
|
23
|
-
DChatType["GROUP"] = "GROUP";
|
|
24
|
-
return DChatType;
|
|
25
|
-
}({});
|
|
26
21
|
export let DMemberRole = /*#__PURE__*/function (DMemberRole) {
|
|
27
22
|
DMemberRole["AGENT"] = "AGENT";
|
|
28
23
|
DMemberRole["MEMBER"] = "MEMBER";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","
|
|
1
|
+
{"version":3,"names":["EventProvider","ga","appsflyer","netcore","DChatApplicationType","DChatCategory","DMemberRole"],"sourceRoot":"../../../src","sources":["types/chat.ts"],"mappings":";;AAQA,OAAO,MAAMA,aAAa,GAAG;EAC3BC,EAAE,EAAE,IAAI;EACRC,SAAS,EAAE,WAAW;EACtBC,OAAO,EAAE;AACX,CAAU;AAkBV,WAAYC,oBAAoB,0BAApBA,oBAAoB;EAApBA,oBAAoB;EAApBA,oBAAoB;EAAA,OAApBA,oBAAoB;AAAA;AAKhC,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAQzB,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/common.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { SessionType } from '@droppii/openim-rn-client-sdk';
|
|
3
|
+
import { MessageType, SessionType } from '@droppii/openim-rn-client-sdk';
|
|
4
|
+
import { trans } from "../translation/index.js";
|
|
4
5
|
export const conversationCompare = (a, b) => {
|
|
5
6
|
if (a.isPinned !== b.isPinned) return a.isPinned ? -1 : 1;
|
|
6
7
|
const aCompare = a.draftTextTime > a.latestMsgSendTime ? a.draftTextTime : a.latestMsgSendTime;
|
|
@@ -8,30 +9,28 @@ export const conversationCompare = (a, b) => {
|
|
|
8
9
|
return bCompare - aCompare;
|
|
9
10
|
};
|
|
10
11
|
export const dConversationCompare = (a, b) => {
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const bCreateTime = b.lastMessage?.createTime ?? 0;
|
|
16
|
-
return bCreateTime - aCreateTime;
|
|
12
|
+
if (a.isPinned !== b.isPinned) return a.isPinned ? -1 : 1;
|
|
13
|
+
const aTime = a.draftTextTime > a.latestMsgSendTime ? a.draftTextTime : a.latestMsgSendTime;
|
|
14
|
+
const bTime = b.draftTextTime > b.latestMsgSendTime ? b.draftTextTime : b.latestMsgSendTime;
|
|
15
|
+
return bTime - aTime;
|
|
17
16
|
};
|
|
18
|
-
export const mergeOpenIMIntoConversation = (
|
|
19
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
+
export const mergeOpenIMIntoConversation = (existing, openim) => {
|
|
20
18
|
const {
|
|
21
19
|
latestMsg,
|
|
22
|
-
conversationID,
|
|
23
20
|
...openimRest
|
|
24
21
|
} = openim;
|
|
25
|
-
let lastMessage =
|
|
22
|
+
let lastMessage = existing.lastMessage;
|
|
26
23
|
if (latestMsg) {
|
|
27
24
|
try {
|
|
28
25
|
lastMessage = JSON.parse(latestMsg);
|
|
29
26
|
} catch {
|
|
30
|
-
// keep
|
|
27
|
+
// keep existing lastMessage if parse fails
|
|
31
28
|
}
|
|
32
29
|
}
|
|
30
|
+
|
|
31
|
+
// Spread existing first so peerType (not in ConversationItem) is preserved
|
|
33
32
|
return {
|
|
34
|
-
...
|
|
33
|
+
...existing,
|
|
35
34
|
...openimRest,
|
|
36
35
|
lastMessage
|
|
37
36
|
};
|
|
@@ -47,4 +46,26 @@ export const sortConversation = map => {
|
|
|
47
46
|
list
|
|
48
47
|
};
|
|
49
48
|
};
|
|
49
|
+
export const generateContentBasedOnMessageType = (contentType, plainText) => {
|
|
50
|
+
switch (contentType) {
|
|
51
|
+
case MessageType.TextMessage:
|
|
52
|
+
case MessageType.QuoteMessage:
|
|
53
|
+
case MessageType.LogTextMessage:
|
|
54
|
+
return plainText || '';
|
|
55
|
+
case MessageType.PictureMessage:
|
|
56
|
+
return trans('msg_type_image');
|
|
57
|
+
case MessageType.VoiceMessage:
|
|
58
|
+
return trans('msg_type_voice');
|
|
59
|
+
case MessageType.VideoMessage:
|
|
60
|
+
return trans('msg_type_video');
|
|
61
|
+
case MessageType.FileMessage:
|
|
62
|
+
return trans('msg_type_file');
|
|
63
|
+
case MessageType.UrlTextMessage:
|
|
64
|
+
return trans('msg_type_link');
|
|
65
|
+
case MessageType.RevokeMessage:
|
|
66
|
+
return trans('revoked');
|
|
67
|
+
default:
|
|
68
|
+
return '';
|
|
69
|
+
}
|
|
70
|
+
};
|
|
50
71
|
//# sourceMappingURL=conversation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SessionType","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","dConversationCompare","
|
|
1
|
+
{"version":3,"names":["MessageType","SessionType","trans","conversationCompare","a","b","isPinned","aCompare","draftTextTime","latestMsgSendTime","bCompare","dConversationCompare","aTime","bTime","mergeOpenIMIntoConversation","existing","openim","latestMsg","openimRest","lastMessage","JSON","parse","getConversationID","sessionType","senderID","receiverID","prefix","Single","Notification","filter","Boolean","join","sortConversation","map","list","Object","keys","sort","generateContentBasedOnMessageType","contentType","plainText","TextMessage","QuoteMessage","LogTextMessage","PictureMessage","VoiceMessage","VideoMessage","FileMessage","UrlTextMessage","RevokeMessage"],"sourceRoot":"../../../src","sources":["utils/conversation.ts"],"mappings":"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","ignoreList":[]}
|