@droppii-org/chat-mobile 0.2.106 → 0.2.107
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/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/linkMessage/index.js +21 -12
- package/lib/module/components/messages/linkMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/index.js +12 -2
- 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/hooks/useExpandableText.js +120 -0
- package/lib/module/hooks/useExpandableText.js.map +1 -0
- package/lib/module/screens/chat-detail/ChatDetail.js +11 -0
- package/lib/module/screens/chat-detail/ChatDetail.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/legend/LegendChatMessage.js +10 -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/store/expandedMessage.js +28 -0
- package/lib/module/store/expandedMessage.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/truncateTextChildren.js +38 -0
- package/lib/module/utils/truncateTextChildren.js.map +1 -0
- 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/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/hooks/useExpandableText.d.ts +13 -0
- package/lib/typescript/src/hooks/useExpandableText.d.ts.map +1 -0
- package/lib/typescript/src/screens/chat-detail/ChatDetail.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/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/store/expandedMessage.d.ts +15 -0
- package/lib/typescript/src/store/expandedMessage.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/truncateTextChildren.d.ts +3 -0
- package/lib/typescript/src/utils/truncateTextChildren.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/messages/ExpandableMessageText.tsx +145 -0
- package/src/components/messages/PreviewScrollableText.tsx +98 -0
- package/src/components/messages/linkMessage/index.tsx +30 -21
- package/src/components/messages/quotedMessage/index.tsx +14 -2
- package/src/components/messages/textMessage/index.tsx +11 -2
- package/src/components/messages/types.ts +18 -0
- package/src/hooks/useExpandableText.ts +139 -0
- package/src/screens/chat-detail/ChatDetail.tsx +11 -0
- package/src/screens/chat-detail/PinnedMessagesSheet.tsx +8 -0
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +22 -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/store/expandedMessage.ts +42 -0
- package/src/utils/expandableText.ts +51 -0
- package/src/utils/inlineTruncation.ts +65 -0
- package/src/utils/truncateTextChildren.ts +46 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useEffect","useRef","DeviceEventEmitter","useKeyboardScrollToEnd","useSafeAreaInsets","KContainer","useNavigation","useRoute","usePinMessage","PinnedMessageBar","openPinnedMessagesSheet","MediaViewerModal","useConversation","useConversationStore","useUserStore","ChatDetailHeader","ChatListLegend","ChatComposer","shouldShowAddMember","normalizeUrl","MessageToolboxOverlay","useGetConversationDetail","useGetConversationTarget","useSyncConversationById","GroupJoinSource","useMessages","ChatEvent","useSetIsShowFLashMessage","useJoinGroup","useGroupAccessGuard","useSingleAccessGuard","useIsJoinedGroup","UIUtils","trans","getGroupIdFromConversationId","ChatDetailLoading","jsx","_jsx","jsxs","_jsxs","ChatDetail","conversationId","targetUserId","targetGroupId","targetMessageId","showAddMember","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressUrl","customMessageItemFactory","pannelActions","groupJoinSource","renderConversationViewHeader","navigation","mediaViewerRef","messageToolboxRef","currentUser","s","user","conversation","data","target","isComposeDisabled","isActive","handleBackDefault","goBack","handleMediaPress","items","index","current","show","messages","initLoading","moreOldLoading","moreNewLoading","getMoreOldMessages","getMoreNewMessages","hasMoreOld","hasMoreNew","startClientMsgId","peerType","mutate","joinGroup","isPending","isJoiningGroup","setShowFLashMessage","pinnedMessages","pinMessage","unpinMessage","getState","setCurrentConversation","undefined","subscription","addListener","TargetMessageUnavailable","toast","open","title","theme","remove","params","targetMessage","find","m","clientMsgID","emit","ScrollToMessage","clientMessageId","resolvedShowAddMember","insets","listRef","freeze","scrollMessageToEnd","handlePressUrl","url","handleMessageLongPress","message","rect","groupPosition","handlePressPinnedMessageBar","currentUserId","userID","onPressMessage","handlePressMenu","handlePressJoinGroup","groupID","reqMsg","joinSource","Search","groupName","showName","Page","flex","edges","children","onPressAvatar","onPress","isLoading","onLoadMoreOld","onLoadMoreNew","onMediaPress","onLongPress","keyboardOffset","bottom","isEmptyMessage","length","onPressJoinGroup","ref","onPinMessage","onUnpinMessage","ConversationDataGate","props","targetConversationId","targetBotId","hasTarget","isLoadingConversation","isFetching","isSyncingConversation","isFetched","isConversationSynced","isCheckingJoinStatus","handleAccessBlocked","isCheckingAccess","isBlockedAccess","onBlocked","isConversationResolved","isReady","SdkReadyGate","isUserLoaded"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useEffect","useRef","DeviceEventEmitter","useKeyboardScrollToEnd","useSafeAreaInsets","KContainer","useNavigation","useRoute","usePinMessage","PinnedMessageBar","openPinnedMessagesSheet","MediaViewerModal","useConversation","useConversationStore","useUserStore","useExpandedMessageStore","clearExpandableTextCache","ChatDetailHeader","ChatListLegend","ChatComposer","shouldShowAddMember","normalizeUrl","MessageToolboxOverlay","useGetConversationDetail","useGetConversationTarget","useSyncConversationById","GroupJoinSource","useMessages","ChatEvent","useSetIsShowFLashMessage","useJoinGroup","useGroupAccessGuard","useSingleAccessGuard","useIsJoinedGroup","UIUtils","trans","getGroupIdFromConversationId","ChatDetailLoading","jsx","_jsx","jsxs","_jsxs","ChatDetail","conversationId","targetUserId","targetGroupId","targetMessageId","showAddMember","onBack","onPressSearch","onPressAddMember","onPressMenu","onPressUrl","customMessageItemFactory","pannelActions","groupJoinSource","renderConversationViewHeader","navigation","mediaViewerRef","messageToolboxRef","currentUser","s","user","conversation","getState","clearSurface","data","target","isComposeDisabled","isActive","handleBackDefault","goBack","handleMediaPress","items","index","current","show","messages","initLoading","moreOldLoading","moreNewLoading","getMoreOldMessages","getMoreNewMessages","hasMoreOld","hasMoreNew","startClientMsgId","peerType","mutate","joinGroup","isPending","isJoiningGroup","setShowFLashMessage","pinnedMessages","pinMessage","unpinMessage","setCurrentConversation","undefined","subscription","addListener","TargetMessageUnavailable","toast","open","title","theme","remove","params","targetMessage","find","m","clientMsgID","emit","ScrollToMessage","clientMessageId","resolvedShowAddMember","insets","listRef","freeze","scrollMessageToEnd","handlePressUrl","url","handleMessageLongPress","message","rect","groupPosition","handlePressPinnedMessageBar","currentUserId","userID","onPressMessage","handlePressMenu","handlePressJoinGroup","groupID","reqMsg","joinSource","Search","groupName","showName","Page","flex","edges","children","onPressAvatar","onPress","isLoading","onLoadMoreOld","onLoadMoreNew","onMediaPress","onLongPress","keyboardOffset","bottom","isEmptyMessage","length","onPressJoinGroup","ref","onPinMessage","onUnpinMessage","ConversationDataGate","props","targetConversationId","targetBotId","hasTarget","isLoadingConversation","isFetching","isSyncingConversation","isFetched","isConversationSynced","isCheckingJoinStatus","handleAccessBlocked","isCheckingAccess","isBlockedAccess","onBlocked","isConversationResolved","isReady","SdkReadyGate","isUserLoaded"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatDetail.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { KContainer, KLabel, KColors, KImage, KSpacingValue } from '@droppii/lib
|
|
|
7
7
|
import { UIUtils } from "../../utils/UIUtils.js";
|
|
8
8
|
import { trans } from "../../translation/index.js";
|
|
9
9
|
import { usePinnedMessageStore } from "../../store/pinnedMessage.js";
|
|
10
|
+
import { useExpandedMessageStore } from "../../store/expandedMessage.js";
|
|
10
11
|
import { LegendChatMessage } from "./legend/LegendChatMessage.js";
|
|
11
12
|
import { formatMessageTime } from "./legend/messageTypes.js";
|
|
12
13
|
|
|
@@ -70,6 +71,7 @@ const PinnedMessagesSheetContent = /*#__PURE__*/memo(({
|
|
|
70
71
|
children: [isOutgoing && unpinButton, /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
71
72
|
message: message,
|
|
72
73
|
messageId: messageId,
|
|
74
|
+
surface: "pin",
|
|
73
75
|
isOutgoing: isOutgoing,
|
|
74
76
|
createdAtTime: createdAtTime,
|
|
75
77
|
onPress: handlePressMessage,
|
|
@@ -125,6 +127,11 @@ export const openPinnedMessagesSheet = ({
|
|
|
125
127
|
customMessageItemFactory,
|
|
126
128
|
onPressMessage
|
|
127
129
|
}) => {
|
|
130
|
+
// Reset on open, not on close. `UIUtils.bottomSheet` is an adapter the host
|
|
131
|
+
// app registers, so whether dismissing unmounts this content — or keeps it
|
|
132
|
+
// mounted and hidden — is not ours to know. Clearing here satisfies
|
|
133
|
+
// "reopened starts shortened" whatever the host does with the sheet.
|
|
134
|
+
useExpandedMessageStore.getState().clearSurface('pin');
|
|
128
135
|
UIUtils.bottomSheet.open({
|
|
129
136
|
header: {
|
|
130
137
|
title: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","StyleSheet","MessageType","KContainer","KLabel","KColors","KImage","KSpacingValue","UIUtils","trans","usePinnedMessageStore","LegendChatMessage","formatMessageTime","jsx","_jsx","jsxs","_jsxs","SELF_RENDERS_TIME_FOR_INCOMING","Set","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PinnedMessagesSheetContent","currentUserId","unpinMessage","customMessageItemFactory","onPressMessage","messages","state","handleUnpinMessage","message","getState","length","bottomSheet","dismiss","handlePressMessage","messageId","find","m","clientMsgID","serverMsgID","View","paddingV","children","Text","typo","color","gray","normal","paddingH","marginB","map","isOutgoing","sendID","createdAtTime","sendTime","createTime","hasInternalTimeLabel","has","contentType","timeLabel","unpinButton","Touchable","center","br","width","height","background","style","styles","unpinButtonLeft","unpinButtonRight","onPress","VectorIcons","name","provider","size","dark","rowRight","rowLeft","messageRow","messageRowRight","messageRowLeft","alwaysHandlePress","light","marginT","displayName","UNPIN_BUTTON_GAP","create","paddingHorizontal","marginBottom","alignItems","flexDirection","justifyContent","marginRight","marginLeft","openPinnedMessagesSheet","open","header","title","text","alignment","showCloseButton","touchOutsideToDismiss","body","renderContent"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessagesSheet.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AAEzC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,WAAW,QAA0B,+BAA+B;AAC7E,SACEC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,aAAa,QACR,eAAe;AACtB,SAASC,OAAO,QAAQ,wBAAqB;AAC7C,SAASC,KAAK,QAAQ,4BAAmB;AACzC,SAASC,qBAAqB,QAAQ,8BAA2B;AACjE,SAASC,iBAAiB,QAAQ,+BAA4B;AAC9D,SAASC,iBAAiB,QAAQ,0BAAuB;;AAEzD;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,8BAA8B,GAAG,IAAIC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"names":["memo","useCallback","StyleSheet","MessageType","KContainer","KLabel","KColors","KImage","KSpacingValue","UIUtils","trans","usePinnedMessageStore","useExpandedMessageStore","LegendChatMessage","formatMessageTime","jsx","_jsx","jsxs","_jsxs","SELF_RENDERS_TIME_FOR_INCOMING","Set","TextMessage","AtTextMessage","QuoteMessage","UrlTextMessage","PinnedMessagesSheetContent","currentUserId","unpinMessage","customMessageItemFactory","onPressMessage","messages","state","handleUnpinMessage","message","getState","length","bottomSheet","dismiss","handlePressMessage","messageId","find","m","clientMsgID","serverMsgID","View","paddingV","children","Text","typo","color","gray","normal","paddingH","marginB","map","isOutgoing","sendID","createdAtTime","sendTime","createTime","hasInternalTimeLabel","has","contentType","timeLabel","unpinButton","Touchable","center","br","width","height","background","style","styles","unpinButtonLeft","unpinButtonRight","onPress","VectorIcons","name","provider","size","dark","rowRight","rowLeft","messageRow","messageRowRight","messageRowLeft","surface","alwaysHandlePress","light","marginT","displayName","UNPIN_BUTTON_GAP","create","paddingHorizontal","marginBottom","alignItems","flexDirection","justifyContent","marginRight","marginLeft","openPinnedMessagesSheet","clearSurface","open","header","title","text","alignment","showCloseButton","touchOutsideToDismiss","body","renderContent"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/PinnedMessagesSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -61,7 +61,9 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
61
61
|
showName = false,
|
|
62
62
|
showAvatar = false,
|
|
63
63
|
showSenderGutter = false,
|
|
64
|
-
groupPosition
|
|
64
|
+
groupPosition,
|
|
65
|
+
surface = 'timeline',
|
|
66
|
+
isPreview
|
|
65
67
|
}) => {
|
|
66
68
|
const handlePress = useCallback(() => {
|
|
67
69
|
onPress?.(messageId);
|
|
@@ -80,6 +82,8 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
80
82
|
style: styles.systemMessageWrapper,
|
|
81
83
|
children: /*#__PURE__*/_jsx(SystemMessageComponent, {
|
|
82
84
|
message: message,
|
|
85
|
+
messageId: messageId,
|
|
86
|
+
surface: surface,
|
|
83
87
|
isOutgoing: isOutgoing,
|
|
84
88
|
createdAtTime: createdAtTime
|
|
85
89
|
})
|
|
@@ -121,10 +125,13 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
121
125
|
style: styles.senderName,
|
|
122
126
|
children: message.senderNickname
|
|
123
127
|
}), /*#__PURE__*/_jsx(LongPressWrapper, {
|
|
124
|
-
onPress: shouldHandlePress ? handlePress : undefined,
|
|
125
|
-
onLongPress: handleLongPress,
|
|
128
|
+
onPress: shouldHandlePress && !isPreview ? handlePress : undefined,
|
|
129
|
+
onLongPress: isPreview ? undefined : handleLongPress,
|
|
126
130
|
children: /*#__PURE__*/_jsx(MessageComponent, {
|
|
127
131
|
message: message,
|
|
132
|
+
messageId: messageId,
|
|
133
|
+
surface: surface,
|
|
134
|
+
isPreview: isPreview,
|
|
128
135
|
isOutgoing: isOutgoing,
|
|
129
136
|
createdAtTime: createdAtTime,
|
|
130
137
|
onMediaPress: hasMediaPress ? effectiveOnMediaPress : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KContainer","KImage","KColors","KLabel","KSpacingValue","StyleSheet","memo","useCallback","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","GroupNotificationMessage","MessageStatusIndicator","messageStyles","QuotedMessage","StickerMessage","GROUP_NOTIFICATION_TYPES","Avatar","TAIL_WIDTH","jsx","_jsx","jsxs","_jsxs","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","MergeMessage","RevokeMessage","Object","fromEntries","map","type","MEDIA_TYPES","SYSTEM_MESSAGE_TYPES","TIME_REVEAL_EXCLUDED_TYPES","LegendChatMessage","message","messageId","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onPress","alwaysHandlePress","onLongPress","customMessageItemFactory","isHighlighted","isTimeRevealed","showName","showAvatar","showSenderGutter","groupPosition","handlePress","handleLongPress","customNode","includes","contentType","SystemMessageComponent","View","center","style","styles","systemMessageWrapper","children","MessageComponent","effectiveOnMediaPress","undefined","hasMediaPress","hasUrlPress","canRevealTime","shouldHandlePress","wrapper","row","alignItems","avatarGutter","size","source","senderFaceUrl","fullName","senderNickname","content","Text","typo","color","gray","normal","numberOfLines","marginB","senderName","LongPressWrapper","isPinned","pinBadge","VectorIcons","name","primary","displayName","AVATAR_SIZE","create","position","marginLeft","width","marginRight","alignSelf","marginVertical","top","right","height","borderRadius","justifyContent","backgroundColor","pageBackground","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","white","zIndex","Number","MAX_SAFE_INTEGER","gesture","gestures","LongPress","onStart","Tap","filter","Boolean","length","Race"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,aAAa,QACR,eAAe;AACtB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAElD,SAASC,WAAW,QAAQ,+BAA+B;AAE3D,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,SAASC,OAAO,QAAQ,yBAAyB;AAEjD,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,YAAY,QAAQ,oDAA2C;AACxE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,WAAW,QAAQ,mDAA0C;AACtE,SAASC,aAAa,QAAQ,qDAA4C;AAC1E,SAASC,cAAc,QAAQ,sDAA6C;AAC5E,SAASC,wBAAwB,QAAQ,gEAAuD;AAChG,SAASC,sBAAsB,QAAQ,wDAAqD;AAE5F,SAASC,aAAa,QAAQ,mBAAgB;AAC9C,OAAOC,aAAa,MAAM,qDAA4C;AACtE,SAASC,cAAc,QAAQ,sDAA6C;AAC5E,SAASC,wBAAwB,QAAQ,gCAA6B;
|
|
1
|
+
{"version":3,"names":["KContainer","KImage","KColors","KLabel","KSpacingValue","StyleSheet","memo","useCallback","useMemo","MessageType","Gesture","GestureDetector","runOnJS","TextMessage","ImageMessage","VideoMessage","FileMessage","LinkMessage","MergedMessage","RevokedMessage","GroupNotificationMessage","MessageStatusIndicator","messageStyles","QuotedMessage","StickerMessage","GROUP_NOTIFICATION_TYPES","Avatar","TAIL_WIDTH","jsx","_jsx","jsxs","_jsxs","messageComponentMap","AtTextMessage","QuoteMessage","UrlTextMessage","PictureMessage","MergeMessage","RevokeMessage","Object","fromEntries","map","type","MEDIA_TYPES","SYSTEM_MESSAGE_TYPES","TIME_REVEAL_EXCLUDED_TYPES","LegendChatMessage","message","messageId","isOutgoing","createdAtTime","onMediaPress","onPressUrl","onRetry","onPress","alwaysHandlePress","onLongPress","customMessageItemFactory","isHighlighted","isTimeRevealed","showName","showAvatar","showSenderGutter","groupPosition","surface","isPreview","handlePress","handleLongPress","customNode","includes","contentType","SystemMessageComponent","View","center","style","styles","systemMessageWrapper","children","MessageComponent","effectiveOnMediaPress","undefined","hasMediaPress","hasUrlPress","canRevealTime","shouldHandlePress","wrapper","row","alignItems","avatarGutter","size","source","senderFaceUrl","fullName","senderNickname","content","Text","typo","color","gray","normal","numberOfLines","marginB","senderName","LongPressWrapper","isPinned","pinBadge","VectorIcons","name","primary","displayName","AVATAR_SIZE","create","position","marginLeft","width","marginRight","alignSelf","marginVertical","top","right","height","borderRadius","justifyContent","backgroundColor","pageBackground","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","borderWidth","borderColor","white","zIndex","Number","MAX_SAFE_INTEGER","gesture","gestures","LongPress","onStart","Tap","filter","Boolean","length","Race"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ import { getCopyableMessageText, getMessageToolboxItems } from "./messageToolbox
|
|
|
11
11
|
import { MessageToolboxWrapper } from "./MessageToolboxWrapper.js";
|
|
12
12
|
import { useSendMessage } from "../../../hooks/message/useSendMessage.js";
|
|
13
13
|
import { useChatContext, useChatDetailContext } from "../../../context/index.js";
|
|
14
|
-
import { GroupPermission } from '@droppii/openim-rn-client-sdk';
|
|
14
|
+
import { GroupPermission, MessageType } from '@droppii/openim-rn-client-sdk';
|
|
15
15
|
import { useHasGroupPermission } from "../../../hooks/useGroupPermission.js";
|
|
16
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
// Android only: this Modal's native window is added/removed asynchronously
|
|
@@ -23,6 +23,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
23
23
|
// delayed spurious event is still suppressed instead of replaying a stale
|
|
24
24
|
// scrollTo. See `show`/`hide` below for the observed sequence.
|
|
25
25
|
const UNFREEZE_DELAY_MS = 300;
|
|
26
|
+
const EXPANDABLE_TYPES = [MessageType.TextMessage, MessageType.AtTextMessage, MessageType.UrlTextMessage, MessageType.QuoteMessage];
|
|
26
27
|
export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
27
28
|
currentUserId = '',
|
|
28
29
|
customMessageItemFactory,
|
|
@@ -149,10 +150,15 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
149
150
|
setQuotedMessage(message);
|
|
150
151
|
hide();
|
|
151
152
|
}, [message, hide, setQuotedMessage]);
|
|
153
|
+
const overlayMessageId = message?.clientMsgID || message?.serverMsgID || '';
|
|
152
154
|
if (!visible || !message || !rect) {
|
|
153
155
|
return null;
|
|
154
156
|
}
|
|
155
157
|
const isOutgoing = message.sendID === currentUserId;
|
|
158
|
+
// Only the types that can show `Xem thêm` get a touchable clone. File
|
|
159
|
+
// download and consumer custom nodes carry their own handlers and stay
|
|
160
|
+
// inert.
|
|
161
|
+
const isCloneInteractive = EXPANDABLE_TYPES.includes(message.contentType) && !customMessageItemFactory?.(message);
|
|
156
162
|
const showSenderGutter = isGroupConversation && !isOutgoing;
|
|
157
163
|
const showName = showSenderGutter && (groupPosition === 'first' || groupPosition === 'solo');
|
|
158
164
|
const showAvatar = showSenderGutter && (groupPosition === 'last' || groupPosition === 'solo');
|
|
@@ -168,9 +174,12 @@ export const MessageToolboxOverlay = /*#__PURE__*/forwardRef(({
|
|
|
168
174
|
}), /*#__PURE__*/_jsx(MessageToolboxWrapper, {
|
|
169
175
|
rect: rect,
|
|
170
176
|
isOutgoing: isOutgoing,
|
|
177
|
+
isCloneInteractive: isCloneInteractive,
|
|
178
|
+
onDismiss: hide,
|
|
171
179
|
message: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
172
180
|
message: message,
|
|
173
|
-
messageId:
|
|
181
|
+
messageId: overlayMessageId,
|
|
182
|
+
isPreview: true,
|
|
174
183
|
isOutgoing: isOutgoing,
|
|
175
184
|
createdAtTime: message.sendTime || message.createTime,
|
|
176
185
|
customMessageItemFactory: customMessageItemFactory,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","useChatContext","useChatDetailContext","GroupPermission","useHasGroupPermission","jsx","_jsx","jsxs","_jsxs","UNFREEZE_DELAY_MS","MessageToolboxOverlay","currentUserId","customMessageItemFactory","onPinMessage","onUnpinMessage","freeze","ref","setQuotedMessage","conversation","isGroupConversation","generateChatDetailLink","visible","setVisible","message","setMessage","undefined","rect","setRect","groupPosition","setGroupPosition","toolboxItems","retryMessage","revokeMessage","isPinAllowed","PinMessage","unfreezeTimeoutRef","clearPendingUnfreeze","current","clearTimeout","hide","setTimeout","value","show","msg","msgRect","msgGroupPosition","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","link","targetConversationId","conversationID","targetMessageId","clientMsgID","handleRetryMessage","handleRevokeMessage","error","console","handlePinMessage","handleUnpinMessage","handleQuoteMessage","isOutgoing","sendID","showSenderGutter","showName","showAvatar","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","messageId","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Modal","Pressable","StyleSheet","Clipboard","UIUtils","trans","LegendChatMessage","MessageToolboxMenu","getCopyableMessageText","getMessageToolboxItems","MessageToolboxWrapper","useSendMessage","useChatContext","useChatDetailContext","GroupPermission","MessageType","useHasGroupPermission","jsx","_jsx","jsxs","_jsxs","UNFREEZE_DELAY_MS","EXPANDABLE_TYPES","TextMessage","AtTextMessage","UrlTextMessage","QuoteMessage","MessageToolboxOverlay","currentUserId","customMessageItemFactory","onPinMessage","onUnpinMessage","freeze","ref","setQuotedMessage","conversation","isGroupConversation","generateChatDetailLink","visible","setVisible","message","setMessage","undefined","rect","setRect","groupPosition","setGroupPosition","toolboxItems","retryMessage","revokeMessage","isPinAllowed","PinMessage","unfreezeTimeoutRef","clearPendingUnfreeze","current","clearTimeout","hide","setTimeout","value","show","msg","msgRect","msgGroupPosition","toolboxNotAvailable","Object","values","filter","Boolean","length","handleCopyMessage","text","setString","toast","open","title","theme","handleCopyMessageLink","link","targetConversationId","conversationID","targetMessageId","clientMsgID","handleRetryMessage","handleRevokeMessage","error","console","handlePinMessage","handleUnpinMessage","handleQuoteMessage","overlayMessageId","serverMsgID","isOutgoing","sendID","isCloneInteractive","includes","contentType","showSenderGutter","showName","showAvatar","transparent","statusBarTranslucent","animationType","onRequestClose","children","style","styles","backdrop","onPress","onDismiss","messageId","isPreview","createdAtTime","sendTime","createTime","toolbox","showCopyMessageLink","showPinMessage","showUnpinMessage","onCopyMessage","onCopyMessageLink","onRetryMessage","onRevokeMessage","onQuoteMessage","displayName","create","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxOverlay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, memo } from 'react';
|
|
4
|
-
import { View, Platform, useWindowDimensions } from 'react-native';
|
|
3
|
+
import { useCallback, memo, useState } from 'react';
|
|
4
|
+
import { View, ScrollView, Pressable, StyleSheet, Platform, useWindowDimensions } from 'react-native';
|
|
5
5
|
import { useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
6
6
|
import { messageStyles } from "../legend/messageTypes.js";
|
|
7
7
|
import Animated from 'react-native-reanimated';
|
|
8
8
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
9
|
+
import { ClonePreviewBudgetContext } from "../../../components/messages/PreviewScrollableText.js";
|
|
10
|
+
import { useClonePreview } from "./useClonePreview.js";
|
|
9
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
12
|
const MENU_GAP = 8;
|
|
13
|
+
// A clone is never squeezed below this, even if the toolbox is unusually tall —
|
|
14
|
+
// better to overflow slightly than to render a sliver of a message.
|
|
15
|
+
const MIN_CLONE_HEIGHT = 120;
|
|
11
16
|
export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
12
17
|
isOutgoing,
|
|
13
18
|
rect,
|
|
14
19
|
message,
|
|
20
|
+
isCloneInteractive,
|
|
21
|
+
onDismiss,
|
|
15
22
|
reaction,
|
|
16
23
|
toolbox
|
|
17
24
|
}) => {
|
|
@@ -23,6 +30,14 @@ export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
|
23
30
|
const {
|
|
24
31
|
height: windowHeight
|
|
25
32
|
} = useWindowDimensions();
|
|
33
|
+
|
|
34
|
+
// Mirrors `toolboxHeight` on the JS side. Deriving the clone's maxHeight
|
|
35
|
+
// from the shared value instead would close a loop — maxHeight feeds the
|
|
36
|
+
// clone's height, which feeds `messageHeight`, which feeds `translateY`.
|
|
37
|
+
// The toolbox's own height does not depend on the clone, so reading it
|
|
38
|
+
// here settles in one pass. Not ratcheted: the menu's item set varies with
|
|
39
|
+
// permissions, and a high-water mark could never shrink back.
|
|
40
|
+
const [chromeHeight, setChromeHeight] = useState(0);
|
|
26
41
|
const onMessageCloneLayout = useCallback(({
|
|
27
42
|
nativeEvent
|
|
28
43
|
}) => {
|
|
@@ -32,12 +47,20 @@ export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
|
32
47
|
nativeEvent
|
|
33
48
|
}) => {
|
|
34
49
|
toolboxHeight.value = nativeEvent.layout.height;
|
|
50
|
+
setChromeHeight(nativeEvent.layout.height);
|
|
35
51
|
}, [toolboxHeight]);
|
|
36
52
|
const onReactionLayout = useCallback(({
|
|
37
53
|
nativeEvent
|
|
38
54
|
}) => {
|
|
39
55
|
reactionHeight.value = nativeEvent.layout.height;
|
|
40
56
|
}, [reactionHeight]);
|
|
57
|
+
|
|
58
|
+
// Same quantities `translateY` below subtracts, so the clone is never
|
|
59
|
+
// allowed to be taller than the space that shift can actually recover —
|
|
60
|
+
// `translateY` only moves up, so an over-tall clone pushes the toolbox off
|
|
61
|
+
// the bottom of the screen with no way back.
|
|
62
|
+
const maxCloneHeight = Math.max(windowHeight - insets.top - topOffset - (insets.bottom || 32) - chromeHeight - 3 * MENU_GAP, MIN_CLONE_HEIGHT);
|
|
63
|
+
const preview = useClonePreview(maxCloneHeight);
|
|
41
64
|
const translateY = useDerivedValue(() => {
|
|
42
65
|
const menuGap = (reactionHeight.value > 0 ? MENU_GAP : 0) + (toolboxHeight.value > 0 ? MENU_GAP : 0);
|
|
43
66
|
const overflowBottom = Math.max(rect.y, insets.top) + topOffset + messageHeight.value + toolboxHeight.value + (insets.bottom || 32) + menuGap - windowHeight;
|
|
@@ -50,16 +73,39 @@ export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
|
50
73
|
gap: MENU_GAP,
|
|
51
74
|
transform: [{
|
|
52
75
|
translateY: translateY.value
|
|
53
|
-
}]
|
|
76
|
+
}],
|
|
77
|
+
// Until the toolbox has measured, the clone's budget is over-large and
|
|
78
|
+
// `translateY` is computed against a toolbox height of 0, which produces
|
|
79
|
+
// a visible two-stage slide on every open. Lay out, then reveal.
|
|
80
|
+
opacity: chromeHeight > 0 ? 1 : 0
|
|
54
81
|
}));
|
|
55
82
|
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
56
83
|
pointerEvents: "box-none",
|
|
57
84
|
style: [isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft, containerStyles],
|
|
58
|
-
children: [/*#__PURE__*/_jsx(
|
|
59
|
-
|
|
85
|
+
children: [/*#__PURE__*/_jsx(ScrollView, {
|
|
86
|
+
style: [styles.clone, {
|
|
87
|
+
maxHeight: maxCloneHeight
|
|
88
|
+
}],
|
|
60
89
|
collapsable: false,
|
|
61
90
|
onLayout: onMessageCloneLayout,
|
|
62
|
-
|
|
91
|
+
onContentSizeChange: preview.onContentSizeChange,
|
|
92
|
+
bounces: false,
|
|
93
|
+
showsVerticalScrollIndicator: false,
|
|
94
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
95
|
+
onPress: onDismiss,
|
|
96
|
+
disabled: preview.dismissDisabled,
|
|
97
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
98
|
+
pointerEvents: isCloneInteractive ? 'box-none' : 'none',
|
|
99
|
+
style: isOutgoing ? styles.rowEnd : styles.rowStart,
|
|
100
|
+
children: [preview.dismissDisabled && /*#__PURE__*/_jsx(Pressable, {
|
|
101
|
+
style: StyleSheet.absoluteFill,
|
|
102
|
+
onPress: onDismiss
|
|
103
|
+
}), /*#__PURE__*/_jsx(ClonePreviewBudgetContext.Provider, {
|
|
104
|
+
value: preview.budget,
|
|
105
|
+
children: message
|
|
106
|
+
})]
|
|
107
|
+
})
|
|
108
|
+
})
|
|
63
109
|
}), /*#__PURE__*/_jsx(View, {
|
|
64
110
|
collapsable: false,
|
|
65
111
|
onLayout: onReactionLayout,
|
|
@@ -72,4 +118,31 @@ export const MessageToolboxWrapper = /*#__PURE__*/memo(({
|
|
|
72
118
|
});
|
|
73
119
|
});
|
|
74
120
|
MessageToolboxWrapper.displayName = 'MessageToolboxWrapper';
|
|
121
|
+
const styles = StyleSheet.create({
|
|
122
|
+
// maxHeight belongs on the ScrollView itself — inside an auto-height parent a
|
|
123
|
+
// ScrollView collapses to zero.
|
|
124
|
+
//
|
|
125
|
+
// `rowStart`/`rowEnd` reproduce the contract `LegendChatMessage` gets from
|
|
126
|
+
// the real list row: its root (`maxWidth: '80%'`) must be the DIRECT child
|
|
127
|
+
// of a definite-width, non-stretching (`alignItems`) View. Any auto-width
|
|
128
|
+
// node in between (an extra View, a non-stretched Pressable) leaves the 80%
|
|
129
|
+
// with no definite basis, and Yoga collapses the bubble toward min-content —
|
|
130
|
+
// on device, "M2" wrapping to "M" / "2". The Pressable sits outside this
|
|
131
|
+
// View, stretched by the ScrollView's content container, so the chain from
|
|
132
|
+
// the clone's measured width down to the bubble stays definite throughout.
|
|
133
|
+
// Not `messageRowLeft/Right` directly: the outer Animated.View already
|
|
134
|
+
// applies their padding, which would double up here.
|
|
135
|
+
clone: {
|
|
136
|
+
flexGrow: 0,
|
|
137
|
+
width: '100%'
|
|
138
|
+
},
|
|
139
|
+
rowStart: {
|
|
140
|
+
width: '100%',
|
|
141
|
+
alignItems: 'flex-start'
|
|
142
|
+
},
|
|
143
|
+
rowEnd: {
|
|
144
|
+
width: '100%',
|
|
145
|
+
alignItems: 'flex-end'
|
|
146
|
+
}
|
|
147
|
+
});
|
|
75
148
|
//# sourceMappingURL=MessageToolboxWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","memo","View","Platform","useWindowDimensions","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","messageStyles","Animated","useSafeAreaInsets","jsx","_jsx","jsxs","_jsxs","MENU_GAP","MessageToolboxWrapper","isOutgoing","rect","message","reaction","toolbox","insets","messageHeight","reactionHeight","toolboxHeight","topOffset","OS","top","height","windowHeight","onMessageCloneLayout","nativeEvent","value","layout","onToolboxLayout","onReactionLayout","
|
|
1
|
+
{"version":3,"names":["useCallback","memo","useState","View","ScrollView","Pressable","StyleSheet","Platform","useWindowDimensions","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","messageStyles","Animated","useSafeAreaInsets","ClonePreviewBudgetContext","useClonePreview","jsx","_jsx","jsxs","_jsxs","MENU_GAP","MIN_CLONE_HEIGHT","MessageToolboxWrapper","isOutgoing","rect","message","isCloneInteractive","onDismiss","reaction","toolbox","insets","messageHeight","reactionHeight","toolboxHeight","topOffset","OS","top","height","windowHeight","chromeHeight","setChromeHeight","onMessageCloneLayout","nativeEvent","value","layout","onToolboxLayout","onReactionLayout","maxCloneHeight","Math","max","bottom","preview","translateY","menuGap","overflowBottom","y","min","containerStyles","left","x","width","gap","transform","opacity","pointerEvents","style","messageRowRight","messageRowLeft","children","styles","clone","maxHeight","collapsable","onLayout","onContentSizeChange","bounces","showsVerticalScrollIndicator","onPress","disabled","dismissDisabled","rowEnd","rowStart","absoluteFill","Provider","budget","displayName","create","flexGrow","alignItems"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Wiring between the overlay's clone and the expanded text that scrolls
|
|
6
|
+
* inside it (see `PreviewScrollableText`).
|
|
7
|
+
*
|
|
8
|
+
* `dismissDisabled`: the clone sits in a tap-to-dismiss Pressable. On iOS a
|
|
9
|
+
* ScrollView refuses to scroll while an ANCESTOR holds the JS responder
|
|
10
|
+
* (`RCTScrollView _shouldDisableScrollInteraction`), so with the Pressable
|
|
11
|
+
* enabled a drag on the text never scrolls — it ends as a tap and closes the
|
|
12
|
+
* overlay. While the text is scrollable the Pressable stands down; the
|
|
13
|
+
* backdrop and the menu still dismiss.
|
|
14
|
+
*/
|
|
15
|
+
export const useClonePreview = maxHeight => {
|
|
16
|
+
const [contentHeight, setContentHeight] = useState(0);
|
|
17
|
+
const [textScrollable, setTextScrollable] = useState(false);
|
|
18
|
+
const onContentSizeChange = useCallback((_width, height) => setContentHeight(height), []);
|
|
19
|
+
const budget = useMemo(() => ({
|
|
20
|
+
maxHeight,
|
|
21
|
+
contentHeight,
|
|
22
|
+
onScrollableChange: setTextScrollable
|
|
23
|
+
}), [maxHeight, contentHeight]);
|
|
24
|
+
return {
|
|
25
|
+
budget,
|
|
26
|
+
onContentSizeChange,
|
|
27
|
+
dismissDisabled: textScrollable
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=useClonePreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","useClonePreview","maxHeight","contentHeight","setContentHeight","textScrollable","setTextScrollable","onContentSizeChange","_width","height","budget","onScrollableChange","dismissDisabled"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/messageToolbox/useClonePreview.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAGtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAIC,SAAiB,IAAK;EACpD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGJ,QAAQ,CAAC,CAAC,CAAC;EACrD,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAGN,QAAQ,CAAC,KAAK,CAAC;EAE3D,MAAMO,mBAAmB,GAAGT,WAAW,CACrC,CAACU,MAAc,EAAEC,MAAc,KAAKL,gBAAgB,CAACK,MAAM,CAAC,EAC5D,EACF,CAAC;EAED,MAAMC,MAAM,GAAGX,OAAO,CACpB,OAAO;IACLG,SAAS;IACTC,aAAa;IACbQ,kBAAkB,EAAEL;EACtB,CAAC,CAAC,EACF,CAACJ,SAAS,EAAEC,aAAa,CAC3B,CAAC;EAED,OAAO;IAAEO,MAAM;IAAEH,mBAAmB;IAAEK,eAAe,EAAEP;EAAe,CAAC;AACzE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { create } from 'zustand';
|
|
4
|
+
import { expandedKey, withoutSurface } from "../utils/expandableText.js";
|
|
5
|
+
export { expandedKey };
|
|
6
|
+
export const useExpandedMessageStore = create()((set, get) => ({
|
|
7
|
+
expanded: {},
|
|
8
|
+
expand: (surface, messageId) => {
|
|
9
|
+
// A message with no id would alias onto `${surface}:` and expand every
|
|
10
|
+
// other id-less message with it.
|
|
11
|
+
if (!messageId) return;
|
|
12
|
+
const key = expandedKey(surface, messageId);
|
|
13
|
+
if (get().expanded[key]) return;
|
|
14
|
+
set({
|
|
15
|
+
expanded: {
|
|
16
|
+
...get().expanded,
|
|
17
|
+
[key]: true
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
clearSurface: surface => {
|
|
22
|
+
const next = withoutSurface(get().expanded, surface);
|
|
23
|
+
if (next !== get().expanded) set({
|
|
24
|
+
expanded: next
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
//# sourceMappingURL=expandedMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["create","expandedKey","withoutSurface","useExpandedMessageStore","set","get","expanded","expand","surface","messageId","key","clearSurface","next"],"sourceRoot":"../../../src","sources":["store/expandedMessage.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SACEC,WAAW,EACXC,cAAc,QAET,4BAAyB;AAGhC,SAASD,WAAW;AAapB,OAAO,MAAME,uBAAuB,GAAGH,MAAM,CAAuB,CAAC,CACnE,CAACI,GAAG,EAAEC,GAAG,MAAM;EACbC,QAAQ,EAAE,CAAC,CAAC;EAEZC,MAAM,EAAEA,CAACC,OAAO,EAAEC,SAAS,KAAK;IAC9B;IACA;IACA,IAAI,CAACA,SAAS,EAAE;IAEhB,MAAMC,GAAG,GAAGT,WAAW,CAACO,OAAO,EAAEC,SAAS,CAAC;IAC3C,IAAIJ,GAAG,CAAC,CAAC,CAACC,QAAQ,CAACI,GAAG,CAAC,EAAE;IAEzBN,GAAG,CAAC;MAAEE,QAAQ,EAAE;QAAE,GAAGD,GAAG,CAAC,CAAC,CAACC,QAAQ;QAAE,CAACI,GAAG,GAAG;MAAK;IAAE,CAAC,CAAC;EACvD,CAAC;EAEDC,YAAY,EAAGH,OAAO,IAAK;IACzB,MAAMI,IAAI,GAAGV,cAAc,CAACG,GAAG,CAAC,CAAC,CAACC,QAAQ,EAAEE,OAAO,CAAC;IACpD,IAAII,IAAI,KAAKP,GAAG,CAAC,CAAC,CAACC,QAAQ,EAAEF,GAAG,CAAC;MAAEE,QAAQ,EAAEM;IAAK,CAAC,CAAC;EACtD;AACF,CAAC,CACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const COLLAPSED_LINES = 5;
|
|
4
|
+
const MEASURE_THRESHOLD_CHARS = 100;
|
|
5
|
+
export const expandedKey = (surface, messageId) => `${surface}:${messageId}`;
|
|
6
|
+
const countNewlines = text => {
|
|
7
|
+
let count = 0;
|
|
8
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
9
|
+
if (text.charCodeAt(i) === 10) count += 1;
|
|
10
|
+
}
|
|
11
|
+
return count;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Character count alone is not an approximation of rendered lines — it is
|
|
16
|
+
* wrong for the shapes this chat carries most (pasted addresses, order lists),
|
|
17
|
+
* where an eight-line message can be under 70 characters. Newlines cost one
|
|
18
|
+
* character and a whole line, so both signals are needed. Message text is
|
|
19
|
+
* sender-controlled, so a length-only gate is also trivially defeated.
|
|
20
|
+
*/
|
|
21
|
+
export const isMeasurementCandidate = text => text.length >= MEASURE_THRESHOLD_CHARS || countNewlines(text) >= COLLAPSED_LINES;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Returns a copy without the entries belonging to `surface`, or the original
|
|
25
|
+
* reference when nothing matched — callers use that identity to skip a
|
|
26
|
+
* pointless store update.
|
|
27
|
+
*/
|
|
28
|
+
export const withoutSurface = (expanded, surface) => {
|
|
29
|
+
const prefix = `${surface}:`;
|
|
30
|
+
const next = {};
|
|
31
|
+
let removed = false;
|
|
32
|
+
for (const key in expanded) {
|
|
33
|
+
if (key.startsWith(prefix)) {
|
|
34
|
+
removed = true;
|
|
35
|
+
} else {
|
|
36
|
+
next[key] = true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return removed ? next : expanded;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=expandableText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["COLLAPSED_LINES","MEASURE_THRESHOLD_CHARS","expandedKey","surface","messageId","countNewlines","text","count","i","length","charCodeAt","isMeasurementCandidate","withoutSurface","expanded","prefix","next","removed","key","startsWith"],"sourceRoot":"../../../src","sources":["utils/expandableText.ts"],"mappings":";;AAEA,OAAO,MAAMA,eAAe,GAAG,CAAC;AAEhC,MAAMC,uBAAuB,GAAG,GAAG;AAEnC,OAAO,MAAMC,WAAW,GAAGA,CAACC,OAAuB,EAAEC,SAAiB,KACpE,GAAGD,OAAO,IAAIC,SAAS,EAAE;AAE3B,MAAMC,aAAa,GAAIC,IAAY,IAAK;EACtC,IAAIC,KAAK,GAAG,CAAC;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACvC,IAAIF,IAAI,CAACI,UAAU,CAACF,CAAC,CAAC,KAAK,EAAE,EAAED,KAAK,IAAI,CAAC;EAC3C;EACA,OAAOA,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMI,sBAAsB,GAAIL,IAAY,IACjDA,IAAI,CAACG,MAAM,IAAIR,uBAAuB,IACtCI,aAAa,CAACC,IAAI,CAAC,IAAIN,eAAe;;AAExC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,cAAc,GAAGA,CAC5BC,QAA8B,EAC9BV,OAAuB,KACE;EACzB,MAAMW,MAAM,GAAG,GAAGX,OAAO,GAAG;EAC5B,MAAMY,IAA0B,GAAG,CAAC,CAAC;EACrC,IAAIC,OAAO,GAAG,KAAK;EAEnB,KAAK,MAAMC,GAAG,IAAIJ,QAAQ,EAAE;IAC1B,IAAII,GAAG,CAACC,UAAU,CAACJ,MAAM,CAAC,EAAE;MAC1BE,OAAO,GAAG,IAAI;IAChB,CAAC,MAAM;MACLD,IAAI,CAACE,GAAG,CAAC,GAAG,IAAI;IAClB;EACF;EAEA,OAAOD,OAAO,GAAGD,IAAI,GAAGF,QAAQ;AAClC,CAAC","ignoreList":[]}
|