@droppii-org/chat-mobile 0.2.106 → 0.2.108
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/ThreadCard.js +2 -0
- package/lib/module/components/ThreadCard/ThreadCard.js.map +1 -1
- package/lib/module/components/messages/ExpandableMessageText.js +112 -0
- package/lib/module/components/messages/ExpandableMessageText.js.map +1 -0
- package/lib/module/components/messages/PreviewScrollableText.js +80 -0
- package/lib/module/components/messages/PreviewScrollableText.js.map +1 -0
- package/lib/module/components/messages/fileMessage/index.js +9 -2
- package/lib/module/components/messages/fileMessage/index.js.map +1 -1
- package/lib/module/components/messages/linkMessage/index.js +21 -12
- package/lib/module/components/messages/linkMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/index.js +18 -3
- package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
- package/lib/module/components/messages/textMessage/index.js +7 -1
- package/lib/module/components/messages/textMessage/index.js.map +1 -1
- package/lib/module/components/messages/types.js.map +1 -1
- package/lib/module/context/TimelinePressGuardContext.js +14 -0
- package/lib/module/context/TimelinePressGuardContext.js.map +1 -0
- package/lib/module/hooks/useConversationList.js +4 -0
- package/lib/module/hooks/useConversationList.js.map +1 -1
- package/lib/module/hooks/useDismissKeyboardFirst.js +19 -0
- package/lib/module/hooks/useDismissKeyboardFirst.js.map +1 -0
- package/lib/module/hooks/useExpandableText.js +125 -0
- package/lib/module/hooks/useExpandableText.js.map +1 -0
- package/lib/module/hooks/useGuardedPress.js +19 -0
- package/lib/module/hooks/useGuardedPress.js.map +1 -0
- package/lib/module/screens/chat-detail/ChatComposer.js +89 -498
- package/lib/module/screens/chat-detail/ChatComposer.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +49 -20
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +113 -76
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js +7 -0
- package/lib/module/screens/chat-detail/PinnedMessagesSheet.js.map +1 -1
- package/lib/module/screens/chat-detail/components/ChatComposerAccessorySlot.js +47 -0
- package/lib/module/screens/chat-detail/components/ChatComposerAccessorySlot.js.map +1 -0
- package/lib/module/screens/chat-detail/components/ChatComposerInputArea.js +149 -0
- package/lib/module/screens/chat-detail/components/ChatComposerInputArea.js.map +1 -0
- package/lib/module/screens/chat-detail/components/ChatComposerStatusBanner.js +104 -0
- package/lib/module/screens/chat-detail/components/ChatComposerStatusBanner.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useChatComposerAnimation.js +0 -17
- package/lib/module/screens/chat-detail/hooks/useChatComposerAnimation.js.map +1 -1
- package/lib/module/screens/chat-detail/hooks/useChatComposerState.js +16 -2
- package/lib/module/screens/chat-detail/hooks/useChatComposerState.js.map +1 -1
- package/lib/module/screens/chat-detail/hooks/useComposerBotMenu.js +122 -0
- package/lib/module/screens/chat-detail/hooks/useComposerBotMenu.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanelActions.js +46 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanelActions.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanelDismiss.js +75 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanelDismiss.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanels.js +136 -0
- package/lib/module/screens/chat-detail/hooks/useComposerPanels.js.map +1 -0
- package/lib/module/screens/chat-detail/hooks/useComposerSend.js +74 -0
- package/lib/module/screens/chat-detail/hooks/useComposerSend.js.map +1 -0
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +12 -3
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js +11 -2
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxOverlay.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js +79 -6
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/useClonePreview.js +30 -0
- package/lib/module/screens/chat-detail/messageToolbox/useClonePreview.js.map +1 -0
- package/lib/module/screens/chat-detail/types.js +5 -0
- package/lib/module/screens/chat-detail/types.js.map +1 -1
- package/lib/module/store/expandedMessage.js +28 -0
- package/lib/module/store/expandedMessage.js.map +1 -0
- package/lib/module/store/message.js +14 -0
- package/lib/module/store/message.js.map +1 -1
- package/lib/module/utils/composerPanelDismissGesture.js +52 -0
- package/lib/module/utils/composerPanelDismissGesture.js.map +1 -0
- package/lib/module/utils/expandableText.js +41 -0
- package/lib/module/utils/expandableText.js.map +1 -0
- package/lib/module/utils/inlineTruncation.js +51 -0
- package/lib/module/utils/inlineTruncation.js.map +1 -0
- package/lib/module/utils/perf-marker.js +44 -0
- package/lib/module/utils/perf-marker.js.map +1 -0
- package/lib/module/utils/truncateTextChildren.js +38 -0
- package/lib/module/utils/truncateTextChildren.js.map +1 -0
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/ExpandableMessageText.d.ts +25 -0
- package/lib/typescript/src/components/messages/ExpandableMessageText.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/PreviewScrollableText.d.ts +29 -0
- package/lib/typescript/src/components/messages/PreviewScrollableText.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/quotedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/textMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/textMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/types.d.ts +18 -0
- package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
- package/lib/typescript/src/context/TimelinePressGuardContext.d.ts +3 -0
- package/lib/typescript/src/context/TimelinePressGuardContext.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useConversationList.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useDismissKeyboardFirst.d.ts +8 -0
- package/lib/typescript/src/hooks/useDismissKeyboardFirst.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useExpandableText.d.ts +13 -0
- package/lib/typescript/src/hooks/useExpandableText.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useGuardedPress.d.ts +9 -0
- package/lib/typescript/src/hooks/useGuardedPress.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts +7 -3
- package/lib/typescript/src/screens/chat-detail/ChatComposer.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts +5 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/PinnedMessagesSheet.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerAccessorySlot.d.ts +12 -0
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerAccessorySlot.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerInputArea.d.ts +30 -0
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerInputArea.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerStatusBanner.d.ts +19 -0
- package/lib/typescript/src/screens/chat-detail/components/ChatComposerStatusBanner.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerAnimation.d.ts +0 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerAnimation.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts +7 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useChatComposerState.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerBotMenu.d.ts +7 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerBotMenu.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanelActions.d.ts +17 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanelActions.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanelDismiss.d.ts +12 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanelDismiss.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanels.d.ts +25 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerPanels.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerSend.d.ts +16 -0
- package/lib/typescript/src/screens/chat-detail/hooks/useComposerSend.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +11 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts +14 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/useClonePreview.d.ts +18 -0
- package/lib/typescript/src/screens/chat-detail/messageToolbox/useClonePreview.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/types.d.ts +8 -0
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/lib/typescript/src/store/expandedMessage.d.ts +15 -0
- package/lib/typescript/src/store/expandedMessage.d.ts.map +1 -0
- package/lib/typescript/src/store/message.d.ts.map +1 -1
- package/lib/typescript/src/utils/composerPanelDismissGesture.d.ts +33 -0
- package/lib/typescript/src/utils/composerPanelDismissGesture.d.ts.map +1 -0
- package/lib/typescript/src/utils/expandableText.d.ts +18 -0
- package/lib/typescript/src/utils/expandableText.d.ts.map +1 -0
- package/lib/typescript/src/utils/inlineTruncation.d.ts +24 -0
- package/lib/typescript/src/utils/inlineTruncation.d.ts.map +1 -0
- package/lib/typescript/src/utils/perf-marker.d.ts +8 -0
- package/lib/typescript/src/utils/perf-marker.d.ts.map +1 -0
- package/lib/typescript/src/utils/truncateTextChildren.d.ts +3 -0
- package/lib/typescript/src/utils/truncateTextChildren.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/components/ThreadCard/ThreadCard.tsx +2 -0
- package/src/components/messages/ExpandableMessageText.tsx +145 -0
- package/src/components/messages/PreviewScrollableText.tsx +98 -0
- package/src/components/messages/fileMessage/index.tsx +17 -3
- package/src/components/messages/linkMessage/index.tsx +30 -21
- package/src/components/messages/quotedMessage/index.tsx +19 -3
- package/src/components/messages/textMessage/index.tsx +11 -2
- package/src/components/messages/types.ts +18 -0
- package/src/context/TimelinePressGuardContext.tsx +15 -0
- package/src/hooks/useConversationList.ts +2 -0
- package/src/hooks/useDismissKeyboardFirst.ts +19 -0
- package/src/hooks/useExpandableText.ts +143 -0
- package/src/hooks/useGuardedPress.ts +20 -0
- package/src/screens/chat-detail/ChatComposer.tsx +105 -631
- package/src/screens/chat-detail/ChatDetail.tsx +49 -20
- package/src/screens/chat-detail/ChatListLegend.tsx +122 -71
- package/src/screens/chat-detail/PinnedMessagesSheet.tsx +8 -0
- package/src/screens/chat-detail/components/ChatComposerAccessorySlot.tsx +61 -0
- package/src/screens/chat-detail/components/ChatComposerInputArea.tsx +198 -0
- package/src/screens/chat-detail/components/ChatComposerStatusBanner.tsx +116 -0
- package/src/screens/chat-detail/hooks/useChatComposerAnimation.ts +0 -29
- package/src/screens/chat-detail/hooks/useChatComposerState.ts +25 -2
- package/src/screens/chat-detail/hooks/useComposerBotMenu.tsx +140 -0
- package/src/screens/chat-detail/hooks/useComposerPanelActions.ts +57 -0
- package/src/screens/chat-detail/hooks/useComposerPanelDismiss.ts +111 -0
- package/src/screens/chat-detail/hooks/useComposerPanels.ts +197 -0
- package/src/screens/chat-detail/hooks/useComposerSend.ts +98 -0
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +24 -2
- package/src/screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx +20 -1
- package/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx +111 -5
- package/src/screens/chat-detail/messageToolbox/useClonePreview.ts +34 -0
- package/src/screens/chat-detail/types.ts +9 -0
- package/src/store/expandedMessage.ts +42 -0
- package/src/store/message.ts +14 -0
- package/src/utils/composerPanelDismissGesture.ts +72 -0
- package/src/utils/expandableText.ts +51 -0
- package/src/utils/inlineTruncation.ts +65 -0
- package/src/utils/perf-marker.ts +39 -0
- package/src/utils/truncateTextChildren.ts +46 -0
|
@@ -15,11 +15,13 @@ import { MuteThread } from "./MuteThread.js";
|
|
|
15
15
|
import { PinThread } from "./PinThread.js";
|
|
16
16
|
import { useIsJoinedGroup } from "../../hooks/useIsJoinedGroup.js";
|
|
17
17
|
import isEmpty from 'lodash/isEmpty';
|
|
18
|
+
import { perfCountRender } from "../../utils/perf-marker.js";
|
|
18
19
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
19
20
|
const ThreadCard = /*#__PURE__*/memo(({
|
|
20
21
|
item,
|
|
21
22
|
onPress
|
|
22
23
|
}) => {
|
|
24
|
+
perfCountRender('ThreadCard');
|
|
23
25
|
const conversation = useConversation(item);
|
|
24
26
|
const {
|
|
25
27
|
peerType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","MentionBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","GROUP_NOTIFICATION_TYPES","useConversation","useUserStore","MessageReceiveOptType","MessageType","PeerType","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","isNoiseMessage","isInternal","contentType","LogTextMessage","Bot","includes","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,EAC1BC,wBAAwB,QACnB,6BAA0B;AACjC,SAASC,eAAe,EAAEC,YAAY,QAAQ,sBAAa;AAC3D,SACEC,qBAAqB,EACrBC,WAAW,EACXC,QAAQ,QAGH,+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;
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","ReanimatedSwipeable","KContainer","KImage","KLabel","KColors","AvatarSection","NamePrefixIcon","UnreadBadge","MentionBadge","formatTimestamp","getLastMessageText","getMessagePreviewTextProps","GROUP_NOTIFICATION_TYPES","useConversation","useUserStore","MessageReceiveOptType","MessageType","PeerType","MuteThread","PinThread","useIsJoinedGroup","isEmpty","perfCountRender","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","isNoiseMessage","isInternal","contentType","LogTextMessage","Bot","includes","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":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { KColors, KContainer, KLabel } from '@droppii/libs';
|
|
5
|
+
import { trans } from "../../translation/index.js";
|
|
6
|
+
import { COLLAPSED_LINES, useExpandableText } from "../../hooks/useExpandableText.js";
|
|
7
|
+
import { truncateTextChildren } from "../../utils/truncateTextChildren.js";
|
|
8
|
+
import { PreviewScrollableText } from "./PreviewScrollableText.js";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
// Values from `@droppii/libs`' Typography.tsx (`generateTextStyle`'s third
|
|
11
|
+
// argument), not looked up at runtime — the package does not cleanly
|
|
12
|
+
// re-export a way to do that. All three call sites use `TextMdNormal` today;
|
|
13
|
+
// add an entry here before passing any other `typo` to this component.
|
|
14
|
+
const TYPO_LINE_HEIGHT = {
|
|
15
|
+
TextMdNormal: 25.6
|
|
16
|
+
};
|
|
17
|
+
const DEFAULT_LINE_HEIGHT = 22.4;
|
|
18
|
+
|
|
19
|
+
// Figma (Live Chat, node 15389-207764): `…và... Xem thêm` — the ellipsis in
|
|
20
|
+
// the body colour, the control inline on the last visible line.
|
|
21
|
+
const ELLIPSIS = '... ';
|
|
22
|
+
export const ExpandableMessageText = ({
|
|
23
|
+
messageId,
|
|
24
|
+
surface,
|
|
25
|
+
text,
|
|
26
|
+
children,
|
|
27
|
+
typo = 'TextMdNormal',
|
|
28
|
+
color
|
|
29
|
+
}) => {
|
|
30
|
+
const {
|
|
31
|
+
mode,
|
|
32
|
+
cut,
|
|
33
|
+
expand,
|
|
34
|
+
onMeasureTextLayout,
|
|
35
|
+
onFitTextLayout
|
|
36
|
+
} = useExpandableText(messageId, text, surface);
|
|
37
|
+
if (mode === 'plain') {
|
|
38
|
+
// Only the overlay provides a budget; everywhere else this is a no-op.
|
|
39
|
+
return /*#__PURE__*/_jsx(PreviewScrollableText, {
|
|
40
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
41
|
+
typo: typo,
|
|
42
|
+
color: color,
|
|
43
|
+
children: children
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const label = trans('chat:info_view_more') || 'Xem thêm';
|
|
48
|
+
if (mode === 'measuring') {
|
|
49
|
+
// One layout pass. The visible copy is clipped to N lines by height so the
|
|
50
|
+
// bubble does not flash at full length; the hidden copy is unconstrained,
|
|
51
|
+
// which is what makes its `onTextLayout` report every line on iOS too.
|
|
52
|
+
const lineHeight = TYPO_LINE_HEIGHT[typo ?? 'TextMdNormal'] ?? DEFAULT_LINE_HEIGHT;
|
|
53
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
54
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
55
|
+
style: [styles.clampedBox, {
|
|
56
|
+
maxHeight: lineHeight * COLLAPSED_LINES
|
|
57
|
+
}],
|
|
58
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
59
|
+
typo: typo,
|
|
60
|
+
color: color,
|
|
61
|
+
children: children
|
|
62
|
+
})
|
|
63
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
64
|
+
style: styles.measuringCopy,
|
|
65
|
+
pointerEvents: "none",
|
|
66
|
+
accessibilityElementsHidden: true,
|
|
67
|
+
importantForAccessibility: "no-hide-descendants",
|
|
68
|
+
children: /*#__PURE__*/_jsx(KLabel.Text, {
|
|
69
|
+
typo: typo,
|
|
70
|
+
color: color,
|
|
71
|
+
onTextLayout: onMeasureTextLayout,
|
|
72
|
+
children: children
|
|
73
|
+
})
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// 'fitting' re-checks that the suffix still fits in N lines; 'collapsed'
|
|
79
|
+
// renders a cut that already passed that check.
|
|
80
|
+
return /*#__PURE__*/_jsxs(KLabel.Text, {
|
|
81
|
+
typo: typo,
|
|
82
|
+
color: color,
|
|
83
|
+
onTextLayout: mode === 'fitting' ? onFitTextLayout : undefined,
|
|
84
|
+
children: [truncateTextChildren(children, cut), ELLIPSIS, /*#__PURE__*/_jsx(KLabel.Text, {
|
|
85
|
+
typo: "TextMdMedium",
|
|
86
|
+
color: KColors.primary.normal,
|
|
87
|
+
onPress: expand,
|
|
88
|
+
accessibilityRole: "button",
|
|
89
|
+
accessibilityLabel: label,
|
|
90
|
+
children: label
|
|
91
|
+
})]
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
ExpandableMessageText.displayName = 'ExpandableMessageText';
|
|
95
|
+
const styles = StyleSheet.create({
|
|
96
|
+
clampedBox: {
|
|
97
|
+
overflow: 'hidden'
|
|
98
|
+
},
|
|
99
|
+
// `left`+`right` take the container's width in the same layout pass, so the
|
|
100
|
+
// copy wraps exactly like the visible one without a round trip through
|
|
101
|
+
// `onLayout`. No `bottom`: pinning it (i.e. absoluteFill) would make this
|
|
102
|
+
// inherit the clamped parent's height, and iOS would lay out only the lines
|
|
103
|
+
// that fit — reporting a clamped message as short.
|
|
104
|
+
measuringCopy: {
|
|
105
|
+
opacity: 0,
|
|
106
|
+
position: 'absolute',
|
|
107
|
+
left: 0,
|
|
108
|
+
right: 0,
|
|
109
|
+
top: 0
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
//# sourceMappingURL=ExpandableMessageText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","KColors","KContainer","KLabel","trans","COLLAPSED_LINES","useExpandableText","truncateTextChildren","PreviewScrollableText","jsx","_jsx","jsxs","_jsxs","TYPO_LINE_HEIGHT","TextMdNormal","DEFAULT_LINE_HEIGHT","ELLIPSIS","ExpandableMessageText","messageId","surface","text","children","typo","color","mode","cut","expand","onMeasureTextLayout","onFitTextLayout","Text","label","lineHeight","style","styles","clampedBox","maxHeight","measuringCopy","pointerEvents","accessibilityElementsHidden","importantForAccessibility","onTextLayout","undefined","primary","normal","onPress","accessibilityRole","accessibilityLabel","displayName","create","overflow","opacity","position","left","right","top"],"sourceRoot":"../../../../src","sources":["components/messages/ExpandableMessageText.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useCallback, useContext, useEffect, useState } from 'react';
|
|
4
|
+
import { ScrollView, View } from 'react-native';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Set by the toolbox overlay around its clone. `maxHeight` is the space the
|
|
8
|
+
* clone may take; `contentHeight` is how tall the clone currently is.
|
|
9
|
+
* `onScrollableChange` reports whether the text is capped (and so scrolls),
|
|
10
|
+
* because the overlay's tap-to-dismiss would otherwise block that scroll.
|
|
11
|
+
*/
|
|
12
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
export const ClonePreviewBudgetContext = /*#__PURE__*/createContext(null);
|
|
14
|
+
|
|
15
|
+
// Never squeeze the text below three lines to make room for a tall card.
|
|
16
|
+
const MIN_TEXT_HEIGHT = 25.6 * 3;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* An expanded message can be taller than the overlay. Scrolling the whole
|
|
20
|
+
* clone clips the bubble along a straight edge — square corners — so inside
|
|
21
|
+
* the overlay the text region scrolls instead and the bubble keeps its shape.
|
|
22
|
+
*
|
|
23
|
+
* Budget: whatever the rest of the clone (padding, quote strip, link card,
|
|
24
|
+
* time row) does not use. `contentHeight` and this box's height arrive from
|
|
25
|
+
* native at different moments, and mixing a fresh one with a stale one makes
|
|
26
|
+
* the cap swing between two sizes indefinitely. So the rest is read only from
|
|
27
|
+
* a consistent pair — while uncapped, when the box equals the natural height —
|
|
28
|
+
* and frozen once a cap is applied, which breaks the feedback loop.
|
|
29
|
+
*/
|
|
30
|
+
export const PreviewScrollableText = ({
|
|
31
|
+
children
|
|
32
|
+
}) => {
|
|
33
|
+
const budget = useContext(ClonePreviewBudgetContext);
|
|
34
|
+
const [naturalHeight, setNaturalHeight] = useState(0);
|
|
35
|
+
const [boxHeight, setBoxHeight] = useState(0);
|
|
36
|
+
const [frozenRest, setFrozenRest] = useState(null);
|
|
37
|
+
const onBoxLayout = useCallback(e => {
|
|
38
|
+
setBoxHeight(e.nativeEvent.layout.height);
|
|
39
|
+
}, []);
|
|
40
|
+
const onContentLayout = useCallback(e => {
|
|
41
|
+
setNaturalHeight(e.nativeEvent.layout.height);
|
|
42
|
+
}, []);
|
|
43
|
+
let rest = frozenRest;
|
|
44
|
+
const uncappedPairIsConsistent = !!budget && naturalHeight > 0 && Math.abs(boxHeight - naturalHeight) <= 1 && budget.contentHeight >= naturalHeight;
|
|
45
|
+
if (budget && rest == null && uncappedPairIsConsistent) {
|
|
46
|
+
rest = budget.contentHeight - naturalHeight;
|
|
47
|
+
}
|
|
48
|
+
let maxHeight;
|
|
49
|
+
if (budget && rest != null) {
|
|
50
|
+
const allowed = budget.maxHeight - rest;
|
|
51
|
+
if (naturalHeight > allowed + 1) {
|
|
52
|
+
maxHeight = Math.max(allowed, MIN_TEXT_HEIGHT);
|
|
53
|
+
if (frozenRest == null) setFrozenRest(rest);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const scrollable = maxHeight != null;
|
|
57
|
+
const onScrollableChange = budget?.onScrollableChange;
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (!onScrollableChange) return;
|
|
60
|
+
onScrollableChange(scrollable);
|
|
61
|
+
return () => onScrollableChange(false);
|
|
62
|
+
}, [onScrollableChange, scrollable]);
|
|
63
|
+
if (!budget) return /*#__PURE__*/_jsx(_Fragment, {
|
|
64
|
+
children: children
|
|
65
|
+
});
|
|
66
|
+
return /*#__PURE__*/_jsx(ScrollView, {
|
|
67
|
+
style: maxHeight != null ? {
|
|
68
|
+
maxHeight
|
|
69
|
+
} : undefined,
|
|
70
|
+
onLayout: onBoxLayout,
|
|
71
|
+
nestedScrollEnabled: true,
|
|
72
|
+
bounces: false,
|
|
73
|
+
showsVerticalScrollIndicator: false,
|
|
74
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
75
|
+
onLayout: onContentLayout,
|
|
76
|
+
children: children
|
|
77
|
+
})
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=PreviewScrollableText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useCallback","useContext","useEffect","useState","ScrollView","View","Fragment","_Fragment","jsx","_jsx","ClonePreviewBudgetContext","MIN_TEXT_HEIGHT","PreviewScrollableText","children","budget","naturalHeight","setNaturalHeight","boxHeight","setBoxHeight","frozenRest","setFrozenRest","onBoxLayout","e","nativeEvent","layout","height","onContentLayout","rest","uncappedPairIsConsistent","Math","abs","contentHeight","maxHeight","allowed","max","scrollable","onScrollableChange","style","undefined","onLayout","nestedScrollEnabled","bounces","showsVerticalScrollIndicator"],"sourceRoot":"../../../../src","sources":["components/messages/PreviewScrollableText.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,9 @@ import { messageStyles } from "../styles.js";
|
|
|
8
8
|
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
9
9
|
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
10
10
|
import { useFileDownload } from "../../../hooks/useFileDownload.js";
|
|
11
|
+
import { useGuardedPress } from "../../../hooks/useGuardedPress.js";
|
|
12
|
+
import { useDismissKeyboardFirst } from "../../../hooks/useDismissKeyboardFirst.js";
|
|
13
|
+
import { useTimelinePressGuard } from "../../../context/TimelinePressGuardContext.js";
|
|
11
14
|
import { getFileIcon, getMimeType, formatFileSize } from "../../../utils/imageUtils.js";
|
|
12
15
|
import { trans } from "../../../translation/index.js";
|
|
13
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -21,9 +24,13 @@ export const FileMessage = /*#__PURE__*/memo(({
|
|
|
21
24
|
const url = message.fileElem?.sourceUrl || message.fileElem?.url || '';
|
|
22
25
|
const {
|
|
23
26
|
state,
|
|
24
|
-
handleView,
|
|
25
|
-
handleDownload
|
|
27
|
+
handleView: handleViewRaw,
|
|
28
|
+
handleDownload: handleDownloadRaw
|
|
26
29
|
} = useFileDownload(fileName, url);
|
|
30
|
+
// Skipped for the tap that dismisses a composer panel (timeline only).
|
|
31
|
+
const shouldSwallowPress = useTimelinePressGuard();
|
|
32
|
+
const handleView = useGuardedPress(useDismissKeyboardFirst(handleViewRaw), shouldSwallowPress);
|
|
33
|
+
const handleDownload = useGuardedPress(handleDownloadRaw, shouldSwallowPress);
|
|
27
34
|
const mimeType = useMemo(() => getMimeType(fileName), [fileName]);
|
|
28
35
|
const iconSource = useMemo(() => getFileIcon(mimeType), [mimeType]);
|
|
29
36
|
const subtitle = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","useFileDownload","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","groupPosition","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleDownload","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","children","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","row","alignItems","br","paddingR","paddingV","background","white","VisibleView","visible","Touchable","center","cancelBtn","width","height","onPress","cancelBtnIconContainer","VectorIcons","name","provider","size","color","Base","uri","fileIcon","resizeMode","flexS","Text","typo","text","numberOfLines","ellipsizeMode","w600","containerStyle","viewIcon","undefined","disabledIcon","displayName","create","borderRadius","maxWidth","marginHorizontal","backgroundColor","hexToRgba","opacity"],"sourceRoot":"../../../../../src","sources":["components/messages/fileMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,UAAU,EAAEC,MAAM,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AACnE,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SACEC,WAAW,EACXC,WAAW,EACXC,cAAc,QACT,8BAA2B;AAClC,SAASC,KAAK,QAAQ,+BAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAC7C,OAAO,MAAMC,WAAW,
|
|
1
|
+
{"version":3,"names":["memo","useMemo","StyleSheet","KContainer","KImage","KLabel","KColors","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","useFileDownload","useGuardedPress","useDismissKeyboardFirst","useTimelinePressGuard","getFileIcon","getMimeType","formatFileSize","trans","jsx","_jsx","jsxs","_jsxs","FileMessage","message","isOutgoing","groupPosition","fileName","fileElem","fileSize","url","sourceUrl","state","handleView","handleViewRaw","handleDownload","handleDownloadRaw","shouldSwallowPress","mimeType","iconSource","subtitle","status","received","receivedMB","total","totalMB","error","subtitleColor","palette","danger","w400","gray","w500","isDownloading","children","View","padding","style","styles","wrapper","bubbleSent","bubbleReceived","row","alignItems","br","paddingR","paddingV","background","white","VisibleView","visible","Touchable","center","cancelBtn","width","height","onPress","cancelBtnIconContainer","VectorIcons","name","provider","size","color","Base","uri","fileIcon","resizeMode","flexS","Text","typo","text","numberOfLines","ellipsizeMode","w600","containerStyle","viewIcon","undefined","disabledIcon","displayName","create","borderRadius","maxWidth","marginHorizontal","backgroundColor","hexToRgba","opacity"],"sourceRoot":"../../../../../src","sources":["components/messages/fileMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,21 +12,24 @@ import { LinkPreviewCard } from "./LinkPreviewCard.js";
|
|
|
12
12
|
import { getTailCornerStyle } from "../bubbleTail.utils.js";
|
|
13
13
|
import { BubbleTailRow } from "../BubbleTailRow.js";
|
|
14
14
|
import { LINK_URL_COLOR } from "../../../utils/theme.js";
|
|
15
|
+
import { ExpandableMessageText } from "../ExpandableMessageText.js";
|
|
16
|
+
|
|
17
|
+
// Returns the inner runs only — the wrapping <Text> comes from
|
|
18
|
+
// ExpandableMessageText, which is the node the line clamp has to land on.
|
|
15
19
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
16
|
-
const renderTextWithLinks = (content, urls, onPressUrl) => /*#__PURE__*/_jsx(KLabel.Text, {
|
|
20
|
+
const renderTextWithLinks = (content, urls, onPressUrl) => splitTextByUrls(content, urls).map((part, i) => part.isUrl ? /*#__PURE__*/_jsx(KLabel.Text, {
|
|
21
|
+
onPress: () => onPressUrl?.(part.text),
|
|
22
|
+
color: LINK_URL_COLOR,
|
|
23
|
+
typo: "TextMdMedium",
|
|
24
|
+
children: part.text
|
|
25
|
+
}, i) : /*#__PURE__*/_jsx(KLabel.Text, {
|
|
17
26
|
typo: "TextMdNormal",
|
|
18
|
-
children:
|
|
19
|
-
|
|
20
|
-
color: LINK_URL_COLOR,
|
|
21
|
-
typo: "TextMdMedium",
|
|
22
|
-
children: part.text
|
|
23
|
-
}, i) : /*#__PURE__*/_jsx(KLabel.Text, {
|
|
24
|
-
typo: "TextMdNormal",
|
|
25
|
-
children: part.text
|
|
26
|
-
}, i))
|
|
27
|
-
});
|
|
27
|
+
children: part.text
|
|
28
|
+
}, i));
|
|
28
29
|
export const LinkMessage = /*#__PURE__*/memo(({
|
|
29
30
|
message,
|
|
31
|
+
messageId,
|
|
32
|
+
surface,
|
|
30
33
|
isOutgoing,
|
|
31
34
|
createdAtTime,
|
|
32
35
|
onPressUrl,
|
|
@@ -46,7 +49,13 @@ export const LinkMessage = /*#__PURE__*/memo(({
|
|
|
46
49
|
style: [styles.bubble, isOutgoing ? styles.bubbleSent : styles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
47
50
|
children: [!!content?.trim() && /*#__PURE__*/_jsx(KContainer.View, {
|
|
48
51
|
style: styles.textRow,
|
|
49
|
-
children:
|
|
52
|
+
children: /*#__PURE__*/_jsx(ExpandableMessageText, {
|
|
53
|
+
messageId: messageId,
|
|
54
|
+
surface: surface,
|
|
55
|
+
text: content,
|
|
56
|
+
typo: "TextMdNormal",
|
|
57
|
+
children: renderTextWithLinks(content, urls, onPressUrl)
|
|
58
|
+
})
|
|
50
59
|
}), !!metadata && /*#__PURE__*/_jsx(LinkPreviewCard, {
|
|
51
60
|
metadata: metadata,
|
|
52
61
|
onPressUrl: onPressUrl
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KSpacingValue","formatMessageTime","CHAT_BUBBLE_COLORS","parseUrlMetadata","splitTextByUrls","messageStyles","LinkPreviewCard","getTailCornerStyle","BubbleTailRow","LINK_URL_COLOR","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","renderTextWithLinks","content","urls","onPressUrl","
|
|
1
|
+
{"version":3,"names":["memo","StyleSheet","KContainer","KLabel","KSpacingValue","formatMessageTime","CHAT_BUBBLE_COLORS","parseUrlMetadata","splitTextByUrls","messageStyles","LinkPreviewCard","getTailCornerStyle","BubbleTailRow","LINK_URL_COLOR","ExpandableMessageText","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","renderTextWithLinks","content","urls","onPressUrl","map","part","i","isUrl","Text","onPress","text","color","typo","children","LinkMessage","message","messageId","surface","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":[]}
|
|
@@ -13,13 +13,18 @@ import { getMessagePreviewParts, getReplySenderName, parseUrlMetadata } from "..
|
|
|
13
13
|
import { getFileIcon, getMimeType } from "../../../utils/imageUtils.js";
|
|
14
14
|
import { extractUrls } from "../../../utils/url.js";
|
|
15
15
|
import { renderLinkifiedText } from "../LinkifiedText.js";
|
|
16
|
+
import { ExpandableMessageText } from "../ExpandableMessageText.js";
|
|
16
17
|
import { useUserStore } from "../../../store/index.js";
|
|
17
18
|
import { useChatDetailContext } from "../../../context/index.js";
|
|
19
|
+
import { useTimelinePressGuard } from "../../../context/TimelinePressGuardContext.js";
|
|
18
20
|
import { ChatEvent } from "../../../types/events.js";
|
|
19
21
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
22
|
const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
21
23
|
const {
|
|
22
24
|
message,
|
|
25
|
+
messageId,
|
|
26
|
+
surface,
|
|
27
|
+
isPreview,
|
|
23
28
|
isOutgoing,
|
|
24
29
|
createdAtTime,
|
|
25
30
|
isHighlighted,
|
|
@@ -61,11 +66,15 @@ const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
|
61
66
|
const mimeType = getMimeType(quotedMessage?.fileElem?.fileName || '');
|
|
62
67
|
return getFileIcon(mimeType);
|
|
63
68
|
}, [quotedMessage]);
|
|
69
|
+
|
|
70
|
+
// Skipped for the tap that dismisses a composer panel (timeline only).
|
|
71
|
+
const shouldSwallowPress = useTimelinePressGuard();
|
|
64
72
|
const handlePressQuotedMessage = useCallback(() => {
|
|
73
|
+
if (shouldSwallowPress()) return;
|
|
65
74
|
DeviceEventEmitter.emit(ChatEvent.ScrollToMessage, {
|
|
66
75
|
clientMessageId: quotedMessage?.clientMsgID || ''
|
|
67
76
|
});
|
|
68
|
-
}, [quotedMessage]);
|
|
77
|
+
}, [quotedMessage, shouldSwallowPress]);
|
|
69
78
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
70
79
|
children: [/*#__PURE__*/_jsx(BubbleTailRow, {
|
|
71
80
|
isOutgoing: isOutgoing,
|
|
@@ -74,7 +83,10 @@ const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
|
74
83
|
style: [messageStyles.bubble, styles.container, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
75
84
|
children: [/*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
76
85
|
style: styles.quotedContainer,
|
|
77
|
-
onPress: handlePressQuotedMessage
|
|
86
|
+
onPress: handlePressQuotedMessage
|
|
87
|
+
// Would scroll the timeline hidden behind the overlay.
|
|
88
|
+
,
|
|
89
|
+
disabled: isPreview,
|
|
78
90
|
children: [/*#__PURE__*/_jsx(KContainer.View, {
|
|
79
91
|
style: styles.dot
|
|
80
92
|
}), /*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
@@ -121,7 +133,10 @@ const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
|
121
133
|
children: messagePreview.text
|
|
122
134
|
})]
|
|
123
135
|
})]
|
|
124
|
-
}), /*#__PURE__*/_jsx(
|
|
136
|
+
}), /*#__PURE__*/_jsx(ExpandableMessageText, {
|
|
137
|
+
messageId: messageId,
|
|
138
|
+
surface: surface,
|
|
139
|
+
text: replyText,
|
|
125
140
|
typo: "TextMdNormal",
|
|
126
141
|
color: CHAT_BUBBLE_COLORS.text,
|
|
127
142
|
children: renderLinkifiedText(replyText, urls, onPressUrl, 'reply')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","messageStyles","getTailCornerStyle","BubbleTailRow","formatMessageTime","KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","DeviceEventEmitter","StyleSheet","CHAT_BUBBLE_COLORS","MessageType","getMessagePreviewParts","getReplySenderName","parseUrlMetadata","getFileIcon","getMimeType","extractUrls","renderLinkifiedText","useUserStore","useChatDetailContext","ChatEvent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QuotedMessage","props","message","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","groupPosition","onPressUrl","conversation","currentUserId","s","user","userID","quotedMessage","quoteElem","quoteMessage","replyText","text","messagePreview","timeLabel","urls","nativeUrls","length","imageUrl","contentType","PictureMessage","pictureElem","snapshotPicture","url","VideoMessage","videoElem","snapshotUrl","UrlTextMessage","metadata","ex","image","iconSource","FileMessage","mimeType","fileElem","fileName","handlePressQuotedMessage","emit","ScrollToMessage","clientMessageId","clientMsgID","children","View","style","bubble","styles","container","bubbleSent","bubbleReceived","bubbleHighlighted","Touchable","quotedContainer","onPress","dot","VisibleView","visible","imageContainer","Base","uri","playIconContainer","playIcon","VectorIcons","name","size","color","white","icon","resizeMode","flexS","content","Text","typo","numberOfLines","gray","light","textProps","row","alignItems","timeLabelRight","timestamp","marginL","undefined","marginR","displayName","create","gap","backgroundColor","flexDirection","borderTopRightRadius","borderBottomRightRadius","paddingRight","maxWidth","width","height","palette","grayCool","w200","borderRadius","x","marginRight","paddingHorizontal","paddingVertical","position","top","left","right","bottom","justifyContent","padding","hexToRgba","black","marginTop"],"sourceRoot":"../../../../../src","sources":["components/messages/quotedMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAClD,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,iBAAiB,QAAqC,aAAU;AACzE,SACEC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,MAAM,EACNC,YAAY,EACZC,aAAa,QACR,eAAe;AACtB,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,cAAc;AAC7D,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SACEC,sBAAsB,EACtBC,kBAAkB,EAClBC,gBAAgB,QACX,gCAA6B;AACpC,SAASC,WAAW,EAAEC,WAAW,QAAQ,8BAA2B;AACpE,SAASC,WAAW,QAAQ,uBAAoB;AAChD,SAASC,mBAAmB,QAAQ,qBAAkB;AACtD,SAASC,YAAY,QAAQ,yBAAgB;AAC7C,SAASC,oBAAoB,QAAQ,2BAAkB;AACvD,SAASC,SAAS,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAMlD,MAAMC,aAAa,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","messageStyles","getTailCornerStyle","BubbleTailRow","formatMessageTime","KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","DeviceEventEmitter","StyleSheet","CHAT_BUBBLE_COLORS","MessageType","getMessagePreviewParts","getReplySenderName","parseUrlMetadata","getFileIcon","getMimeType","extractUrls","renderLinkifiedText","ExpandableMessageText","useUserStore","useChatDetailContext","useTimelinePressGuard","ChatEvent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","QuotedMessage","props","message","messageId","surface","isPreview","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","groupPosition","onPressUrl","conversation","currentUserId","s","user","userID","quotedMessage","quoteElem","quoteMessage","replyText","text","messagePreview","timeLabel","urls","nativeUrls","length","imageUrl","contentType","PictureMessage","pictureElem","snapshotPicture","url","VideoMessage","videoElem","snapshotUrl","UrlTextMessage","metadata","ex","image","iconSource","FileMessage","mimeType","fileElem","fileName","shouldSwallowPress","handlePressQuotedMessage","emit","ScrollToMessage","clientMessageId","clientMsgID","children","View","style","bubble","styles","container","bubbleSent","bubbleReceived","bubbleHighlighted","Touchable","quotedContainer","onPress","disabled","dot","VisibleView","visible","imageContainer","Base","uri","playIconContainer","playIcon","VectorIcons","name","size","color","white","icon","resizeMode","flexS","content","Text","typo","numberOfLines","gray","light","textProps","row","alignItems","timeLabelRight","timestamp","marginL","undefined","marginR","displayName","create","gap","backgroundColor","flexDirection","borderTopRightRadius","borderBottomRightRadius","paddingRight","maxWidth","width","height","palette","grayCool","w200","borderRadius","x","marginRight","paddingHorizontal","paddingVertical","position","top","left","right","bottom","justifyContent","padding","hexToRgba","black","marginTop"],"sourceRoot":"../../../../../src","sources":["components/messages/quotedMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ import { QuotedMessagePreviewStrip } from "../quotedMessage/QuotedMessagePreview
|
|
|
16
16
|
import { LinkPreviewCard } from "../linkMessage/LinkPreviewCard.js";
|
|
17
17
|
import { extractUrls } from "../../../utils/url.js";
|
|
18
18
|
import { renderLinkifiedText } from "../LinkifiedText.js";
|
|
19
|
+
import { ExpandableMessageText } from "../ExpandableMessageText.js";
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
21
|
const parseMessageEx = ex => {
|
|
21
22
|
if (!ex) return undefined;
|
|
@@ -27,6 +28,8 @@ const parseMessageEx = ex => {
|
|
|
27
28
|
};
|
|
28
29
|
export const TextMessage = /*#__PURE__*/memo(({
|
|
29
30
|
message,
|
|
31
|
+
messageId,
|
|
32
|
+
surface,
|
|
30
33
|
isOutgoing,
|
|
31
34
|
createdAtTime,
|
|
32
35
|
isHighlighted,
|
|
@@ -91,7 +94,10 @@ export const TextMessage = /*#__PURE__*/memo(({
|
|
|
91
94
|
style: [messageStyles.bubble, styles.bubbleContent, isOutgoing ? messageStyles.bubbleSent : messageStyles.bubbleReceived, isHighlighted && messageStyles.bubbleHighlighted, getTailCornerStyle(isOutgoing, groupPosition)],
|
|
92
95
|
children: [quotedMessage && /*#__PURE__*/_jsx(QuotedMessagePreviewStrip, {
|
|
93
96
|
quotedMessage: quotedMessage
|
|
94
|
-
}), /*#__PURE__*/_jsx(
|
|
97
|
+
}), /*#__PURE__*/_jsx(ExpandableMessageText, {
|
|
98
|
+
messageId: messageId,
|
|
99
|
+
surface: surface,
|
|
100
|
+
text: messageText,
|
|
95
101
|
typo: "TextMdNormal",
|
|
96
102
|
color: CHAT_BUBBLE_COLORS.text,
|
|
97
103
|
children: segments ? segments.map((segment, index) => segment.type === 'mention' ? /*#__PURE__*/_jsx(Text, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","Text","StyleSheet","MessageType","KContainer","KLabel","KColors","getMessageText","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","formatMessageTime","tokenize","deserializeMentionRanges","QuotedMessagePreviewStrip","LinkPreviewCard","extractUrls","renderLinkifiedText","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","parseMessageEx","ex","undefined","JSON","parse","TextMessage","message","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","onPressUrl","groupPosition","messageText","timeLabel","isAtTextMessage","contentType","AtTextMessage","quotedMessage","atTextElem","quoteMessage","parsedEx","urlMetadata","mentions","offsets","segments","length","urls","nativeUrls","trim","renderTextRun","text","keyPrefix","children","View","style","bubble","styles","bubbleContent","bubbleSent","bubbleReceived","bubbleHighlighted","typo","color","map","segment","index","type","mentionTextStyle","mention","displayName","id","metadata","row","alignItems","timeLabelRight","timestamp","marginL","marginR","create","gap","marginTop","justifyContent","palette","primary","w400"],"sourceRoot":"../../../../../src","sources":["components/messages/textMessage/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,QAAQ,eAAe;AAC3D,SAASC,cAAc,QAAQ,qCAAkC;AACjE,SAASC,kBAAkB,QAAQ,2CAAwC;AAC3E,SAASC,aAAa,QAAQ,cAAW;AACzC,SAASC,kBAAkB,QAAQ,wBAAqB;AACxD,SAASC,aAAa,QAAQ,qBAAkB;AAChD,SAASC,iBAAiB,QAAqC,aAAU;AACzE,SAASC,QAAQ,QAAQ,kCAAyB;AAClD,SAASC,wBAAwB,QAAQ,qCAAkC;AAE3E,SAASC,yBAAyB,QAAQ,+CAA4C;AACtF,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,WAAW,QAAQ,uBAAoB;AAChD,SAASC,mBAAmB,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;
|
|
1
|
+
{"version":3,"names":["memo","useMemo","Text","StyleSheet","MessageType","KContainer","KLabel","KColors","getMessageText","CHAT_BUBBLE_COLORS","messageStyles","getTailCornerStyle","BubbleTailRow","formatMessageTime","tokenize","deserializeMentionRanges","QuotedMessagePreviewStrip","LinkPreviewCard","extractUrls","renderLinkifiedText","ExpandableMessageText","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","parseMessageEx","ex","undefined","JSON","parse","TextMessage","message","messageId","surface","isOutgoing","createdAtTime","isHighlighted","isTimeRevealed","onPressUrl","groupPosition","messageText","timeLabel","isAtTextMessage","contentType","AtTextMessage","quotedMessage","atTextElem","quoteMessage","parsedEx","urlMetadata","mentions","offsets","segments","length","urls","nativeUrls","trim","renderTextRun","text","keyPrefix","children","View","style","bubble","styles","bubbleContent","bubbleSent","bubbleReceived","bubbleHighlighted","typo","color","map","segment","index","type","mentionTextStyle","mention","displayName","id","metadata","row","alignItems","timeLabelRight","timestamp","marginL","marginR","create","gap","marginTop","justifyContent","palette","primary","w400"],"sourceRoot":"../../../../../src","sources":["components/messages/textMessage/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["formatMessageTime","createdAt","date","Date","Number","isNaN","getTime","toLocaleTimeString","hour","minute","hour12"],"sourceRoot":"../../../../src","sources":["components/messages/types.ts"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["formatMessageTime","createdAt","date","Date","Number","isNaN","getTime","toLocaleTimeString","hour","minute","hour12"],"sourceRoot":"../../../../src","sources":["components/messages/types.ts"],"mappings":";;AAiCA,OAAO,MAAMA,iBAAiB,GAAIC,SAAiB,IAAK;EACtD,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAChC,IAAIG,MAAM,CAACC,KAAK,CAACH,IAAI,CAACI,OAAO,CAAC,CAAC,CAAC,EAAE;IAChC,OAAO,EAAE;EACX;EAEA,OAAOJ,IAAI,CAACK,kBAAkB,CAAC,OAAO,EAAE;IACtCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
|