@droppii-org/chat-mobile 0.2.107 → 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/fileMessage/index.js +9 -2
- package/lib/module/components/messages/fileMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/index.js +6 -1
- package/lib/module/components/messages/quotedMessage/index.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 +6 -1
- package/lib/module/hooks/useExpandableText.js.map +1 -1
- 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 +38 -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/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 +2 -0
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- 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/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/perf-marker.js +44 -0
- package/lib/module/utils/perf-marker.js.map +1 -0
- package/lib/typescript/src/components/ThreadCard/ThreadCard.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/quotedMessage/index.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.map +1 -1
- 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/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.map +1 -1
- 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/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/perf-marker.d.ts +8 -0
- package/lib/typescript/src/utils/perf-marker.d.ts.map +1 -0
- package/package.json +2 -1
- package/src/components/ThreadCard/ThreadCard.tsx +2 -0
- package/src/components/messages/fileMessage/index.tsx +17 -3
- package/src/components/messages/quotedMessage/index.tsx +5 -1
- 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 +5 -1
- package/src/hooks/useGuardedPress.ts +20 -0
- package/src/screens/chat-detail/ChatComposer.tsx +105 -631
- package/src/screens/chat-detail/ChatDetail.tsx +38 -20
- package/src/screens/chat-detail/ChatListLegend.tsx +122 -71
- 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 +2 -0
- package/src/screens/chat-detail/types.ts +9 -0
- package/src/store/message.ts +14 -0
- package/src/utils/composerPanelDismissGesture.ts +72 -0
- package/src/utils/perf-marker.ts +39 -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":[]}
|
|
@@ -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":[]}
|
|
@@ -16,6 +16,7 @@ import { renderLinkifiedText } from "../LinkifiedText.js";
|
|
|
16
16
|
import { ExpandableMessageText } from "../ExpandableMessageText.js";
|
|
17
17
|
import { useUserStore } from "../../../store/index.js";
|
|
18
18
|
import { useChatDetailContext } from "../../../context/index.js";
|
|
19
|
+
import { useTimelinePressGuard } from "../../../context/TimelinePressGuardContext.js";
|
|
19
20
|
import { ChatEvent } from "../../../types/events.js";
|
|
20
21
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
21
22
|
const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
@@ -65,11 +66,15 @@ const QuotedMessage = /*#__PURE__*/memo(props => {
|
|
|
65
66
|
const mimeType = getMimeType(quotedMessage?.fileElem?.fileName || '');
|
|
66
67
|
return getFileIcon(mimeType);
|
|
67
68
|
}, [quotedMessage]);
|
|
69
|
+
|
|
70
|
+
// Skipped for the tap that dismisses a composer panel (timeline only).
|
|
71
|
+
const shouldSwallowPress = useTimelinePressGuard();
|
|
68
72
|
const handlePressQuotedMessage = useCallback(() => {
|
|
73
|
+
if (shouldSwallowPress()) return;
|
|
69
74
|
DeviceEventEmitter.emit(ChatEvent.ScrollToMessage, {
|
|
70
75
|
clientMessageId: quotedMessage?.clientMsgID || ''
|
|
71
76
|
});
|
|
72
|
-
}, [quotedMessage]);
|
|
77
|
+
}, [quotedMessage, shouldSwallowPress]);
|
|
73
78
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
74
79
|
children: [/*#__PURE__*/_jsx(BubbleTailRow, {
|
|
75
80
|
isOutgoing: isOutgoing,
|
|
@@ -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","ExpandableMessageText","useUserStore","useChatDetailContext","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","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":";;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,qBAAqB,QAAQ,6BAA0B;AAChE,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":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext } from 'react';
|
|
4
|
+
const neverSwallow = () => false;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Timeline-only press guard. ChatListLegend provides the tap-outside panel
|
|
8
|
+
* dismiss's `shouldSwallowPress` (useComposerPanelDismiss); every other
|
|
9
|
+
* surface (Pin Management, toolbox overlay) gets the no-op default.
|
|
10
|
+
*/
|
|
11
|
+
const TimelinePressGuardContext = /*#__PURE__*/createContext(neverSwallow);
|
|
12
|
+
export const TimelinePressGuardProvider = TimelinePressGuardContext.Provider;
|
|
13
|
+
export const useTimelinePressGuard = () => useContext(TimelinePressGuardContext);
|
|
14
|
+
//# sourceMappingURL=TimelinePressGuardContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","neverSwallow","TimelinePressGuardContext","TimelinePressGuardProvider","Provider","useTimelinePressGuard"],"sourceRoot":"../../../src","sources":["context/TimelinePressGuardContext.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAEjD,MAAMC,YAAY,GAAGA,CAAA,KAAM,KAAK;;AAEhC;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,gBAAGH,aAAa,CAAgBE,YAAY,CAAC;AAE5E,OAAO,MAAME,0BAA0B,GAAGD,yBAAyB,CAACE,QAAQ;AAE5E,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KACnCL,UAAU,CAACE,yBAAyB,CAAC","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import { useQuery } from '@tanstack/react-query';
|
|
|
5
5
|
import OpenIMSDK from '@droppii/openim-rn-client-sdk';
|
|
6
6
|
import { conversationQueryKeys } from "./query-keys.js";
|
|
7
7
|
import { useConversationStore } from "../store/index.js";
|
|
8
|
+
import { perfMark } from "../utils/perf-marker.js";
|
|
8
9
|
export function useConversationList({
|
|
9
10
|
applicationType,
|
|
10
11
|
page = 1,
|
|
@@ -24,6 +25,9 @@ export function useConversationList({
|
|
|
24
25
|
applicationType
|
|
25
26
|
});
|
|
26
27
|
useConversationStore.getState().updateConversations(conversations);
|
|
28
|
+
perfMark('conversation_list_loaded', {
|
|
29
|
+
count: conversations.length
|
|
30
|
+
});
|
|
27
31
|
return conversations;
|
|
28
32
|
}
|
|
29
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useQuery","OpenIMSDK","conversationQueryKeys","useConversationStore","useConversationList","applicationType","page","enabled","newConversationSignal","s","query","queryKey","list","staleTime","queryFn","offset","conversations","getConversationListSplitApp","count","getState","updateConversations","refetch"],"sourceRoot":"../../../src","sources":["hooks/useConversationList.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,qBAAqB,QAAQ,iBAAc;AACpD,SAASC,oBAAoB,QAAQ,mBAAU;
|
|
1
|
+
{"version":3,"names":["useEffect","useQuery","OpenIMSDK","conversationQueryKeys","useConversationStore","perfMark","useConversationList","applicationType","page","enabled","newConversationSignal","s","query","queryKey","list","staleTime","queryFn","offset","conversations","getConversationListSplitApp","count","getState","updateConversations","length","refetch"],"sourceRoot":"../../../src","sources":["hooks/useConversationList.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,OAAOC,SAAS,MAAM,+BAA+B;AACrD,SAASC,qBAAqB,QAAQ,iBAAc;AACpD,SAASC,oBAAoB,QAAQ,mBAAU;AAE/C,SAASC,QAAQ,QAAQ,yBAAsB;AAQ/C,OAAO,SAASC,mBAAmBA,CAAC;EAClCC,eAAe;EACfC,IAAI,GAAG,CAAC;EACRC,OAAO,GAAG;AACJ,CAAC,EAAE;EACT,MAAMC,qBAAqB,GAAGN,oBAAoB,CAC/CO,CAAC,IAAKA,CAAC,CAACD,qBACX,CAAC;EAED,MAAME,KAAK,GAAGX,QAAQ,CAAC;IACrBY,QAAQ,EAAE,CAAC,GAAGV,qBAAqB,CAACW,IAAI,CAACP,eAAe,CAAC,EAAEC,IAAI,CAAC;IAChEC,OAAO,EAAEA,OAAO,KAAK,KAAK;IAC1BM,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;IAAE;IAC1BC,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,MAAMC,MAAM,GAAG,CAACT,IAAI,GAAG,CAAC,IAAI,GAAG;MAC/B,MAAMU,aAAa,GAAG,MAAMhB,SAAS,CAACiB,2BAA2B,CAAC;QAChEF,MAAM;QACNG,KAAK,EAAE,GAAG;QACVb;MACF,CAAC,CAAC;MAEFH,oBAAoB,CAACiB,QAAQ,CAAC,CAAC,CAACC,mBAAmB,CAACJ,aAAa,CAAC;MAClEb,QAAQ,CAAC,0BAA0B,EAAE;QAAEe,KAAK,EAAEF,aAAa,CAACK;MAAO,CAAC,CAAC;MACrE,OAAOL,aAAa;IACtB;EACF,CAAC,CAAC;;EAEF;EACA;EACAlB,SAAS,CAAC,MAAM;IACd,IAAIU,qBAAqB,GAAG,CAAC,EAAE;MAC7BE,KAAK,CAACY,OAAO,CAAC,CAAC;IACjB;IACA;EACF,CAAC,EAAE,CAACd,qBAAqB,CAAC,CAAC;EAE3B,OAAOE,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { Keyboard } from 'react-native';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Wraps a press that leaves the timeline (media viewer, link, file viewer) so
|
|
8
|
+
* the keyboard is dismissed first. The timeline uses
|
|
9
|
+
* `keyboardShouldPersistTaps="handled"`, so the keyboard would otherwise stay
|
|
10
|
+
* up over the screen the press opens. An absent handler stays absent.
|
|
11
|
+
*/
|
|
12
|
+
export const useDismissKeyboardFirst = handler => useMemo(() => {
|
|
13
|
+
if (!handler) return handler;
|
|
14
|
+
return (...args) => {
|
|
15
|
+
Keyboard.dismiss();
|
|
16
|
+
handler(...args);
|
|
17
|
+
};
|
|
18
|
+
}, [handler]);
|
|
19
|
+
//# sourceMappingURL=useDismissKeyboardFirst.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","Keyboard","useDismissKeyboardFirst","handler","args","dismiss"],"sourceRoot":"../../../src","sources":["hooks/useDismissKeyboardFirst.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAClCC,OAA8C,IAE9CH,OAAO,CAAC,MAAM;EACZ,IAAI,CAACG,OAAO,EAAE,OAAOA,OAAO;EAC5B,OAAO,CAAC,GAAGC,IAAO,KAAK;IACrBH,QAAQ,CAACI,OAAO,CAAC,CAAC;IAClBF,OAAO,CAAC,GAAGC,IAAI,CAAC;EAClB,CAAC;AACH,CAAC,EAAE,CAACD,OAAO,CAAC,CAAC","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useCallback, useState } from 'react';
|
|
4
4
|
import { useWindowDimensions } from 'react-native';
|
|
5
5
|
import { useExpandedMessageStore } from "../store/expandedMessage.js";
|
|
6
|
+
import { useTimelinePressGuard } from "../context/TimelinePressGuardContext.js";
|
|
6
7
|
import { COLLAPSED_LINES, expandedKey, isMeasurementCandidate } from "../utils/expandableText.js";
|
|
7
8
|
import { initialCut, joinLines, shrinkCut } from "../utils/inlineTruncation.js";
|
|
8
9
|
export { COLLAPSED_LINES };
|
|
@@ -106,9 +107,13 @@ export function useExpandableText(messageId, text, surface) {
|
|
|
106
107
|
passes: fit.passes + 1
|
|
107
108
|
});
|
|
108
109
|
}, [fit, key, settle]);
|
|
110
|
+
|
|
111
|
+
// Skipped for the tap that dismisses a composer panel (timeline only).
|
|
112
|
+
const shouldSwallowPress = useTimelinePressGuard();
|
|
109
113
|
const expand = useCallback(() => {
|
|
114
|
+
if (shouldSwallowPress()) return;
|
|
110
115
|
expandInStore(surface, messageId);
|
|
111
|
-
}, [expandInStore, surface, messageId]);
|
|
116
|
+
}, [expandInStore, surface, messageId, shouldSwallowPress]);
|
|
112
117
|
return {
|
|
113
118
|
mode,
|
|
114
119
|
cut,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","useWindowDimensions","useExpandedMessageStore","COLLAPSED_LINES","expandedKey","isMeasurementCandidate","initialCut","joinLines","shrinkCut","MAX_FIT_PASSES","verdictCache","Map","clearExpandableTextCache","clear","verdictKey","surface","messageId","windowWidth","text","Math","round","length","useExpandableText","expanded","s","expandInStore","expand","width","key","fit","setFit","passes","current","isCandidate","verdict","get","mode","truncated","cut","settle","next","set","prev","onMeasureTextLayout","nativeEvent","lines","full","first","onFitTextLayout"],"sourceRoot":"../../../src","sources":["hooks/useExpandableText.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AAC7C,SAASC,mBAAmB,QAA8B,cAAc;AACxE,SAASC,uBAAuB,QAAQ,6BAA0B;AAClE,SACEC,eAAe,EACfC,WAAW,EACXC,sBAAsB,QAEjB,4BAAyB;AAChC,SAASC,UAAU,EAAEC,SAAS,EAAEC,SAAS,QAAQ,8BAA2B;AAE5E,SAASL,eAAe;AAIxB;AACA;AACA,MAAMM,cAAc,GAAG,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAAkB,CAAC;AAE/C,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAAMF,YAAY,CAACG,KAAK,CAAC,CAAC;;AAElE;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAGA,CACjBC,OAAuB,EACvBC,SAAiB,EACjBC,WAAmB,EACnBC,IAAY,KACT,GAAGH,OAAO,IAAIC,SAAS,IAAIG,IAAI,CAACC,KAAK,CAACH,WAAW,CAAC,IAAIC,IAAI,CAACG,MAAM,EAAE;AAgBxE,OAAO,SAASC,iBAAiBA,CAC/BN,SAAiB,EACjBE,IAAY,EACZH,OAAuB,EACvB;EACA,MAAMQ,QAAQ,
|
|
1
|
+
{"version":3,"names":["useCallback","useState","useWindowDimensions","useExpandedMessageStore","useTimelinePressGuard","COLLAPSED_LINES","expandedKey","isMeasurementCandidate","initialCut","joinLines","shrinkCut","MAX_FIT_PASSES","verdictCache","Map","clearExpandableTextCache","clear","verdictKey","surface","messageId","windowWidth","text","Math","round","length","useExpandableText","expanded","s","expandInStore","expand","width","key","fit","setFit","passes","current","isCandidate","verdict","get","mode","truncated","cut","settle","next","set","prev","onMeasureTextLayout","nativeEvent","lines","full","first","onFitTextLayout","shouldSwallowPress"],"sourceRoot":"../../../src","sources":["hooks/useExpandableText.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Wraps a timeline press handler so it is skipped while `shouldSwallow()` is
|
|
7
|
+
* true — the tap-outside panel dismiss (useComposerPanelDismiss) swallows the
|
|
8
|
+
* press of a touch that began with a composer panel open. An absent handler
|
|
9
|
+
* stays absent, so "not tappable" rows keep behaving as before. The wrapper's
|
|
10
|
+
* return value is dropped: press handlers are fire-and-forget.
|
|
11
|
+
*/
|
|
12
|
+
export const useGuardedPress = (handler, shouldSwallow) => useMemo(() => {
|
|
13
|
+
if (!handler || !shouldSwallow) return handler;
|
|
14
|
+
return (...args) => {
|
|
15
|
+
if (shouldSwallow()) return;
|
|
16
|
+
handler(...args);
|
|
17
|
+
};
|
|
18
|
+
}, [handler, shouldSwallow]);
|
|
19
|
+
//# sourceMappingURL=useGuardedPress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useGuardedPress","handler","shouldSwallow","args"],"sourceRoot":"../../../src","sources":["hooks/useGuardedPress.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAGA,CAC7BC,OAA8C,EAC9CC,aAA0C,KAE1CH,OAAO,CAAC,MAAM;EACZ,IAAI,CAACE,OAAO,IAAI,CAACC,aAAa,EAAE,OAAOD,OAAO;EAC9C,OAAO,CAAC,GAAGE,IAAO,KAAK;IACrB,IAAID,aAAa,CAAC,CAAC,EAAE;IACrBD,OAAO,CAAC,GAAGE,IAAI,CAAC;EAClB,CAAC;AACH,CAAC,EAAE,CAACF,OAAO,EAAEC,aAAa,CAAC,CAAC","ignoreList":[]}
|