@droppii-org/chat-mobile 0.2.54 → 0.2.56
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/imageMessage/index.js +31 -14
- package/lib/module/components/messages/imageMessage/index.js.map +1 -1
- package/lib/module/components/messages/stickerMessage/index.js +1 -1
- package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfo.js +2 -14
- package/lib/module/screens/ChatInfo/ChatInfo.js.map +1 -1
- package/lib/module/screens/ChatInfo/ChatInfoProfile.js +14 -19
- package/lib/module/screens/ChatInfo/ChatInfoProfile.js.map +1 -1
- package/lib/module/screens/MediaView/index.js +7 -3
- package/lib/module/screens/MediaView/index.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatDetail.js +5 -3
- package/lib/module/screens/chat-detail/ChatDetail.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +91 -36
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts +12 -0
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +1 -0
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfo.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/ChatInfoProfile.d.ts +1 -2
- package/lib/typescript/src/screens/ChatInfo/ChatInfoProfile.d.ts.map +1 -1
- package/lib/typescript/src/screens/ChatInfo/types.d.ts +1 -4
- package/lib/typescript/src/screens/ChatInfo/types.d.ts.map +1 -1
- package/lib/typescript/src/screens/MediaView/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatDetail.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/ChatListLegend.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts +1 -1
- package/lib/typescript/src/screens/chat-detail/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/messages/imageMessage/index.tsx +48 -19
- package/src/components/messages/stickerMessage/index.tsx +1 -1
- package/src/screens/ChatInfo/ChatInfo.tsx +2 -16
- package/src/screens/ChatInfo/ChatInfoProfile.tsx +37 -39
- package/src/screens/ChatInfo/types.ts +1 -4
- package/src/screens/MediaView/index.tsx +5 -1
- package/src/screens/chat-detail/ChatDetail.tsx +6 -3
- package/src/screens/chat-detail/ChatListLegend.tsx +125 -51
- package/src/screens/chat-detail/types.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { memo, useCallback, useMemo, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { DeviceEventEmitter, StyleSheet } from 'react-native';
|
|
4
|
+
import { DeviceEventEmitter, StyleSheet, useWindowDimensions } from 'react-native';
|
|
5
5
|
import Animated, { useSharedValue, useAnimatedStyle, withSpring } from 'react-native-reanimated';
|
|
6
6
|
import { KeyboardAwareLegendList } from '@legendapp/list/keyboard';
|
|
7
7
|
import { KContainer, KColors, KSpacingValue, KLabel } from '@droppii/libs';
|
|
@@ -18,9 +18,18 @@ import { ChatEvent } from "../../types/events.js";
|
|
|
18
18
|
import { useMessageStore } from "../../store/message.js";
|
|
19
19
|
import { useChatContext } from "../../context/index.js";
|
|
20
20
|
import { messageStyles } from "./legend/messageTypes.js";
|
|
21
|
+
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
21
22
|
import { useUserStore } from "../../store/index.js";
|
|
22
23
|
import { ChatMessageAPI } from "../../services/index.js";
|
|
24
|
+
import { resolveImageDisplayDims } from "../../components/messages/imageMessage/index.js";
|
|
25
|
+
import { STICKER_SIZE } from "../../components/messages/stickerMessage/index.js";
|
|
26
|
+
import ChatImageDimens, { CHAT_IMAGE_VIEW_SOURCE } from "../../utils/chatImageDimens.js";
|
|
27
|
+
|
|
28
|
+
// Row wrapper (`messageRowLeft`/`messageRowRight` in `components/messages/styles.ts`)
|
|
29
|
+
// adds only a bottom margin — no vertical padding — so a fixed-size item's true
|
|
30
|
+
// rendered height is `content height + this margin`.
|
|
23
31
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
32
|
+
const ROW_MARGIN_BOTTOM = KSpacingValue['0.25rem'];
|
|
24
33
|
export const ChatListLegend = /*#__PURE__*/memo(({
|
|
25
34
|
messages = [],
|
|
26
35
|
conversationId,
|
|
@@ -40,6 +49,7 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
40
49
|
keyboardOffset
|
|
41
50
|
}) => {
|
|
42
51
|
const currentUserId = useUserStore(s => s.user?.userID);
|
|
52
|
+
const windowWidth = useWindowDimensions().width;
|
|
43
53
|
// Precompute all message data in single pass (O(n))
|
|
44
54
|
const messageDataMap = useMemo(() => precomputeLegendListData(messages), [messages]);
|
|
45
55
|
const {
|
|
@@ -62,29 +72,12 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
62
72
|
const buttonOpacity = useSharedValue(0);
|
|
63
73
|
const isAtBottomRef = useRef(true);
|
|
64
74
|
const scrollDebounceRef = useRef(undefined);
|
|
65
|
-
const itemHeightsRef = useRef(new Map());
|
|
66
|
-
const avgItemHeightRef = useRef(120);
|
|
67
|
-
const heightDebounceRef = useRef(undefined);
|
|
68
75
|
const rowRefsMap = useRef(new Map());
|
|
69
76
|
const [showBadge, setShowBadge] = useState(false);
|
|
70
77
|
const {
|
|
71
78
|
applicationType
|
|
72
79
|
} = useChatContext();
|
|
73
80
|
const searchMessages = useMessageStore(s => s.searchMessages);
|
|
74
|
-
const handleItemLayout = useCallback((messageId, height) => {
|
|
75
|
-
itemHeightsRef.current.set(messageId, height);
|
|
76
|
-
|
|
77
|
-
// Debounce average height calculation (batch updates)
|
|
78
|
-
if (heightDebounceRef.current) {
|
|
79
|
-
clearTimeout(heightDebounceRef.current);
|
|
80
|
-
}
|
|
81
|
-
heightDebounceRef.current = setTimeout(() => {
|
|
82
|
-
if (itemHeightsRef.current.size > 0) {
|
|
83
|
-
const total = Array.from(itemHeightsRef.current.values()).reduce((a, b) => a + b, 0);
|
|
84
|
-
avgItemHeightRef.current = Math.round(total / itemHeightsRef.current.size);
|
|
85
|
-
}
|
|
86
|
-
}, 100); // Batch updates every 100ms during load
|
|
87
|
-
}, []);
|
|
88
81
|
const handleMessageLongPress = useCallback((messageId, message) => {
|
|
89
82
|
const node = rowRefsMap.current.get(messageId);
|
|
90
83
|
node?.measureInWindow((x, y, width, height) => {
|
|
@@ -132,7 +125,6 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
132
125
|
if (node) rowRefsMap.current.set(messageId, node);else rowRefsMap.current.delete(messageId);
|
|
133
126
|
},
|
|
134
127
|
style: isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft,
|
|
135
|
-
onLayout: e => handleItemLayout(messageId, e.nativeEvent.layout.height),
|
|
136
128
|
children: [/*#__PURE__*/_jsx(LegendChatMessage, {
|
|
137
129
|
message: message,
|
|
138
130
|
isOutgoing: isOutgoing,
|
|
@@ -159,17 +151,21 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
159
151
|
})
|
|
160
152
|
});
|
|
161
153
|
}
|
|
162
|
-
}, [currentUserId, lastMessageId, messageDataMap, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
154
|
+
}, [currentUserId, lastMessageId, messageDataMap, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep, retryMessage]);
|
|
155
|
+
|
|
156
|
+
// const maintainScrollConfig = useMemo(
|
|
157
|
+
// () => ({
|
|
158
|
+
// animated: false,
|
|
159
|
+
// on: {
|
|
160
|
+
// dataChange: !moreOldLoading,
|
|
161
|
+
// layout: !moreOldLoading,
|
|
162
|
+
// // Must be disabled while prepending older history; otherwise re-measuring
|
|
163
|
+
// // the freshly prepended items snaps the list back to the bottom.
|
|
164
|
+
// itemLayout: !moreOldLoading,
|
|
165
|
+
// },
|
|
166
|
+
// }),
|
|
167
|
+
// [moreOldLoading]
|
|
168
|
+
// );
|
|
173
169
|
|
|
174
170
|
// Stable config so the native maintainVisibleContentPosition prop isn't toggled
|
|
175
171
|
// mid-prepend (toggling forces an extra layout recompute). `data` anchoring keeps
|
|
@@ -177,6 +173,66 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
177
173
|
const maintainVisiblePositionConfig = useMemo(() => ({
|
|
178
174
|
data: true
|
|
179
175
|
}), []);
|
|
176
|
+
|
|
177
|
+
// Buckets averaging (`averageSizes[itemType]`, internal to LegendList) per
|
|
178
|
+
// content type, so a batch of images landing early doesn't pollute the
|
|
179
|
+
// estimate used for still-unmeasured text rows and vice versa. Items
|
|
180
|
+
// rendered via `customMessageItemFactory` (host apps can override ANY
|
|
181
|
+
// content type with an arbitrary custom node — see `LegendChatMessage`'s
|
|
182
|
+
// `customNode` short-circuit, checked before its own contentType switch)
|
|
183
|
+
// get their own bucket per content type, so a custom node's real measured
|
|
184
|
+
// height never pollutes the native component's average for that same type.
|
|
185
|
+
const getItemType = useCallback(item => {
|
|
186
|
+
const isCustom = !!customMessageItemFactory?.(item);
|
|
187
|
+
return `${item?.contentType ?? 'default'}${isCustom ? '-custom' : ''}`;
|
|
188
|
+
}, [customMessageItemFactory]);
|
|
189
|
+
|
|
190
|
+
// Exact size for content types that are knowable ahead of render — see
|
|
191
|
+
// `plans/260728-1400-chatlist-legend-fixed-item-size/plan.md`. Returns
|
|
192
|
+
// `undefined` (defer to dynamic measurement) for anything whose size can't
|
|
193
|
+
// be predicted, AND for any item carrying extra chrome this function
|
|
194
|
+
// doesn't account for (day-divider above it, trailing flow-input-buttons
|
|
195
|
+
// row) — `getFixedItemSize` describes the ENTIRE item LegendList renders,
|
|
196
|
+
// and once it resolves a number that item is never measured again, so
|
|
197
|
+
// guessing wrong here is a permanent regression, not just an approximation.
|
|
198
|
+
const getFixedItemSize = useCallback((item, index) => {
|
|
199
|
+
const message = item;
|
|
200
|
+
const messageId = message.clientMsgID || message.serverMsgID || `temp-${message.sendTime || message.createTime}-${index}`;
|
|
201
|
+
if (messageDataMap.get(messageId)?.dayStart) return undefined;
|
|
202
|
+
|
|
203
|
+
// Resolve the content-type candidate FIRST — for every type other
|
|
204
|
+
// than these three the result is `undefined` regardless of anything
|
|
205
|
+
// else, so bail before paying for a `customMessageItemFactory` call
|
|
206
|
+
// (text/quote/link/file/merge/revoke are the overwhelming majority of
|
|
207
|
+
// messages in a real chat — skip the extra call for all of them).
|
|
208
|
+
let candidateSize;
|
|
209
|
+
switch (message.contentType) {
|
|
210
|
+
case MessageType.PictureMessage:
|
|
211
|
+
candidateSize = resolveImageDisplayDims(message, windowWidth).height + ROW_MARGIN_BOTTOM;
|
|
212
|
+
break;
|
|
213
|
+
case MessageType.VideoMessage:
|
|
214
|
+
candidateSize = ChatImageDimens.getDimensions(CHAT_IMAGE_VIEW_SOURCE.MessageListThumbnail).height + ROW_MARGIN_BOTTOM;
|
|
215
|
+
break;
|
|
216
|
+
case MessageType.StickerMessage:
|
|
217
|
+
candidateSize = STICKER_SIZE + ROW_MARGIN_BOTTOM;
|
|
218
|
+
break;
|
|
219
|
+
default:
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// `customMessageItemFactory` can override rendering for ANY content
|
|
224
|
+
// type with an arbitrary node (`LegendChatMessage` checks it first,
|
|
225
|
+
// before its own contentType switch) — its real height is unknowable
|
|
226
|
+
// here, so defer to dynamic measurement when it intercepts. Only
|
|
227
|
+
// checked once we know this item would otherwise be fixed-sizeable.
|
|
228
|
+
if (customMessageItemFactory?.(message)) return undefined;
|
|
229
|
+
const isOutgoing = message.sendID === currentUserId;
|
|
230
|
+
const isLastIncoming = !isOutgoing && messageId === lastMessageId;
|
|
231
|
+
if (isLastIncoming && isBotConversation && getFlowInputButtonsNode(conversationFlow?.flowCurrentStep)) {
|
|
232
|
+
return undefined;
|
|
233
|
+
}
|
|
234
|
+
return candidateSize;
|
|
235
|
+
}, [messageDataMap, customMessageItemFactory, currentUserId, lastMessageId, isBotConversation, conversationFlow?.flowCurrentStep, windowWidth]);
|
|
180
236
|
const handleStartReached = useCallback(() => {
|
|
181
237
|
if (__DEV__) {
|
|
182
238
|
console.log('[LegendList] onStartReached triggered', {
|
|
@@ -238,15 +294,12 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
238
294
|
pointerEvents: buttonOpacity.value === 0 ? 'none' : 'auto'
|
|
239
295
|
}));
|
|
240
296
|
|
|
241
|
-
// Cleanup debounce
|
|
297
|
+
// Cleanup debounce timeout on unmount
|
|
242
298
|
useEffect(() => {
|
|
243
299
|
return () => {
|
|
244
300
|
if (scrollDebounceRef.current) {
|
|
245
301
|
clearTimeout(scrollDebounceRef.current);
|
|
246
302
|
}
|
|
247
|
-
if (heightDebounceRef.current) {
|
|
248
|
-
clearTimeout(heightDebounceRef.current);
|
|
249
|
-
}
|
|
250
303
|
};
|
|
251
304
|
}, []);
|
|
252
305
|
useEffect(() => {
|
|
@@ -303,13 +356,15 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
303
356
|
ref: listRef,
|
|
304
357
|
data: messages,
|
|
305
358
|
renderItem: renderItem,
|
|
306
|
-
estimatedItemSize:
|
|
359
|
+
estimatedItemSize: 100,
|
|
360
|
+
getItemType: getItemType,
|
|
361
|
+
getFixedItemSize: getFixedItemSize,
|
|
307
362
|
keyExtractor: item => String(item.clientMsgID || item.serverMsgID),
|
|
308
363
|
recycleItems: false,
|
|
309
364
|
extraData: `${conversationFlow?.flowCurrentStep?.id ?? ''}-${lastMessageId ?? ''}`,
|
|
310
365
|
alignItemsAtEnd: true,
|
|
311
366
|
maintainVisibleContentPosition: maintainVisiblePositionConfig,
|
|
312
|
-
maintainScrollAtEnd:
|
|
367
|
+
maintainScrollAtEnd: true,
|
|
313
368
|
freeze: freeze,
|
|
314
369
|
keyboardOffset: keyboardOffset,
|
|
315
370
|
scrollEventThrottle: 16,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","DeviceEventEmitter","StyleSheet","Animated","useSharedValue","useAnimatedStyle","withSpring","KeyboardAwareLegendList","KContainer","KColors","KSpacingValue","KLabel","precomputeLegendListData","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNode","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","useUserStore","ChatMessageAPI","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","currentUserId","s","user","userID","messageDataMap","isBotConversation","conversationFlow","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","itemHeightsRef","Map","avgItemHeightRef","heightDebounceRef","rowRefsMap","showBadge","setShowBadge","applicationType","searchMessages","handleItemLayout","messageId","height","current","set","clearTimeout","setTimeout","size","total","Array","from","values","reduce","a","b","Math","round","handleMessageLongPress","message","node","get","measureInWindow","x","y","width","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastIncoming","sendTime","createTime","messageData","dayStart","createdAt","flowInputButtonsNode","flowCurrentStep","children","View","ref","delete","style","messageRowRight","messageRowLeft","onLayout","e","nativeEvent","layout","createdAtTime","onRetry","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainScrollConfig","animated","on","dataChange","itemLayout","maintainVisiblePositionConfig","data","handleStartReached","log","willLoad","handleEndReached","handleScroll","contentOffset","contentSize","layoutMeasurement","isAtBottom","value","duration","markConversationAsRead","handleScrollToBottom","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","startClientMsgId","remove","flex","background","white","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","id","alignItemsAtEnd","maintainVisibleContentPosition","maintainScrollAtEnd","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","isLoading","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollAtEnd","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","scrollToBottomText","badge","displayName","create","position","paddingVertical","flexGrow","bottom","zIndex","borderRadius","backgroundColor","justifyContent","alignItems","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight","color","palette","primary","w400","padding","top","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","DeviceEventEmitter","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withSpring","KeyboardAwareLegendList","KContainer","KColors","KSpacingValue","KLabel","precomputeLegendListData","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNode","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","STICKER_SIZE","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ROW_MARGIN_BOTTOM","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","currentUserId","s","user","userID","windowWidth","width","messageDataMap","isBotConversation","conversationFlow","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","rowRefsMap","Map","showBadge","setShowBadge","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","current","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastIncoming","sendTime","createTime","messageData","dayStart","createdAt","flowInputButtonsNode","flowCurrentStep","children","View","ref","set","delete","style","messageRowRight","messageRowLeft","createdAtTime","onRetry","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","StickerMessage","handleStartReached","log","willLoad","handleEndReached","handleScroll","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","clearTimeout","setTimeout","value","duration","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","startClientMsgId","remove","flex","background","white","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","id","alignItemsAtEnd","maintainVisibleContentPosition","maintainScrollAtEnd","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","isLoading","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollAtEnd","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","scrollToBottomText","badge","displayName","create","position","paddingVertical","flexGrow","bottom","zIndex","borderRadius","backgroundColor","justifyContent","alignItems","shadowColor","black","shadowOffset","shadowOpacity","shadowRadius","elevation","fontSize","fontWeight","color","palette","primary","w400","padding","top","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import type { BaseLegendMessageProps } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for "what size will `ImageMessage` render this
|
|
4
|
+
* message at" — used both by the component itself and by
|
|
5
|
+
* `ChatListLegend`'s `getFixedItemSize` (must predict the exact same size the
|
|
6
|
+
* component ends up rendering, or the list permanently reserves the wrong
|
|
7
|
+
* height for it). Mirrors the component's own metaWidth/metaHeight → cache →
|
|
8
|
+
* `DEFAULT_DIMS` fallback chain exactly.
|
|
9
|
+
*/
|
|
10
|
+
export declare const resolveImageDisplayDims: (message: unknown, windowWidth: number) => {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
};
|
|
2
14
|
export declare const ImageMessage: import("react").MemoExoticComponent<({ message, onMediaPress }: BaseLegendMessageProps) => import("react").JSX.Element>;
|
|
3
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgCvD,eAAO,MAAM,YAAY,kEACK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/imageMessage/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAgCvD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,OAAO,EAChB,aAAa,MAAM,KAClB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAuBjC,CAAC;AAEF,eAAO,MAAM,YAAY,kEACK,sBAAsB,iCAkFnD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { BaseLegendMessageProps } from '../types';
|
|
2
|
+
export declare const STICKER_SIZE = 120;
|
|
2
3
|
export declare const StickerMessage: import("react").MemoExoticComponent<({ message }: BaseLegendMessageProps) => import("react").JSX.Element>;
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/stickerMessage/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/messages/stickerMessage/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIvD,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,cAAc,oDAAsB,sBAAsB,iCAUrE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChatInfoProps } from './types';
|
|
2
|
-
declare const ChatInfo: import("react").MemoExoticComponent<({
|
|
2
|
+
declare const ChatInfo: import("react").MemoExoticComponent<({ conversationId, onBack, onPressSearch, onPressMedia, onPressOrders, onPressCreateGroup, onPressAddToGroup, }: ChatInfoProps) => import("react").JSX.Element>;
|
|
3
3
|
export default ChatInfo;
|
|
4
4
|
//# sourceMappingURL=ChatInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChatInfo.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfo.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,QAAA,MAAM,QAAQ,uJAST,aAAa,iCAsCjB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { type ConversationItem } from '@droppii/openim-rn-client-sdk';
|
|
2
2
|
interface ChatInfoProfileProps {
|
|
3
3
|
conversation?: ConversationItem;
|
|
4
|
-
targetUserId?: string;
|
|
5
4
|
onPressSearch?: () => void;
|
|
6
5
|
}
|
|
7
|
-
declare const ChatInfoProfile: import("react").MemoExoticComponent<({ conversation,
|
|
6
|
+
declare const ChatInfoProfile: import("react").MemoExoticComponent<({ conversation, onPressSearch }: ChatInfoProfileProps) => import("react").JSX.Element>;
|
|
8
7
|
export default ChatInfoProfile;
|
|
9
8
|
//# sourceMappingURL=ChatInfoProfile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatInfoProfile.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoProfile.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatInfoProfile.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/ChatInfoProfile.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,+BAA+B,CAAC;AAwCvC,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,QAAA,MAAM,eAAe,wEACe,oBAAoB,iCAoFvD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import type { DThreadResourceContentType } from '../../types/chat';
|
|
2
2
|
export interface ChatInfoProps {
|
|
3
|
-
|
|
4
|
-
targetUserId?: string;
|
|
5
|
-
targetGroupId?: string;
|
|
6
|
-
targetBotId?: string;
|
|
3
|
+
conversationId?: string;
|
|
7
4
|
onBack?: () => void;
|
|
8
5
|
onPressSearch?: () => void;
|
|
9
6
|
onPressMedia?: (tab: DThreadResourceContentType) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/ChatInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,0BAA0B,KAAK,IAAI,CAAC;IACzD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/MediaView/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/screens/MediaView/index.tsx"],"names":[],"mappings":"AA2CA,UAAU,iBAAiB;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,QAAA,MAAM,iBAAiB,GAAI,OAAO,iBAAiB,gCAkPlD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ChatDetailProps } from './types';
|
|
2
|
-
declare const ChatDetail: import("react").MemoExoticComponent<({ targetConversationId, targetUserId, targetGroupId, targetBotId, showAddMember, onBack, onPressSearch, onPressAddMember, onPressMenu,
|
|
2
|
+
declare const ChatDetail: import("react").MemoExoticComponent<({ targetConversationId, targetUserId, targetGroupId, targetBotId, showAddMember, onBack, onPressSearch, onPressAddMember, onPressMenu, onPressUrl, customMessageItemFactory, pannelActions, }: ChatDetailProps) => import("react").JSX.Element>;
|
|
3
3
|
export default ChatDetail;
|
|
4
4
|
//# sourceMappingURL=ChatDetail.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ChatDetail.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatDetail.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAa/C,QAAA,MAAM,UAAU,sOAcX,eAAe,iCA+JnB,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatListLegend.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/ChatListLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,OAAiB,EAIf,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA6B7C,UAAU,2BAA4B,SAAQ,aAAa;IACzD,OAAO,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,kBAAkB,EAAE,CAAC,IAAI,EAAE;QACzB,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;KACxB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,kRAkBtB,2BAA2B,iCA0b/B,CAAC"}
|
|
@@ -36,7 +36,7 @@ export interface ChatDetailHeaderProps {
|
|
|
36
36
|
onBack?: () => void;
|
|
37
37
|
onPressSearch?: () => void;
|
|
38
38
|
onPressAddMember?: () => void;
|
|
39
|
-
onPressMenu?: () => void;
|
|
39
|
+
onPressMenu?: (conversationId?: string) => void;
|
|
40
40
|
onPressAvatar?: () => void;
|
|
41
41
|
conversationId: string;
|
|
42
42
|
targetUserId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,CAAC;AAE9E,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,wBAAwB,GAAG,yBAAyB,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,EAAE,EAAE,wBAAwB,CAAC;CAC9B;AACD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,EAAE,EAAE,yBAAyB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/screens/chat-detail/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,YAAY,CAAC;AAE9E,oBAAY,yBAAyB;IACnC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;CACxC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,wBAAwB,GAAG,yBAAyB,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,EAAE,EAAE,wBAAwB,CAAC;CAC9B;AACD,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,EAAE,EAAE,yBAAyB,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,aAAa,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;IAC5E,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,CAAC;CAC1E;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,qBAAqB,EACrB,eAAe,GAAG,gBAAgB,CACnC;IACC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC;IAC5D,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACrC"}
|
package/package.json
CHANGED
|
@@ -35,6 +35,42 @@ const calcDisplayDims = (
|
|
|
35
35
|
return { width: Math.round(finalWidth), height: Math.round(finalHeight) };
|
|
36
36
|
};
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Single source of truth for "what size will `ImageMessage` render this
|
|
40
|
+
* message at" — used both by the component itself and by
|
|
41
|
+
* `ChatListLegend`'s `getFixedItemSize` (must predict the exact same size the
|
|
42
|
+
* component ends up rendering, or the list permanently reserves the wrong
|
|
43
|
+
* height for it). Mirrors the component's own metaWidth/metaHeight → cache →
|
|
44
|
+
* `DEFAULT_DIMS` fallback chain exactly.
|
|
45
|
+
*/
|
|
46
|
+
export const resolveImageDisplayDims = (
|
|
47
|
+
message: unknown,
|
|
48
|
+
windowWidth: number
|
|
49
|
+
): { width: number; height: number } => {
|
|
50
|
+
const pictureElem = (message as any)?.pictureElem;
|
|
51
|
+
const rawImageUrl =
|
|
52
|
+
pictureElem?.snapshotPicture?.url ||
|
|
53
|
+
pictureElem?.bigPicture?.url ||
|
|
54
|
+
pictureElem?.sourcePicture?.url;
|
|
55
|
+
if (!rawImageUrl) return DEFAULT_DIMS;
|
|
56
|
+
|
|
57
|
+
const metaWidth =
|
|
58
|
+
pictureElem?.bigPicture?.width ||
|
|
59
|
+
pictureElem?.snapshotPicture?.width ||
|
|
60
|
+
pictureElem?.width;
|
|
61
|
+
const metaHeight =
|
|
62
|
+
pictureElem?.bigPicture?.height ||
|
|
63
|
+
pictureElem?.snapshotPicture?.height ||
|
|
64
|
+
pictureElem?.height;
|
|
65
|
+
|
|
66
|
+
const cachedDims = dimsCache.get(rawImageUrl);
|
|
67
|
+
const srcWidth = metaWidth || cachedDims?.width;
|
|
68
|
+
const srcHeight = metaHeight || cachedDims?.height;
|
|
69
|
+
if (!srcWidth || !srcHeight) return DEFAULT_DIMS;
|
|
70
|
+
|
|
71
|
+
return calcDisplayDims(srcWidth, srcHeight, windowWidth);
|
|
72
|
+
};
|
|
73
|
+
|
|
38
74
|
export const ImageMessage = memo(
|
|
39
75
|
({ message, onMediaPress }: BaseLegendMessageProps) => {
|
|
40
76
|
const windowWidth = useWindowDimensions().width;
|
|
@@ -54,22 +90,16 @@ export const ImageMessage = memo(
|
|
|
54
90
|
pictureElem?.snapshotPicture?.height ||
|
|
55
91
|
pictureElem?.height;
|
|
56
92
|
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (!rawImageUrl) return DEFAULT_DIMS;
|
|
68
|
-
const srcWidth = metaWidth || loadedDims?.width;
|
|
69
|
-
const srcHeight = metaHeight || loadedDims?.height;
|
|
70
|
-
if (!srcWidth || !srcHeight) return DEFAULT_DIMS;
|
|
71
|
-
return calcDisplayDims(srcWidth, srcHeight, windowWidth);
|
|
72
|
-
}, [metaWidth, metaHeight, loadedDims, rawImageUrl, windowWidth]);
|
|
93
|
+
// Bumped after `onLoad` caches real dims — `resolveImageDisplayDims` reads
|
|
94
|
+
// the shared module-level cache fresh each call, so this state's only job
|
|
95
|
+
// is to force `imageDimensions` to recompute once that cache is populated.
|
|
96
|
+
const [loadDimsVersion, setLoadDimsVersion] = useState(0);
|
|
97
|
+
|
|
98
|
+
const imageDimensions = useMemo(
|
|
99
|
+
() => resolveImageDisplayDims(message, windowWidth),
|
|
100
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
101
|
+
[message, windowWidth, loadDimsVersion]
|
|
102
|
+
);
|
|
73
103
|
|
|
74
104
|
const handleLoad = useCallback(
|
|
75
105
|
(e: any) => {
|
|
@@ -77,9 +107,8 @@ export const ImageMessage = memo(
|
|
|
77
107
|
if (!metaWidth || !metaHeight) {
|
|
78
108
|
const { width, height } = e?.nativeEvent ?? {};
|
|
79
109
|
if (width && height) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
setLoadedDims(dims);
|
|
110
|
+
if (rawImageUrl) cacheDims(rawImageUrl, { width, height });
|
|
111
|
+
setLoadDimsVersion((v) => v + 1);
|
|
83
112
|
}
|
|
84
113
|
}
|
|
85
114
|
},
|
|
@@ -3,7 +3,7 @@ import type { BaseLegendMessageProps } from '../types';
|
|
|
3
3
|
import { KContainer, KImage } from '@droppii/libs';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
|
|
6
|
-
const STICKER_SIZE = 120;
|
|
6
|
+
export const STICKER_SIZE = 120;
|
|
7
7
|
export const StickerMessage = memo(({ message }: BaseLegendMessageProps) => {
|
|
8
8
|
return (
|
|
9
9
|
<KContainer.View style={styles.message}>
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { memo } from 'react';
|
|
2
2
|
import { KContainer, KNavigation } from '@droppii/libs';
|
|
3
3
|
import { useNavigation } from '@react-navigation/native';
|
|
4
|
-
import {
|
|
5
|
-
useGetConversationDetail,
|
|
6
|
-
useGetConversationTarget,
|
|
7
|
-
} from '../../hooks/conversation/useGetConversationDetail';
|
|
4
|
+
import { useGetConversationTarget } from '../../hooks/conversation/useGetConversationDetail';
|
|
8
5
|
import { useConversation } from '../../store';
|
|
9
6
|
import ChatInfoProfile from './ChatInfoProfile';
|
|
10
7
|
import ChatInfoMediaRow from './ChatInfoMediaRow';
|
|
@@ -14,10 +11,7 @@ import { trans } from '../../translation';
|
|
|
14
11
|
|
|
15
12
|
const ChatInfo = memo(
|
|
16
13
|
({
|
|
17
|
-
|
|
18
|
-
targetUserId = '',
|
|
19
|
-
targetGroupId = '',
|
|
20
|
-
targetBotId = '',
|
|
14
|
+
conversationId = '',
|
|
21
15
|
onBack,
|
|
22
16
|
onPressSearch,
|
|
23
17
|
onPressMedia,
|
|
@@ -27,13 +21,6 @@ const ChatInfo = memo(
|
|
|
27
21
|
}: ChatInfoProps) => {
|
|
28
22
|
const navigation = useNavigation();
|
|
29
23
|
|
|
30
|
-
const { conversationId } = useGetConversationDetail({
|
|
31
|
-
targetConversationId,
|
|
32
|
-
targetUserId,
|
|
33
|
-
targetGroupId,
|
|
34
|
-
targetBotId,
|
|
35
|
-
});
|
|
36
|
-
|
|
37
24
|
const conversation = useConversation(conversationId);
|
|
38
25
|
const { data: target } = useGetConversationTarget(conversationId);
|
|
39
26
|
const isTargetActive = target ? target.isActive : true;
|
|
@@ -55,7 +42,6 @@ const ChatInfo = memo(
|
|
|
55
42
|
<KContainer.ScrollView showsVerticalScrollIndicator={false}>
|
|
56
43
|
<ChatInfoProfile
|
|
57
44
|
conversation={conversation}
|
|
58
|
-
targetUserId={targetUserId}
|
|
59
45
|
onPressSearch={onPressSearch}
|
|
60
46
|
/>
|
|
61
47
|
<ChatInfoMediaRow onPressMedia={onPressMedia} />
|