@droppii-org/chat-mobile 0.2.81 → 0.2.83
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/MentionBadge.js +24 -0
- package/lib/module/components/ThreadCard/MentionBadge.js.map +1 -0
- package/lib/module/components/ThreadCard/ThreadCard.js +5 -1
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/components/messages/linkMessage/LinkPreviewCard.js +67 -0
- package/lib/module/components/messages/linkMessage/LinkPreviewCard.js.map +1 -0
- package/lib/module/components/messages/linkMessage/index.js +49 -92
- package/lib/module/components/messages/linkMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js +152 -0
- package/lib/module/components/messages/quotedMessage/QuotedMessagePreviewStrip.js.map +1 -0
- package/lib/module/components/messages/quotedMessage/index.js +79 -55
- package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
- package/lib/module/components/messages/stickerMessage/index.js +38 -13
- package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
- package/lib/module/components/messages/textMessage/index.js +126 -13
- package/lib/module/components/messages/textMessage/index.js.map +1 -1
- package/lib/module/components/messages/types.js.map +1 -1
- package/lib/module/core/useChatListener.js +1 -1
- package/lib/module/core/useChatListener.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +64 -3
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/query-keys.js +4 -0
- package/lib/module/hooks/query-keys.js.map +1 -1
- package/lib/module/hooks/useChatCompose.js +3 -2
- package/lib/module/hooks/useChatCompose.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatComposer.js +170 -48
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +16 -7
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/components/ChatMessageInput.js +23 -2
- package/lib/module/screens/chat-detail/components/ChatMessageInput.js.map +1 -1
- package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js +51 -0
- package/lib/module/screens/chat-detail/components/MentionHighlightAdapter.js.map +1 -0
- package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js +49 -0
- package/lib/module/screens/chat-detail/components/MentionSuggestionItem.js.map +1 -0
- package/lib/module/screens/chat-detail/components/MentionSuggestionList.js +114 -0
- package/lib/module/screens/chat-detail/components/MentionSuggestionList.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useChatComposerState.js +8 -0
- package/lib/module/screens/chat-detail/hooks/useChatComposerState.js.map +1 -1
- package/lib/module/screens/chat-detail/hooks/useMentionComposer.js +251 -0
- package/lib/module/screens/chat-detail/hooks/useMentionComposer.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js +4 -9
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +14 -2
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/services/mentionSearch.js +49 -0
- package/lib/module/services/mentionSearch.js.map +1 -0
- package/lib/module/services/message.js +6 -1
- package/lib/module/services/message.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +5 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/types/mention.js +2 -0
- package/lib/module/types/mention.js.map +1 -0
- package/lib/module/utils/legendListMessage.js +9 -1
- package/lib/module/utils/legendListMessage.js.map +1 -1
- package/lib/module/utils/mentionSerializer.js +113 -0
- package/lib/module/utils/mentionSerializer.js.map +1 -0
- package/lib/module/utils/mentions/index.js +7 -0
- package/lib/module/utils/mentions/index.js.map +1 -0
- package/lib/module/utils/mentions/mentionDetector.js +49 -0
- package/lib/module/utils/mentions/mentionDetector.js.map +1 -0
- package/lib/module/utils/mentions/mentionDiff.js +66 -0
- package/lib/module/utils/mentions/mentionDiff.js.map +1 -0
- package/lib/module/utils/mentions/mentionRange.js +188 -0
- package/lib/module/utils/mentions/mentionRange.js.map +1 -0
- package/lib/module/utils/mentions/mentionTokenize.js +50 -0
- package/lib/module/utils/mentions/mentionTokenize.js.map +1 -0
- package/lib/module/utils/messageUtils.js +6 -1
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/module/utils/url.js +33 -0
- package/lib/module/utils/url.js.map +1 -1
- package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts +7 -0
- package/lib/typescript/src/components/ThreadCard/MentionBadge.d.ts.map +1 -0
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts +16 -0
- package/lib/typescript/src/components/messages/linkMessage/LinkPreviewCard.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts +2 -2
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts +13 -0
- package/lib/typescript/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +2 -2
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/textMessage/index.d.ts +4 -2
- package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/types.d.ts +1 -0
- package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +5 -2
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
- 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/useChatCompose.d.ts +2 -1
- package/lib/typescript/src/hooks/useChatCompose.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/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts +10 -2
- package/lib/typescript/src/screens/chat-detail/components/ChatMessageInput.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts +29 -0
- package/lib/typescript/src/screens/chat-detail/components/MentionHighlightAdapter.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts +8 -0
- package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts +12 -0
- package/lib/typescript/src/screens/chat-detail/components/MentionSuggestionList.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts +48 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useMentionComposer.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +2 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/services/mentionSearch.d.ts +15 -0
- package/lib/typescript/src/services/mentionSearch.d.ts.map +1 -0
- package/lib/typescript/src/services/message.d.ts +1 -1
- package/lib/typescript/src/services/message.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 +23 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/types/mention.d.ts +65 -0
- package/lib/typescript/src/types/mention.d.ts.map +1 -0
- package/lib/typescript/src/utils/legendListMessage.d.ts +4 -3
- package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
- package/lib/typescript/src/utils/mentionSerializer.d.ts +78 -0
- package/lib/typescript/src/utils/mentionSerializer.d.ts.map +1 -0
- package/lib/typescript/src/utils/mentions/index.d.ts +5 -0
- package/lib/typescript/src/utils/mentions/index.d.ts.map +1 -0
- package/lib/typescript/src/utils/mentions/mentionDetector.d.ts +18 -0
- package/lib/typescript/src/utils/mentions/mentionDetector.d.ts.map +1 -0
- package/lib/typescript/src/utils/mentions/mentionDiff.d.ts +20 -0
- package/lib/typescript/src/utils/mentions/mentionDiff.d.ts.map +1 -0
- package/lib/typescript/src/utils/mentions/mentionRange.d.ts +86 -0
- package/lib/typescript/src/utils/mentions/mentionRange.d.ts.map +1 -0
- package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts +29 -0
- package/lib/typescript/src/utils/mentions/mentionTokenize.d.ts.map +1 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/url.d.ts +12 -0
- package/lib/typescript/src/utils/url.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ThreadCard/MentionBadge.tsx +28 -0
- package/src/components/ThreadCard/ThreadCard.tsx +3 -0
- package/src/components/messages/linkMessage/LinkPreviewCard.tsx +92 -0
- package/src/components/messages/linkMessage/index.tsx +64 -121
- package/src/components/messages/quotedMessage/QuotedMessagePreviewStrip.tsx +168 -0
- package/src/components/messages/quotedMessage/index.tsx +95 -64
- package/src/components/messages/stickerMessage/index.tsx +40 -11
- package/src/components/messages/textMessage/index.tsx +159 -17
- package/src/components/messages/types.ts +1 -0
- package/src/core/useChatListener.ts +1 -1
- package/src/hooks/message/useSendMessage.ts +60 -1
- package/src/hooks/query-keys.ts +6 -0
- package/src/hooks/useChatCompose.ts +115 -107
- package/src/screens/chat-detail/ChatComposer.tsx +201 -67
- package/src/screens/chat-detail/ChatListLegend.tsx +19 -4
- package/src/screens/chat-detail/components/ChatMessageInput.tsx +35 -2
- package/src/screens/chat-detail/components/MentionHighlightAdapter.tsx +57 -0
- package/src/screens/chat-detail/components/MentionSuggestionItem.tsx +53 -0
- package/src/screens/chat-detail/components/MentionSuggestionList.tsx +133 -0
- package/src/screens/chat-detail/hooks/useChatComposerState.ts +7 -1
- package/src/screens/chat-detail/hooks/useMentionComposer.ts +344 -0
- package/src/screens/chat-detail/legend/LegendChatDay.tsx +6 -9
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +25 -2
- package/src/services/mentionSearch.ts +57 -0
- package/src/services/message.ts +9 -1
- package/src/translation/resources/i18n.ts +6 -0
- package/src/types/chat.ts +22 -0
- package/src/types/mention.ts +70 -0
- package/src/utils/legendListMessage.ts +13 -4
- package/src/utils/mentionSerializer.ts +155 -0
- package/src/utils/mentions/index.ts +16 -0
- package/src/utils/mentions/mentionDetector.ts +58 -0
- package/src/utils/mentions/mentionDiff.ts +95 -0
- package/src/utils/mentions/mentionRange.ts +207 -0
- package/src/utils/mentions/mentionTokenize.ts +53 -0
- package/src/utils/messageUtils.ts +6 -1
- package/src/utils/url.ts +30 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { KLabel, KColors } from '@droppii/libs';
|
|
5
|
+
import { GroupAtType } from '@droppii/openim-rn-client-sdk';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
// Figma (node 15177-302069): "@" renders as a standalone bold glyph, no
|
|
8
|
+
// background — same color token as the composer/bubble mention highlight
|
|
9
|
+
// (KColors.palette.primary.w400), not a new one-off value.
|
|
10
|
+
export const MentionBadge = /*#__PURE__*/memo(({
|
|
11
|
+
groupAtType
|
|
12
|
+
}) => {
|
|
13
|
+
if (groupAtType === undefined || groupAtType === GroupAtType.AtNormal) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
17
|
+
typo: "TextNmBold",
|
|
18
|
+
color: KColors.palette.primary.w400,
|
|
19
|
+
marginL: "0.5rem",
|
|
20
|
+
children: "@"
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
MentionBadge.displayName = 'MentionBadge';
|
|
24
|
+
//# sourceMappingURL=MentionBadge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","KLabel","KColors","GroupAtType","jsx","_jsx","MentionBadge","groupAtType","undefined","AtNormal","Text","typo","color","palette","primary","w400","marginL","children","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/MentionBadge.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC/C,SAASC,WAAW,QAAQ,+BAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM5D;AACA;AACA;AACA,OAAO,MAAMC,YAAY,gBAAGN,IAAI,CAAC,CAAC;EAAEO;AAA+B,CAAC,KAAK;EACvE,IAAIA,WAAW,KAAKC,SAAS,IAAID,WAAW,KAAKJ,WAAW,CAACM,QAAQ,EAAE;IACrE,OAAO,IAAI;EACb;EAEA,oBACEJ,IAAA,CAACJ,MAAM,CAACS,IAAI;IACVC,IAAI,EAAC,YAAY;IACjBC,KAAK,EAAEV,OAAO,CAACW,OAAO,CAACC,OAAO,CAACC,IAAK;IACpCC,OAAO,EAAC,QAAQ;IAAAC,QAAA,EACjB;EAED,CAAa,CAAC;AAElB,CAAC,CAAC;AAEFX,YAAY,CAACY,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { KContainer, KImage, KLabel, KColors } from '@droppii/libs';
|
|
|
6
6
|
import { AvatarSection } from "./AvatarSection.js";
|
|
7
7
|
import { NamePrefixIcon } from "./NamePrefixIcon.js";
|
|
8
8
|
import { UnreadBadge } from "./UnreadBadge.js";
|
|
9
|
+
import { MentionBadge } from "./MentionBadge.js";
|
|
9
10
|
import { formatTimestamp } from "../../utils/dateTimeUtils.js";
|
|
10
11
|
import { getLastMessageText, getMessagePreviewTextProps } from "../../utils/messageUtils.js";
|
|
11
12
|
import { useConversation, useUserStore } from "../../store/index.js";
|
|
@@ -30,7 +31,8 @@ const ThreadCard = /*#__PURE__*/memo(({
|
|
|
30
31
|
isPinned,
|
|
31
32
|
latestMsgSendTime,
|
|
32
33
|
latestMsg,
|
|
33
|
-
groupID
|
|
34
|
+
groupID,
|
|
35
|
+
groupAtType
|
|
34
36
|
} = conversation || {};
|
|
35
37
|
const {
|
|
36
38
|
data: isJoinedGroup
|
|
@@ -151,6 +153,8 @@ const ThreadCard = /*#__PURE__*/memo(({
|
|
|
151
153
|
color: KColors.primary.normal
|
|
152
154
|
})
|
|
153
155
|
})
|
|
156
|
+
}), /*#__PURE__*/_jsx(MentionBadge, {
|
|
157
|
+
groupAtType: groupAtType
|
|
154
158
|
}), /*#__PURE__*/_jsx(UnreadBadge, {
|
|
155
159
|
count: unreadCount
|
|
156
160
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","useConversation","useUserStore","MessageReceiveOptType","MuteThread","PinThread","useIsJoinedGroup","isEmpty","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadCard","item","onPress","conversation","peerType","showName","faceURL","members","unreadCount","recvMsgOpt","Normal","isPinned","latestMsgSendTime","latestMsg","groupID","data","isJoinedGroup","isNotInGroup","latestMsgData","result","JSON","parse","error","console","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","message","handlePress","event","renderRightActions","_progress","_translation","swipeableMethods","children","VisibleView","visible","Boolean","friction","rightThreshold","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","background","white","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VectorIcons","name","provider","size","palette","gray","w500","w400","normal","primary","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAElD,OAAOC,mBAAmB,MAAM,kDAAkD;AAElF,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACnE,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SACEC,kBAAkB,EAClBC,0BAA0B,QACrB,6BAA0B;AACjC,SAASC,eAAe,EAAEC,YAAY,QAAQ,sBAAa;AAC3D,SACEC,qBAAqB,QAGhB,+BAA+B;AACtC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,OAAOC,OAAO,MAAM,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAUrC,MAAMC,UAAU,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","MentionBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","useConversation","useUserStore","MessageReceiveOptType","MuteThread","PinThread","useIsJoinedGroup","isEmpty","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadCard","item","onPress","conversation","peerType","showName","faceURL","members","unreadCount","recvMsgOpt","Normal","isPinned","latestMsgSendTime","latestMsg","groupID","groupAtType","data","isJoinedGroup","isNotInGroup","latestMsgData","result","JSON","parse","error","console","fullName","hasUnread","isMuted","timestamp","sendTime","currentUserId","s","user","userID","lastMessageText","message","handlePress","event","renderRightActions","_progress","_translation","swipeableMethods","children","VisibleView","visible","Boolean","friction","rightThreshold","Touchable","row","alignItems","paddingH","paddingV","activeOpacity","background","white","avatar","View","flex","marginL","paddingB","Text","typo","numberOfLines","color","black","VectorIcons","name","provider","size","palette","gray","w500","w400","normal","primary","count","displayName"],"sourceRoot":"../../../../src","sources":["components/ThreadCard/ThreadCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAElD,OAAOC,mBAAmB,MAAM,kDAAkD;AAElF,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACnE,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SACEC,kBAAkB,EAClBC,0BAA0B,QACrB,6BAA0B;AACjC,SAASC,eAAe,EAAEC,YAAY,QAAQ,sBAAa;AAC3D,SACEC,qBAAqB,QAGhB,+BAA+B;AACtC,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,iCAA8B;AAC/D,OAAOC,OAAO,MAAM,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAUrC,MAAMC,UAAU,gBAAG5B,IAAI,CAAC,CAAC;EAAE6B,IAAI;EAAEC;AAAyB,CAAC,KAAK;EAC9D,MAAMC,YAAY,GAAGhB,eAAe,CAACc,IAAI,CAAC;EAE1C,MAAM;IACJG,QAAQ;IACRC,QAAQ;IACRC,OAAO;IACPC,OAAO;IACPC,WAAW,GAAG,CAAC;IACfC,UAAU,GAAGpB,qBAAqB,CAACqB,MAAM;IACzCC,QAAQ;IACRC,iBAAiB;IACjBC,SAAS;IACTC,OAAO;IACPC;EACF,CAAC,GAAGZ,YAAY,IAAI,CAAC,CAAC;EAEtB,MAAM;IAAEa,IAAI,EAAEC;EAAc,CAAC,GAAGzB,gBAAgB,CAACsB,OAAO,CAAC;EACzD,MAAMI,YAAY,GAAGJ,OAAO,GAAG,CAACG,aAAa,GAAG,KAAK;EAErD,MAAME,aAA0B,GAAG7C,OAAO,CAAC,MAAM;IAC/C,IAAI8C,MAAM,GAAG,IAAI;IACjB,IAAI3B,OAAO,CAACoB,SAAS,CAAC,EAAE;MACtB,OAAO,IAAI;IACb;IACA,IAAI;MACFO,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACT,SAAS,IAAI,IAAI,CAAC;IACxC,CAAC,CAAC,OAAOU,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;IACzD;IACA,OAAOH,MAAM;EACf,CAAC,EAAE,CAACP,SAAS,CAAC,CAAC;EAEf,MAAMY,QAAQ,GAAGpB,QAAQ,IAAI,EAAE;EAC/B,MAAMqB,SAAS,GAAGlB,WAAW,GAAG,CAAC;EACjC,MAAMmB,OAAO,GAAGlB,UAAU,KAAKpB,qBAAqB,CAACqB,MAAM;EAC3D,MAAMkB,SAAS,GAAG5C,eAAe,CAC/B4B,iBAAiB,IAAIO,aAAa,EAAEU,QAAQ,IAAI,IAClD,CAAC;EACD,MAAMC,aAAa,GAAG1C,YAAY,CAAE2C,CAAC,IAAKA,CAAC,CAACC,IAAI,EAAEC,MAAM,CAAC;EACzD,MAAMC,eAAe,GAAGjD,kBAAkB,CAAC;IACzCkD,OAAO,EAAEhB,aAAa;IACtBW,aAAa;IACb3B;EACF,CAAC,CAAC;EAEF,MAAMiC,WAAW,GAAG/D,WAAW,CAC5BgE,KAA4B,IAAK;IAChCnC,OAAO,GAAG;MAAED,IAAI,EAAEE,YAAY;MAAEkC;IAAM,CAAC,CAAC;EAC1C,CAAC,EACD,CAAClC,YAAY,EAAED,OAAO,CACxB,CAAC;EAED,MAAMoC,kBAAkB,GAAGjE,WAAW,CACpC,CACEkE,SAAkB,EAClBC,YAAqB,EACrBC,gBAAkC,kBAElC9C,IAAA,CAAAI,SAAA;IAAA2C,QAAA,eACE7C,KAAA,CAACrB,UAAU,CAACmE,WAAW;MAACC,OAAO,EAAE,CAAC1B,YAAa;MAAAwB,QAAA,gBAC7C/C,IAAA,CAACJ,SAAS;QACRY,YAAY,EAAEA,YAAa;QAC3BQ,QAAQ,EAAEkC,OAAO,CAAClC,QAAQ,CAAE;QAC5B8B,gBAAgB,EAAEA;MAAiB,CACpC,CAAC,eACF9C,IAAA,CAACL,UAAU;QACTa,YAAY,EAAEA,YAAa;QAC3BwB,OAAO,EAAEA,OAAQ;QACjBc,gBAAgB,EAAEA;MAAiB,CACpC,CAAC;IAAA,CACoB;EAAC,CACzB,CACH,EACD,CAACd,OAAO,EAAExB,YAAY,EAAEe,YAAY,EAAEP,QAAQ,CAChD,CAAC;EAED,oBACEhB,IAAA,CAACpB,mBAAmB;IAClBuE,QAAQ,EAAE,CAAE;IACZC,cAAc,EAAE,EAAG;IACnBT,kBAAkB,EAAEA,kBAAmB;IAAAI,QAAA,eAEvC7C,KAAA,CAACrB,UAAU,CAACwE,SAAS;MACnBC,GAAG;MACHC,UAAU,EAAC,QAAQ;MACnBC,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBlD,OAAO,EAAEkC,WAAY;MACrBiB,aAAa,EAAE,CAAE;MACjBC,UAAU,EAAE3E,OAAO,CAAC4E,KAAM;MAAAb,QAAA,gBAE1B/C,IAAA,CAACf,aAAa;QACZ4E,MAAM,EAAElD,OAAO,IAAI,IAAK;QACxBmB,QAAQ,EAAEA,QAAS;QACnBrB,QAAQ,EAAEA,QAAS;QACnBG,OAAO,EAAEA;MAAQ,CAClB,CAAC,eAGFV,KAAA,CAACrB,UAAU,CAACiF,IAAI;QAACC,IAAI;QAACC,OAAO,EAAC,QAAQ;QAACC,QAAQ,EAAE,CAAE;QAAAlB,QAAA,gBAEjD7C,KAAA,CAACrB,UAAU,CAACiF,IAAI;UAACR,GAAG;UAACC,UAAU,EAAC,QAAQ;UAAAR,QAAA,gBACtC/C,IAAA,CAACd,cAAc;YAACuB,QAAQ,EAAEA;UAAS,CAAE,CAAC,eACtCT,IAAA,CAACjB,MAAM,CAACmF,IAAI;YACVC,IAAI,EAAEpC,SAAS,GAAG,YAAY,GAAG,cAAe;YAChDqC,aAAa,EAAE,CAAE;YACjBC,KAAK,EAAErF,OAAO,CAACsF,KAAM;YACrBP,IAAI;YAAAhB,QAAA,EAEHjB;UAAQ,CACE,CAAC,eACd9B,IAAA,CAACnB,UAAU,CAACmE,WAAW;YAACC,OAAO,EAAEjB,OAAQ;YAAAe,QAAA,eACvC/C,IAAA,CAACnB,UAAU,CAACiF,IAAI;cAACE,OAAO,EAAC,SAAS;cAAAjB,QAAA,eAChC/C,IAAA,CAAClB,MAAM,CAACyF,WAAW;gBACjBC,IAAI,EAAC,YAAY;gBACjBC,QAAQ,EAAC,YAAY;gBACrBC,IAAI,EAAE,EAAG;gBACTL,KAAK,EAAErF,OAAO,CAAC2F,OAAO,CAACC,IAAI,CAACC;cAAK,CAClC;YAAC,CACa;UAAC,CACI,CAAC,eACzB7E,IAAA,CAACnB,UAAU,CAACmE,WAAW;YAACC,OAAO,EAAEC,OAAO,CAACjB,SAAS,CAAE;YAAAc,QAAA,eAClD/C,IAAA,CAACjB,MAAM,CAACmF,IAAI;cACVC,IAAI,EAAC,cAAc;cACnBE,KAAK,EAAErF,OAAO,CAAC2F,OAAO,CAACC,IAAI,CAACE,IAAK;cACjCd,OAAO,EAAC,SAAS;cAAAjB,QAAA,EAEhBd;YAAS,CACC;UAAC,CACQ,CAAC;QAAA,CACV,CAAC,eAGlB/B,KAAA,CAACrB,UAAU,CAACiF,IAAI;UAACR,GAAG;UAACC,UAAU,EAAC,QAAQ;UAAAR,QAAA,gBACtC/C,IAAA,CAACjB,MAAM,CAACmF,IAAI;YACVC,IAAI,EAAEpC,SAAS,GAAG,cAAc,GAAG,cAAe;YAClDsC,KAAK,EAAEtC,SAAS,GAAG/C,OAAO,CAACsF,KAAK,GAAGtF,OAAO,CAAC4F,IAAI,CAACG,MAAO;YACvDX,aAAa,EAAE,CAAE;YACjBL,IAAI;YAAA,GACAxE,0BAA0B,CAACiC,aAAa,CAAC;YAAAuB,QAAA,EAE5CR;UAAe,CACL,CAAC,eACdvC,IAAA,CAACnB,UAAU,CAACmE,WAAW;YAACC,OAAO,EAAEC,OAAO,CAAClC,QAAQ,CAAE;YAAA+B,QAAA,eACjD/C,IAAA,CAACnB,UAAU,CAACiF,IAAI;cAACE,OAAO,EAAC,QAAQ;cAAAjB,QAAA,eAC/B/C,IAAA,CAAClB,MAAM,CAACyF,WAAW;gBACjBC,IAAI,EAAE,aAAc;gBACpBC,QAAQ,EAAC,YAAY;gBACrBC,IAAI,EAAE,EAAG;gBACTL,KAAK,EAAErF,OAAO,CAACgG,OAAO,CAACD;cAAO,CAC/B;YAAC,CACa;UAAC,CACI,CAAC,eACzB/E,IAAA,CAACZ,YAAY;YAACgC,WAAW,EAAEA;UAAY,CAAE,CAAC,eAC1CpB,IAAA,CAACb,WAAW;YAAC8F,KAAK,EAAEpE;UAAY,CAAE,CAAC;QAAA,CACpB,CAAC;MAAA,CACH,CAAC;IAAA,CACE;EAAC,CACJ,CAAC;AAE1B,CAAC,CAAC;AAEFR,UAAU,CAAC6E,WAAW,GAAG,YAAY;AAErC,eAAe7E,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { StyleSheet } from 'react-native';
|
|
5
|
+
import { KContainer, KImage, KLabel, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
/**
|
|
8
|
+
* The rich link-preview card (thumbnail/title/url/description) — shared by
|
|
9
|
+
* LinkMessage (message.urlTextElem, a plain URL message) and TextMessage
|
|
10
|
+
* (mention+URL combo: message.ex.urlMetadata attached to an AtTextMessage,
|
|
11
|
+
* since OpenIM's AtTextMessage/UrlTextMessage content types are mutually
|
|
12
|
+
* exclusive — see useSendMessage.ts's doc comment for why the mention wins
|
|
13
|
+
* the content type and the URL card rides along in `ex` instead).
|
|
14
|
+
*/
|
|
15
|
+
export const LinkPreviewCard = /*#__PURE__*/memo(({
|
|
16
|
+
metadata,
|
|
17
|
+
onPressUrl
|
|
18
|
+
}) => /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
19
|
+
style: styles.card,
|
|
20
|
+
onPress: () => metadata.url && onPressUrl?.(metadata.url),
|
|
21
|
+
children: [!!metadata.image && /*#__PURE__*/_jsx(KContainer.View, {
|
|
22
|
+
style: styles.cardThumb,
|
|
23
|
+
children: /*#__PURE__*/_jsx(KImage.Base, {
|
|
24
|
+
uri: metadata.image,
|
|
25
|
+
style: StyleSheet.absoluteFill,
|
|
26
|
+
resizeMode: "cover"
|
|
27
|
+
})
|
|
28
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
29
|
+
style: styles.cardBody,
|
|
30
|
+
children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
31
|
+
typo: "TextNmMedium",
|
|
32
|
+
color: KColors.palette.gray.w900,
|
|
33
|
+
numberOfLines: 1,
|
|
34
|
+
children: metadata.title
|
|
35
|
+
}), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
36
|
+
typo: "TextXsMedium",
|
|
37
|
+
color: KColors.palette.primary.w400,
|
|
38
|
+
numberOfLines: 1,
|
|
39
|
+
children: metadata.url
|
|
40
|
+
}), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
41
|
+
typo: "TextXsNormal",
|
|
42
|
+
color: KColors.gray.normal,
|
|
43
|
+
numberOfLines: 2,
|
|
44
|
+
children: metadata.description
|
|
45
|
+
})]
|
|
46
|
+
})]
|
|
47
|
+
}));
|
|
48
|
+
LinkPreviewCard.displayName = 'LinkPreviewCard';
|
|
49
|
+
const styles = StyleSheet.create({
|
|
50
|
+
card: {
|
|
51
|
+
borderRadius: KSpacingValue['0.75rem'],
|
|
52
|
+
borderWidth: 1,
|
|
53
|
+
borderColor: 'rgba(57,62,64,0.1)',
|
|
54
|
+
backgroundColor: KColors.white,
|
|
55
|
+
overflow: 'hidden'
|
|
56
|
+
},
|
|
57
|
+
cardThumb: {
|
|
58
|
+
width: '100%',
|
|
59
|
+
aspectRatio: 16 / 9
|
|
60
|
+
},
|
|
61
|
+
cardBody: {
|
|
62
|
+
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
63
|
+
paddingVertical: KSpacingValue['0.5rem'],
|
|
64
|
+
gap: 2
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=LinkPreviewCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KImage","KLabel","KColors","KSpacingValue","jsx","_jsx","jsxs","_jsxs","LinkPreviewCard","metadata","onPressUrl","Touchable","style","styles","card","onPress","url","children","image","View","cardThumb","Base","uri","absoluteFill","resizeMode","cardBody","title","Text","typo","color","palette","gray","w900","numberOfLines","primary","w400","description","normal","displayName","create","borderRadius","borderWidth","borderColor","backgroundColor","white","overflow","width","aspectRatio","paddingHorizontal","paddingVertical","gap"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/LinkPreviewCard.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SACEC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,aAAa,QACR,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,gBAAGX,IAAI,CACjC,CAAC;EAAEY,QAAQ;EAAEC;AAAiC,CAAC,kBAC7CH,KAAA,CAACR,UAAU,CAACY,SAAS;EACnBC,KAAK,EAAEC,MAAM,CAACC,IAAK;EACnBC,OAAO,EAAEA,CAAA,KAAMN,QAAQ,CAACO,GAAG,IAAIN,UAAU,GAAGD,QAAQ,CAACO,GAAG,CAAE;EAAAC,QAAA,GAEzD,CAAC,CAACR,QAAQ,CAACS,KAAK,iBACfb,IAAA,CAACN,UAAU,CAACoB,IAAI;IAACP,KAAK,EAAEC,MAAM,CAACO,SAAU;IAAAH,QAAA,eACvCZ,IAAA,CAACL,MAAM,CAACqB,IAAI;MACVC,GAAG,EAAEb,QAAQ,CAACS,KAAM;MACpBN,KAAK,EAAEd,UAAU,CAACyB,YAAa;MAC/BC,UAAU,EAAC;IAAO,CACnB;EAAC,CACa,CAClB,eACDjB,KAAA,CAACR,UAAU,CAACoB,IAAI;IAACP,KAAK,EAAEC,MAAM,CAACY,QAAS;IAAAR,QAAA,GACrC,CAAC,CAACR,QAAQ,CAACiB,KAAK,iBACfrB,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC4B,OAAO,CAACC,IAAI,CAACC,IAAK;MACjCC,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAACiB;IAAK,CACJ,CACd,EACA,CAAC,CAACjB,QAAQ,CAACO,GAAG,iBACbX,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC4B,OAAO,CAACI,OAAO,CAACC,IAAK;MACpCF,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAACO;IAAG,CACF,CACd,EACA,CAAC,CAACP,QAAQ,CAAC2B,WAAW,iBACrB/B,IAAA,CAACJ,MAAM,CAAC0B,IAAI;MACVC,IAAI,EAAC,cAAc;MACnBC,KAAK,EAAE3B,OAAO,CAAC6B,IAAI,CAACM,MAAO;MAC3BJ,aAAa,EAAE,CAAE;MAAAhB,QAAA,EAEhBR,QAAQ,CAAC2B;IAAW,CACV,CACd;EAAA,CACc,CAAC;AAAA,CACE,CAE1B,CAAC;AAED5B,eAAe,CAAC8B,WAAW,GAAG,iBAAiB;AAE/C,MAAMzB,MAAM,GAAGf,UAAU,CAACyC,MAAM,CAAC;EAC/BzB,IAAI,EAAE;IACJ0B,YAAY,EAAErC,aAAa,CAAC,SAAS,CAAC;IACtCsC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,oBAAoB;IACjCC,eAAe,EAAEzC,OAAO,CAAC0C,KAAK;IAC9BC,QAAQ,EAAE;EACZ,CAAC;EACDzB,SAAS,EAAE;IACT0B,KAAK,EAAE,MAAM;IACbC,WAAW,EAAE,EAAE,GAAG;EACpB,CAAC;EACDtB,QAAQ,EAAE;IACRuB,iBAAiB,EAAE7C,aAAa,CAAC,SAAS,CAAC;IAC3C8C,eAAe,EAAE9C,aAAa,CAAC,QAAQ,CAAC;IACxC+C,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -2,101 +2,67 @@
|
|
|
2
2
|
|
|
3
3
|
import { memo } from 'react';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
|
-
import { KContainer,
|
|
5
|
+
import { KContainer, KLabel, KColors, KSpacingValue } from '@droppii/libs';
|
|
6
|
+
import { formatMessageTime } from "../types.js";
|
|
6
7
|
import { CHAT_BUBBLE_COLORS } from "../../../screens/chat-detail/constants.js";
|
|
7
8
|
import { parseUrlMetadata } from "../../../utils/messageUtils.js";
|
|
9
|
+
import { splitTextByUrls } from "../../../utils/url.js";
|
|
8
10
|
import { messageStyles } from "../styles.js";
|
|
11
|
+
import { LinkPreviewCard } from "./LinkPreviewCard.js";
|
|
9
12
|
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
10
13
|
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
11
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const renderTextWithLinks = (content, urls, onPressUrl) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
let remaining = content;
|
|
21
|
-
for (const url of urls) {
|
|
22
|
-
const idx = remaining.indexOf(url);
|
|
23
|
-
if (idx === -1) continue;
|
|
24
|
-
if (idx > 0) parts.push({
|
|
25
|
-
text: remaining.slice(0, idx),
|
|
26
|
-
isUrl: false
|
|
27
|
-
});
|
|
28
|
-
parts.push({
|
|
29
|
-
text: url,
|
|
30
|
-
isUrl: true
|
|
31
|
-
});
|
|
32
|
-
remaining = remaining.slice(idx + url.length);
|
|
33
|
-
}
|
|
34
|
-
if (remaining) parts.push({
|
|
35
|
-
text: remaining,
|
|
36
|
-
isUrl: false
|
|
37
|
-
});
|
|
38
|
-
return /*#__PURE__*/_jsx(KLabel.Text, {
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
|
+
const renderTextWithLinks = (content, urls, onPressUrl) => /*#__PURE__*/_jsx(KLabel.Text, {
|
|
16
|
+
typo: "TextMdNormal",
|
|
17
|
+
children: splitTextByUrls(content, urls).map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
18
|
+
onPress: () => onPressUrl?.(part.text),
|
|
19
|
+
color: KColors.primary.normal,
|
|
20
|
+
typo: "TextMdMedium",
|
|
21
|
+
children: part.text
|
|
22
|
+
}, i) : /*#__PURE__*/_jsx(KLabel.Text, {
|
|
39
23
|
typo: "TextMdNormal",
|
|
40
|
-
children:
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
typo: "TextMdMedium",
|
|
44
|
-
children: part.text
|
|
45
|
-
}, i) : /*#__PURE__*/_jsx(KLabel.Text, {
|
|
46
|
-
typo: "TextMdNormal",
|
|
47
|
-
children: part.text
|
|
48
|
-
}, i))
|
|
49
|
-
});
|
|
50
|
-
};
|
|
24
|
+
children: part.text
|
|
25
|
+
}, i))
|
|
26
|
+
});
|
|
51
27
|
export const LinkMessage = /*#__PURE__*/memo(({
|
|
52
28
|
message,
|
|
53
29
|
isOutgoing,
|
|
30
|
+
createdAtTime,
|
|
54
31
|
onPressUrl,
|
|
55
32
|
isHighlighted,
|
|
33
|
+
isTimeRevealed,
|
|
56
34
|
groupPosition
|
|
57
35
|
}) => {
|
|
58
36
|
const content = message?.urlTextElem?.content;
|
|
59
37
|
const urls = message?.urlTextElem?.urls ?? [];
|
|
60
38
|
const metadata = parseUrlMetadata(message.ex);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
children:
|
|
67
|
-
style: styles.
|
|
68
|
-
children:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
children: /*#__PURE__*/_jsx(KImage.Base, {
|
|
75
|
-
uri: metadata.image,
|
|
76
|
-
style: StyleSheet.absoluteFill,
|
|
77
|
-
resizeMode: "cover"
|
|
78
|
-
})
|
|
79
|
-
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
80
|
-
style: styles.cardBody,
|
|
81
|
-
children: [!!metadata.title && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
82
|
-
typo: "TextNmMedium",
|
|
83
|
-
color: KColors.palette.gray.w900,
|
|
84
|
-
numberOfLines: 1,
|
|
85
|
-
children: metadata.title
|
|
86
|
-
}), !!metadata.url && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
87
|
-
typo: "TextXsMedium",
|
|
88
|
-
color: KColors.palette.primary.w400,
|
|
89
|
-
numberOfLines: 1,
|
|
90
|
-
children: metadata.url
|
|
91
|
-
}), !!metadata.description && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
92
|
-
typo: "TextXsNormal",
|
|
93
|
-
color: KColors.gray.normal,
|
|
94
|
-
numberOfLines: 2,
|
|
95
|
-
children: metadata.description
|
|
96
|
-
})]
|
|
39
|
+
const timeLabel = formatMessageTime(createdAtTime);
|
|
40
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
41
|
+
children: [/*#__PURE__*/_jsx(BubbleTailRow, {
|
|
42
|
+
isOutgoing: isOutgoing,
|
|
43
|
+
groupPosition: groupPosition,
|
|
44
|
+
children: /*#__PURE__*/_jsxs(KContainer.View, {
|
|
45
|
+
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
46
|
+
children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
|
|
47
|
+
style: styles.textRow,
|
|
48
|
+
children: renderTextWithLinks(content, urls, onPressUrl)
|
|
49
|
+
}), !!metadata && /*#__PURE__*/_jsx(LinkPreviewCard, {
|
|
50
|
+
metadata: metadata,
|
|
51
|
+
onPressUrl: onPressUrl
|
|
97
52
|
})]
|
|
98
|
-
})
|
|
99
|
-
})
|
|
53
|
+
})
|
|
54
|
+
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
55
|
+
row: true,
|
|
56
|
+
alignItems: true,
|
|
57
|
+
style: [styles.timeLabel, isOutgoing && styles.timeLabelRight],
|
|
58
|
+
children: isTimeRevealed && timeLabel ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
59
|
+
typo: "TextXsNormal",
|
|
60
|
+
color: CHAT_BUBBLE_COLORS.timestamp,
|
|
61
|
+
marginL: isOutgoing ? undefined : '0.25rem',
|
|
62
|
+
marginR: isOutgoing ? '0.25rem' : undefined,
|
|
63
|
+
children: timeLabel
|
|
64
|
+
}) : null
|
|
65
|
+
})]
|
|
100
66
|
});
|
|
101
67
|
});
|
|
102
68
|
LinkMessage.displayName = 'LinkMessage';
|
|
@@ -118,21 +84,12 @@ const styles = StyleSheet.create({
|
|
|
118
84
|
textRow: {
|
|
119
85
|
paddingHorizontal: KSpacingValue['0.25rem']
|
|
120
86
|
},
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
borderColor: 'rgba(57,62,64,0.1)',
|
|
125
|
-
backgroundColor: KColors.white,
|
|
126
|
-
overflow: 'hidden'
|
|
127
|
-
},
|
|
128
|
-
cardThumb: {
|
|
129
|
-
width: '100%',
|
|
130
|
-
aspectRatio: 16 / 9
|
|
87
|
+
timeLabel: {
|
|
88
|
+
gap: 4,
|
|
89
|
+
marginTop: 2
|
|
131
90
|
},
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
paddingVertical: KSpacingValue['0.5rem'],
|
|
135
|
-
gap: 2
|
|
91
|
+
timeLabelRight: {
|
|
92
|
+
justifyContent: 'flex-end'
|
|
136
93
|
}
|
|
137
94
|
});
|
|
138
95
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KColors","KSpacingValue","formatMessageTime","CHAT_BUBBLE_COLORS","parseUrlMetadata","splitTextByUrls","messageStyles","LinkPreviewCard","getTailCornerStyle","BubbleTailRow","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","renderTextWithLinks","content","urls","onPressUrl","Text","typo","children","map","part","i","isUrl","onPress","text","color","primary","normal","LinkMessage","message","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","groupPosition","urlTextElem","metadata","ex","timeLabel","View","style","styles","bubble","bubbleSent","bubbleReceived","bubbleHighlighted","trim","textRow","row","alignItems","timeLabelRight","timestamp","marginL","undefined","marginR","displayName","create","wrapper","maxWidth","paddingHorizontal","paddingVertical","borderRadius","backgroundColor","received","sent","gap","marginTop","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/messages/linkMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo, useCallback, useMemo } from 'react';
|
|
4
|
+
import { DeviceEventEmitter, StyleSheet } from 'react-native';
|
|
5
|
+
import { KColors, KContainer, KImage, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
|
|
6
|
+
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
7
|
+
import { getMessagePreviewParts, getReplySenderName, parseUrlMetadata } from "../../../utils/messageUtils.js";
|
|
8
|
+
import { getFileIcon, getMimeType } from "../../../utils/imageUtils.js";
|
|
9
|
+
import { useUserStore } from "../../../store/index.js";
|
|
10
|
+
import { useChatDetailContext } from "../../../context/index.js";
|
|
11
|
+
import { ChatEvent } from "../../../types/events.js";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
* The "replying to ..." strip — shared by QuotedMessage (message.quoteElem)
|
|
15
|
+
* and TextMessage (message.atTextElem?.quoteMessage, for the mention+quote
|
|
16
|
+
* combo). Extracted so both content types render the exact same preview
|
|
17
|
+
* instead of two copies drifting apart.
|
|
18
|
+
*/
|
|
19
|
+
export const QuotedMessagePreviewStrip = /*#__PURE__*/memo(({
|
|
20
|
+
quotedMessage
|
|
21
|
+
}) => {
|
|
22
|
+
const {
|
|
23
|
+
conversation
|
|
24
|
+
} = useChatDetailContext();
|
|
25
|
+
const currentUserId = useUserStore(s => s.user?.userID);
|
|
26
|
+
const messagePreview = getMessagePreviewParts(quotedMessage);
|
|
27
|
+
const imageUrl = useMemo(() => {
|
|
28
|
+
switch (quotedMessage?.contentType) {
|
|
29
|
+
case MessageType.PictureMessage:
|
|
30
|
+
return quotedMessage?.pictureElem?.snapshotPicture?.url || '';
|
|
31
|
+
case MessageType.VideoMessage:
|
|
32
|
+
return quotedMessage?.videoElem?.snapshotUrl || '';
|
|
33
|
+
case MessageType.UrlTextMessage:
|
|
34
|
+
{
|
|
35
|
+
const metadata = parseUrlMetadata(quotedMessage?.ex);
|
|
36
|
+
return metadata?.image || '';
|
|
37
|
+
}
|
|
38
|
+
default:
|
|
39
|
+
return '';
|
|
40
|
+
}
|
|
41
|
+
}, [quotedMessage]);
|
|
42
|
+
const iconSource = useMemo(() => {
|
|
43
|
+
if (quotedMessage?.contentType !== MessageType.FileMessage) return '';
|
|
44
|
+
const mimeType = getMimeType(quotedMessage?.fileElem?.fileName || '');
|
|
45
|
+
return getFileIcon(mimeType);
|
|
46
|
+
}, [quotedMessage]);
|
|
47
|
+
const handlePress = useCallback(() => {
|
|
48
|
+
DeviceEventEmitter.emit(ChatEvent.ScrollToMessage, {
|
|
49
|
+
clientMessageId: quotedMessage?.clientMsgID || ''
|
|
50
|
+
});
|
|
51
|
+
}, [quotedMessage]);
|
|
52
|
+
return /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
53
|
+
style: styles.quotedContainer,
|
|
54
|
+
onPress: handlePress,
|
|
55
|
+
children: [/*#__PURE__*/_jsx(KContainer.View, {
|
|
56
|
+
style: styles.dot
|
|
57
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
58
|
+
visible: !!imageUrl,
|
|
59
|
+
children: /*#__PURE__*/_jsxs(KContainer.View, {
|
|
60
|
+
style: styles.imageContainer,
|
|
61
|
+
children: [/*#__PURE__*/_jsx(KImage.Base, {
|
|
62
|
+
uri: imageUrl,
|
|
63
|
+
style: styles.imageContainer
|
|
64
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
65
|
+
visible: quotedMessage?.contentType === MessageType.VideoMessage,
|
|
66
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
67
|
+
style: styles.playIconContainer,
|
|
68
|
+
children: /*#__PURE__*/_jsx(KContainer.View, {
|
|
69
|
+
style: styles.playIcon,
|
|
70
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
71
|
+
name: "play-b",
|
|
72
|
+
size: 12,
|
|
73
|
+
color: KColors.white
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
})
|
|
79
|
+
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
80
|
+
visible: !!iconSource,
|
|
81
|
+
children: /*#__PURE__*/_jsx(KImage.Base, {
|
|
82
|
+
uri: iconSource,
|
|
83
|
+
style: styles.icon,
|
|
84
|
+
resizeMode: "contain"
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
87
|
+
flexS: 1,
|
|
88
|
+
style: styles.content,
|
|
89
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
90
|
+
typo: "TextNmMedium",
|
|
91
|
+
numberOfLines: 1,
|
|
92
|
+
children: getReplySenderName(quotedMessage, currentUserId, conversation, true)
|
|
93
|
+
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
94
|
+
typo: "TextSmNormal",
|
|
95
|
+
color: KColors.gray.light,
|
|
96
|
+
numberOfLines: 1,
|
|
97
|
+
...messagePreview.textProps,
|
|
98
|
+
children: messagePreview.text
|
|
99
|
+
})]
|
|
100
|
+
})]
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
QuotedMessagePreviewStrip.displayName = 'QuotedMessagePreviewStrip';
|
|
104
|
+
const styles = StyleSheet.create({
|
|
105
|
+
quotedContainer: {
|
|
106
|
+
backgroundColor: KColors.white,
|
|
107
|
+
flexDirection: 'row',
|
|
108
|
+
alignItems: 'center',
|
|
109
|
+
gap: KSpacingValue['0.5rem'],
|
|
110
|
+
borderTopRightRadius: KRadiusValue['3x'],
|
|
111
|
+
borderBottomRightRadius: KRadiusValue['3x'],
|
|
112
|
+
paddingRight: KSpacingValue['0.5rem'],
|
|
113
|
+
maxWidth: '100%'
|
|
114
|
+
},
|
|
115
|
+
dot: {
|
|
116
|
+
width: 3,
|
|
117
|
+
height: '100%',
|
|
118
|
+
backgroundColor: KColors.palette.grayCool.w200,
|
|
119
|
+
borderRadius: KRadiusValue.x,
|
|
120
|
+
marginRight: -2
|
|
121
|
+
},
|
|
122
|
+
content: {
|
|
123
|
+
paddingHorizontal: KSpacingValue['0.25rem'],
|
|
124
|
+
paddingVertical: KSpacingValue['0.25rem']
|
|
125
|
+
},
|
|
126
|
+
icon: {
|
|
127
|
+
width: 24,
|
|
128
|
+
height: 24
|
|
129
|
+
},
|
|
130
|
+
imageContainer: {
|
|
131
|
+
width: 42,
|
|
132
|
+
height: 42,
|
|
133
|
+
borderRadius: KRadiusValue['2x']
|
|
134
|
+
},
|
|
135
|
+
playIconContainer: {
|
|
136
|
+
position: 'absolute',
|
|
137
|
+
top: 0,
|
|
138
|
+
left: 0,
|
|
139
|
+
right: 0,
|
|
140
|
+
bottom: 0,
|
|
141
|
+
justifyContent: 'center',
|
|
142
|
+
alignItems: 'center'
|
|
143
|
+
},
|
|
144
|
+
playIcon: {
|
|
145
|
+
borderRadius: 8,
|
|
146
|
+
padding: KSpacingValue['0.25rem'],
|
|
147
|
+
backgroundColor: KColors.hexToRgba(KColors.black, 0.6),
|
|
148
|
+
justifyContent: 'center',
|
|
149
|
+
alignItems: 'center'
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
//# sourceMappingURL=QuotedMessagePreviewStrip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","DeviceEventEmitter","StyleSheet","KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","MessageType","getMessagePreviewParts","getReplySenderName","parseUrlMetadata","getFileIcon","getMimeType","useUserStore","useChatDetailContext","ChatEvent","jsx","_jsx","jsxs","_jsxs","QuotedMessagePreviewStrip","quotedMessage","conversation","currentUserId","s","user","userID","messagePreview","imageUrl","contentType","PictureMessage","pictureElem","snapshotPicture","url","VideoMessage","videoElem","snapshotUrl","UrlTextMessage","metadata","ex","image","iconSource","FileMessage","mimeType","fileElem","fileName","handlePress","emit","ScrollToMessage","clientMessageId","clientMsgID","Touchable","style","styles","quotedContainer","onPress","children","View","dot","VisibleView","visible","imageContainer","Base","uri","playIconContainer","playIcon","VectorIcons","name","size","color","white","icon","resizeMode","flexS","content","Text","typo","numberOfLines","gray","light","textProps","text","displayName","create","backgroundColor","flexDirection","alignItems","gap","borderTopRightRadius","borderBottomRightRadius","paddingRight","maxWidth","width","height","palette","grayCool","w200","borderRadius","x","marginRight","paddingHorizontal","paddingVertical","position","top","left","right","bottom","justifyContent","padding","hexToRgba","black"],"sourceRoot":"../../../../../src","sources":["components/messages/quotedMessage/QuotedMessagePreviewStrip.tsx"],"mappings":"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","ignoreList":[]}
|