@droppii-org/chat-mobile 0.2.79 → 0.2.81
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/BubbleTail.js +31 -0
- package/lib/module/components/messages/BubbleTail.js.map +1 -0
- package/lib/module/components/messages/BubbleTailRow.js +46 -0
- package/lib/module/components/messages/BubbleTailRow.js.map +1 -0
- package/lib/module/components/messages/bubbleTail.utils.js +19 -0
- package/lib/module/components/messages/bubbleTail.utils.js.map +1 -0
- package/lib/module/components/messages/fileMessage/index.js +72 -65
- package/lib/module/components/messages/fileMessage/index.js.map +1 -1
- package/lib/module/components/messages/imageMessage/index.js +23 -17
- package/lib/module/components/messages/imageMessage/index.js.map +1 -1
- package/lib/module/components/messages/linkMessage/index.js +11 -23
- package/lib/module/components/messages/linkMessage/index.js.map +1 -1
- package/lib/module/components/messages/mergedMessage/index.js +14 -7
- package/lib/module/components/messages/mergedMessage/index.js.map +1 -1
- package/lib/module/components/messages/quotedMessage/index.js +11 -23
- package/lib/module/components/messages/quotedMessage/index.js.map +1 -1
- package/lib/module/components/messages/revokedMessage/index.js +14 -7
- package/lib/module/components/messages/revokedMessage/index.js.map +1 -1
- package/lib/module/components/messages/stickerMessage/index.js +13 -7
- package/lib/module/components/messages/stickerMessage/index.js.map +1 -1
- package/lib/module/components/messages/textMessage/index.js +11 -26
- package/lib/module/components/messages/textMessage/index.js.map +1 -1
- package/lib/module/components/messages/types.js.map +1 -1
- package/lib/module/components/messages/videoMessage/index.js +16 -8
- package/lib/module/components/messages/videoMessage/index.js.map +1 -1
- package/lib/module/config/api-endpoints.js +2 -1
- package/lib/module/config/api-endpoints.js.map +1 -1
- package/lib/module/hooks/contacts/useSearchContacts.js +50 -0
- package/lib/module/hooks/contacts/useSearchContacts.js.map +1 -0
- package/lib/module/hooks/groups/useDismissGroup.js +2 -1
- package/lib/module/hooks/groups/useDismissGroup.js.map +1 -1
- package/lib/module/hooks/query-keys.js +4 -0
- package/lib/module/hooks/query-keys.js.map +1 -1
- package/lib/module/screens/SearchConversation/ContactResultItem.js +119 -0
- package/lib/module/screens/SearchConversation/ContactResultItem.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchAllResult.js +26 -20
- package/lib/module/screens/SearchConversation/SearchAllResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchCommunityResult.js +79 -0
- package/lib/module/screens/SearchConversation/SearchCommunityResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchContactsResult.js +117 -0
- package/lib/module/screens/SearchConversation/SearchContactsResult.js.map +1 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js +2 -0
- package/lib/module/screens/SearchConversation/SearchEmpty.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js +1 -8
- package/lib/module/screens/SearchConversation/SearchMessagesResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/SearchResultItem.js +2 -0
- package/lib/module/screens/SearchConversation/SearchResultItem.js.map +1 -1
- package/lib/module/screens/SearchConversation/TabResult.js +24 -7
- package/lib/module/screens/SearchConversation/TabResult.js.map +1 -1
- package/lib/module/screens/SearchConversation/index.js +6 -2
- package/lib/module/screens/SearchConversation/index.js.map +1 -1
- package/lib/module/screens/SearchConversation/types.js +1 -0
- package/lib/module/screens/SearchConversation/types.js.map +1 -1
- package/lib/module/screens/chat-detail/ChatListLegend.js +71 -21
- package/lib/module/screens/chat-detail/ChatListLegend.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js +8 -2
- package/lib/module/screens/chat-detail/legend/LegendChatDay.js.map +1 -1
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js +38 -13
- package/lib/module/screens/chat-detail/legend/LegendChatMessage.js.map +1 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js +11 -1
- package/lib/module/screens/chat-detail/messageToolbox/MessageToolboxWrapper.js.map +1 -1
- package/lib/module/services/endpoints.js +2 -1
- package/lib/module/services/endpoints.js.map +1 -1
- package/lib/module/translation/resources/i18n.js +6 -0
- package/lib/module/translation/resources/i18n.js.map +1 -1
- package/lib/module/types/chat.js +8 -0
- package/lib/module/types/chat.js.map +1 -1
- package/lib/module/utils/dateTimeUtils.js +10 -0
- package/lib/module/utils/dateTimeUtils.js.map +1 -1
- package/lib/module/utils/highlightSearch.js +6 -2
- package/lib/module/utils/highlightSearch.js.map +1 -1
- package/lib/module/utils/legendListMessage.js +86 -12
- package/lib/module/utils/legendListMessage.js.map +1 -1
- package/lib/module/utils/message.js +19 -1
- package/lib/module/utils/message.js.map +1 -1
- package/lib/module/utils/messageUtils.js +16 -2
- package/lib/module/utils/messageUtils.js.map +1 -1
- package/lib/typescript/src/components/messages/BubbleTail.d.ts +13 -0
- package/lib/typescript/src/components/messages/BubbleTail.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/BubbleTailRow.d.ts +25 -0
- package/lib/typescript/src/components/messages/BubbleTailRow.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts +11 -0
- package/lib/typescript/src/components/messages/bubbleTail.utils.d.ts.map +1 -0
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/fileMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/imageMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/linkMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/mergedMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/mergedMessage/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/revokedMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/revokedMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/stickerMessage/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 +3 -0
- package/lib/typescript/src/components/messages/types.d.ts.map +1 -1
- package/lib/typescript/src/components/messages/videoMessage/index.d.ts +1 -1
- package/lib/typescript/src/components/messages/videoMessage/index.d.ts.map +1 -1
- package/lib/typescript/src/config/api-endpoints.d.ts +1 -0
- package/lib/typescript/src/config/api-endpoints.d.ts.map +1 -1
- package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts +221 -0
- package/lib/typescript/src/hooks/contacts/useSearchContacts.d.ts.map +1 -0
- package/lib/typescript/src/hooks/groups/useDismissGroup.d.ts.map +1 -1
- package/lib/typescript/src/hooks/query-keys.d.ts +4 -0
- package/lib/typescript/src/hooks/query-keys.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts +9 -0
- package/lib/typescript/src/screens/SearchConversation/ContactResultItem.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts +3 -2
- package/lib/typescript/src/screens/SearchConversation/SearchAllResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts +7 -0
- package/lib/typescript/src/screens/SearchConversation/SearchCommunityResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts +8 -0
- package/lib/typescript/src/screens/SearchConversation/SearchContactsResult.d.ts.map +1 -0
- package/lib/typescript/src/screens/SearchConversation/SearchEmpty.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchMessagesResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/SearchResultItem.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts +4 -2
- package/lib/typescript/src/screens/SearchConversation/TabResult.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/index.d.ts +4 -2
- package/lib/typescript/src/screens/SearchConversation/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/SearchConversation/types.d.ts +2 -1
- package/lib/typescript/src/screens/SearchConversation/types.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/legend/LegendChatDay.d.ts +6 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatDay.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts +14 -1
- package/lib/typescript/src/screens/chat-detail/legend/LegendChatMessage.d.ts.map +1 -1
- package/lib/typescript/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.d.ts.map +1 -1
- package/lib/typescript/src/services/endpoints.d.ts +1 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
- package/lib/typescript/src/translation/resources/i18n.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +27 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/utils/dateTimeUtils.d.ts +2 -0
- package/lib/typescript/src/utils/dateTimeUtils.d.ts.map +1 -1
- package/lib/typescript/src/utils/highlightSearch.d.ts.map +1 -1
- package/lib/typescript/src/utils/legendListMessage.d.ts +19 -4
- package/lib/typescript/src/utils/legendListMessage.d.ts.map +1 -1
- package/lib/typescript/src/utils/message.d.ts +17 -0
- package/lib/typescript/src/utils/message.d.ts.map +1 -1
- package/lib/typescript/src/utils/messageUtils.d.ts +1 -0
- package/lib/typescript/src/utils/messageUtils.d.ts.map +1 -1
- package/package.json +3 -1
- package/src/build-ignore.d.ts +2 -0
- package/src/components/messages/BubbleTail.tsx +35 -0
- package/src/components/messages/BubbleTailRow.tsx +64 -0
- package/src/components/messages/bubbleTail.utils.ts +21 -0
- package/src/components/messages/fileMessage/index.tsx +90 -83
- package/src/components/messages/imageMessage/index.tsx +26 -23
- package/src/components/messages/linkMessage/index.tsx +6 -18
- package/src/components/messages/mergedMessage/index.tsx +27 -15
- package/src/components/messages/quotedMessage/index.tsx +7 -19
- package/src/components/messages/revokedMessage/index.tsx +23 -14
- package/src/components/messages/stickerMessage/index.tsx +16 -11
- package/src/components/messages/textMessage/index.tsx +6 -22
- package/src/components/messages/types.ts +3 -0
- package/src/components/messages/videoMessage/index.tsx +13 -10
- package/src/config/api-endpoints.ts +2 -0
- package/src/hooks/contacts/useSearchContacts.ts +66 -0
- package/src/hooks/groups/useDismissGroup.tsx +1 -0
- package/src/hooks/query-keys.ts +6 -0
- package/src/screens/SearchConversation/ContactResultItem.tsx +128 -0
- package/src/screens/SearchConversation/SearchAllResult.tsx +38 -24
- package/src/screens/SearchConversation/SearchCommunityResult.tsx +96 -0
- package/src/screens/SearchConversation/SearchContactsResult.tsx +155 -0
- package/src/screens/SearchConversation/SearchEmpty.tsx +2 -0
- package/src/screens/SearchConversation/SearchMessagesResult.tsx +1 -6
- package/src/screens/SearchConversation/SearchResultItem.tsx +6 -1
- package/src/screens/SearchConversation/TabResult.tsx +40 -5
- package/src/screens/SearchConversation/index.tsx +10 -2
- package/src/screens/SearchConversation/types.tsx +1 -0
- package/src/screens/chat-detail/ChatListLegend.tsx +97 -28
- package/src/screens/chat-detail/legend/LegendChatDay.tsx +25 -15
- package/src/screens/chat-detail/legend/LegendChatMessage.tsx +62 -12
- package/src/screens/chat-detail/messageToolbox/MessageToolboxWrapper.tsx +22 -4
- package/src/services/endpoints.ts +1 -0
- package/src/translation/resources/i18n.ts +6 -0
- package/src/types/chat.ts +30 -0
- package/src/utils/dateTimeUtils.ts +15 -0
- package/src/utils/highlightSearch.ts +12 -2
- package/src/utils/legendListMessage.ts +123 -14
- package/src/utils/message.ts +19 -1
- package/src/utils/messageUtils.ts +23 -9
|
@@ -8,15 +8,21 @@ import { SearchConversationTabResultType } from "./types.js";
|
|
|
8
8
|
import { trans } from "../../translation/index.js";
|
|
9
9
|
import SearchMessagesResult from "./SearchMessagesResult.js";
|
|
10
10
|
import SearchAllResult from "./SearchAllResult.js";
|
|
11
|
+
import SearchContactsResult from "./SearchContactsResult.js";
|
|
12
|
+
import SearchCommunityResult from "./SearchCommunityResult.js";
|
|
11
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
14
|
const TabRoutes = [{
|
|
13
15
|
key: SearchConversationTabResultType.All,
|
|
14
16
|
title: trans('all')
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
}, {
|
|
18
|
+
key: SearchConversationTabResultType.Conversations,
|
|
19
|
+
title: trans('contacts')
|
|
20
|
+
}, {
|
|
18
21
|
key: SearchConversationTabResultType.Messages,
|
|
19
22
|
title: trans('messages')
|
|
23
|
+
}, {
|
|
24
|
+
key: SearchConversationTabResultType.Community,
|
|
25
|
+
title: trans('community')
|
|
20
26
|
}];
|
|
21
27
|
const CustomTabBar = /*#__PURE__*/memo(({
|
|
22
28
|
routes,
|
|
@@ -42,7 +48,9 @@ const CustomTabBar = /*#__PURE__*/memo(({
|
|
|
42
48
|
}));
|
|
43
49
|
const SearchConversationTabResult = /*#__PURE__*/memo(({
|
|
44
50
|
searchTerm,
|
|
45
|
-
onPressItem
|
|
51
|
+
onPressItem,
|
|
52
|
+
onPressSearchContact,
|
|
53
|
+
onPressGroup
|
|
46
54
|
}) => {
|
|
47
55
|
const [index, setIndex] = useState(0);
|
|
48
56
|
const [routes] = useState(TabRoutes);
|
|
@@ -57,19 +65,28 @@ const SearchConversationTabResult = /*#__PURE__*/memo(({
|
|
|
57
65
|
return /*#__PURE__*/_jsx(SearchAllResult, {
|
|
58
66
|
searchTerm: searchTerm,
|
|
59
67
|
handleChangeTab: handleChangeTab,
|
|
60
|
-
onPressItem: onPressItem
|
|
68
|
+
onPressItem: onPressItem,
|
|
69
|
+
onPressSearchContact: onPressSearchContact
|
|
61
70
|
});
|
|
62
71
|
case SearchConversationTabResultType.Conversations:
|
|
63
|
-
return
|
|
72
|
+
return /*#__PURE__*/_jsx(SearchContactsResult, {
|
|
73
|
+
searchTerm: searchTerm,
|
|
74
|
+
onPressSearchContact: onPressSearchContact
|
|
75
|
+
});
|
|
64
76
|
case SearchConversationTabResultType.Messages:
|
|
65
77
|
return /*#__PURE__*/_jsx(SearchMessagesResult, {
|
|
66
78
|
searchTerm: searchTerm,
|
|
67
79
|
onPressItem: onPressItem
|
|
68
80
|
});
|
|
81
|
+
case SearchConversationTabResultType.Community:
|
|
82
|
+
return /*#__PURE__*/_jsx(SearchCommunityResult, {
|
|
83
|
+
searchTerm: searchTerm,
|
|
84
|
+
onPressGroup: onPressGroup
|
|
85
|
+
});
|
|
69
86
|
default:
|
|
70
87
|
return null;
|
|
71
88
|
}
|
|
72
|
-
}, [searchTerm, handleChangeTab, onPressItem]);
|
|
89
|
+
}, [searchTerm, handleChangeTab, onPressItem, onPressSearchContact, onPressGroup]);
|
|
73
90
|
const renderTabBar = useCallback(() => /*#__PURE__*/_jsx(CustomTabBar, {
|
|
74
91
|
routes: routes,
|
|
75
92
|
index: index,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KColors","KContainer","KLabel","KRadiusValue","KSpacingValue","memo","useCallback","useState","StyleSheet","TabView","SearchConversationTabResultType","trans","SearchMessagesResult","SearchAllResult","jsx","_jsx","jsxs","_jsxs","TabRoutes","key","All","title","Messages","CustomTabBar","routes","index","onPress","View","style","styles","tabRow","children","map","route","i","isActive","Touchable","tabItem","activeOpacity","Text","typo","color","primary","normal","gray","light","indicator","SearchConversationTabResult","searchTerm","onPressItem","setIndex","handleChangeTab","findIndex","renderScene","
|
|
1
|
+
{"version":3,"names":["KColors","KContainer","KLabel","KRadiusValue","KSpacingValue","memo","useCallback","useState","StyleSheet","TabView","SearchConversationTabResultType","trans","SearchMessagesResult","SearchAllResult","SearchContactsResult","SearchCommunityResult","jsx","_jsx","jsxs","_jsxs","TabRoutes","key","All","title","Conversations","Messages","Community","CustomTabBar","routes","index","onPress","View","style","styles","tabRow","children","map","route","i","isActive","Touchable","tabItem","activeOpacity","Text","typo","color","primary","normal","gray","light","indicator","SearchConversationTabResult","searchTerm","onPressItem","onPressSearchContact","onPressGroup","setIndex","handleChangeTab","findIndex","renderScene","renderTabBar","flex","navigationState","onIndexChange","swipeEnabled","length","lazy","create","flexDirection","borderBottomWidth","borderBottomColor","border","paddingVertical","height","marginHorizontal","justifyContent","alignItems","backgroundColor","width","borderRadius","x","position","bottom","left","right"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/TabResult.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,9 @@ import debounce from 'lodash/debounce';
|
|
|
8
8
|
import SearchConversationTabResult from "./TabResult.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
const SearchConversationScreen = /*#__PURE__*/memo(({
|
|
11
|
-
onPressItem
|
|
11
|
+
onPressItem,
|
|
12
|
+
onPressSearchContact,
|
|
13
|
+
onPressGroup
|
|
12
14
|
}) => {
|
|
13
15
|
const nav = useNavigation();
|
|
14
16
|
const [inputValue, setInputValue] = useState('');
|
|
@@ -53,7 +55,9 @@ const SearchConversationScreen = /*#__PURE__*/memo(({
|
|
|
53
55
|
}
|
|
54
56
|
}), /*#__PURE__*/_jsx(SearchConversationTabResult, {
|
|
55
57
|
searchTerm: searchTerm,
|
|
56
|
-
onPressItem: onPressItem
|
|
58
|
+
onPressItem: onPressItem,
|
|
59
|
+
onPressSearchContact: onPressSearchContact,
|
|
60
|
+
onPressGroup: onPressGroup
|
|
57
61
|
})]
|
|
58
62
|
});
|
|
59
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KColors","KContainer","KNavigation","memo","useCallback","useEffect","useRef","useState","useNavigation","trans","debounce","SearchConversationTabResult","jsx","_jsx","jsxs","_jsxs","SearchConversationScreen","onPressItem","nav","inputValue","setInputValue","searchTerm","setSearchTerm","searchInputRef","debouncedSearch","text","leading","trailing","current","cancel","handleChangeText","Page","flex","background","white","edges","children","HeaderV2Body","theme","size","isNested","leftButton","id","icon","vectorName","onPress","goBack","searchProps","position","placeholder","onChangeText","ref","returnKeyType","value","autoFocus","palette","gray","w25","br","searchIconLeftColor","normal","marginL","undefined"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AAChE,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,KAAK,QAAQ,4BAAmB;AACzC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,2BAA2B,MAAM,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["KColors","KContainer","KNavigation","memo","useCallback","useEffect","useRef","useState","useNavigation","trans","debounce","SearchConversationTabResult","jsx","_jsx","jsxs","_jsxs","SearchConversationScreen","onPressItem","onPressSearchContact","onPressGroup","nav","inputValue","setInputValue","searchTerm","setSearchTerm","searchInputRef","debouncedSearch","text","leading","trailing","current","cancel","handleChangeText","Page","flex","background","white","edges","children","HeaderV2Body","theme","size","isNested","leftButton","id","icon","vectorName","onPress","goBack","searchProps","position","placeholder","onChangeText","ref","returnKeyType","value","autoFocus","palette","gray","w25","br","searchIconLeftColor","normal","marginL","undefined"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/index.tsx"],"mappings":";;AAAA,SAASA,OAAO,EAAEC,UAAU,EAAEC,WAAW,QAAQ,eAAe;AAChE,SAASC,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACtE,SAASC,aAAa,QAAQ,0BAA0B;AACxD,SAASC,KAAK,QAAQ,4BAAmB;AACzC,OAAOC,QAAQ,MAAM,iBAAiB;AAEtC,OAAOC,2BAA2B,MAAM,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQtD,MAAMC,wBAAwB,gBAAGb,IAAI,CACnC,CAAC;EACCc,WAAW;EACXC,oBAAoB;EACpBC;AAC6B,CAAC,KAAK;EACnC,MAAMC,GAAG,GAAGZ,aAAa,CAAC,CAAC;EAC3B,MAAM,CAACa,UAAU,EAAEC,aAAa,CAAC,GAAGf,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM,CAACgB,UAAU,EAAEC,aAAa,CAAC,GAAGjB,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAMkB,cAAc,GAAGnB,MAAM,CAAY,IAAI,CAAC;EAE9C,MAAMoB,eAAe,GAAGpB,MAAM,CAC5BI,QAAQ,CAAEiB,IAAY,IAAKH,aAAa,CAACG,IAAI,CAAC,EAAE,GAAG,EAAE;IACnDC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC,CACH,CAAC,CAACC,OAAO;EAETzB,SAAS,CAAC,MAAM,MAAMqB,eAAe,CAACK,MAAM,CAAC,CAAC,EAAE,CAACL,eAAe,CAAC,CAAC;EAElE,MAAMM,gBAAgB,GAAG5B,WAAW,CACjCuB,IAAY,IAAK;IAChBL,aAAa,CAACK,IAAI,CAAC;IACnBD,eAAe,CAACC,IAAI,CAAC;EACvB,CAAC,EACD,CAACD,eAAe,CAClB,CAAC;EAED,oBACEX,KAAA,CAACd,UAAU,CAACgC,IAAI;IAACC,IAAI;IAACC,UAAU,EAAEnC,OAAO,CAACoC,KAAM;IAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;IAAAC,QAAA,gBACjEzB,IAAA,CAACX,WAAW,CAACqC,YAAY;MACvBC,KAAK,EAAC,OAAO;MACbC,IAAI,EAAC,OAAO;MACZC,QAAQ;MACRC,UAAU,EAAE;QACVC,EAAE,EAAE,MAAM;QACVC,IAAI,EAAE;UAAEC,UAAU,EAAE;QAAe,CAAC;QACpCC,OAAO,EAAE3B,GAAG,CAAC4B;MACf,CAAE;MACFC,WAAW,EAAE;QACXC,QAAQ,EAAE,QAAQ;QAClBC,WAAW,EAAE1C,KAAK,CAAC,QAAQ,CAAC;QAC5B2C,YAAY,EAAEpB,gBAAgB;QAC9BqB,GAAG,EAAE5B,cAAqB;QAC1B6B,aAAa,EAAE,QAAQ;QACvBC,KAAK,EAAElC,UAAU;QACjBmC,SAAS,EAAE,IAAI;QACfrB,UAAU,EAAEnC,OAAO,CAACyD,OAAO,CAACC,IAAI,CAACC,GAAG;QACpCC,EAAE,EAAE,IAAI;QACRC,mBAAmB,EAAE7D,OAAO,CAAC0D,IAAI,CAACI,MAAM;QACxCC,OAAO,EAAEC;MACX;IAAE,CACH,CAAC,eACFnD,IAAA,CAACF,2BAA2B;MAC1BY,UAAU,EAAEA,UAAW;MACvBN,WAAW,EAAEA,WAAY;MACzBC,oBAAoB,EAAEA,oBAAqB;MAC3CC,YAAY,EAAEA;IAAa,CAC5B,CAAC;EAAA,CACa,CAAC;AAEtB,CACF,CAAC;AAED,eAAeH,wBAAwB","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ export let SearchConversationTabResultType = /*#__PURE__*/function (SearchConver
|
|
|
4
4
|
SearchConversationTabResultType["All"] = "all";
|
|
5
5
|
SearchConversationTabResultType["Conversations"] = "conversations";
|
|
6
6
|
SearchConversationTabResultType["Messages"] = "messages";
|
|
7
|
+
SearchConversationTabResultType["Community"] = "community";
|
|
7
8
|
return SearchConversationTabResultType;
|
|
8
9
|
}({});
|
|
9
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SearchConversationTabResultType"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/types.tsx"],"mappings":";;AAAA,WAAYA,+BAA+B,0BAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAAA,OAA/BA,+BAA+B;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["SearchConversationTabResultType"],"sourceRoot":"../../../../src","sources":["screens/SearchConversation/types.tsx"],"mappings":";;AAAA,WAAYA,+BAA+B,0BAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAA/BA,+BAA+B;EAAA,OAA/BA,+BAA+B;AAAA","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { KeyboardAwareLegendList } from '@legendapp/list/keyboard';
|
|
|
7
7
|
import { LegendList } from '@legendapp/list/react-native';
|
|
8
8
|
import { KContainer, KColors, KSpacingValue, KLabel, KRadiusValue, KImage } from '@droppii/libs';
|
|
9
9
|
import { precomputeLegendListData } from "../../utils/legendListMessage.js";
|
|
10
|
+
import { getMessageRenderId } from "../../utils/message.js";
|
|
10
11
|
import { LegendChatMessage } from "./legend/LegendChatMessage.js";
|
|
11
12
|
import { LegendChatDay } from "./legend/LegendChatDay.js";
|
|
12
13
|
import { LegendChatLoadEarlier } from "./legend/LegendChatLoadEarlier.js";
|
|
@@ -19,18 +20,23 @@ import { ChatEvent } from "../../types/events.js";
|
|
|
19
20
|
import { useMessageStore } from "../../store/message.js";
|
|
20
21
|
import { useChatContext } from "../../context/index.js";
|
|
21
22
|
import { messageStyles } from "./legend/messageTypes.js";
|
|
22
|
-
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
23
|
+
import { MessageType, PeerType } from '@droppii/openim-rn-client-sdk';
|
|
23
24
|
import { useUserStore } from "../../store/index.js";
|
|
24
25
|
import { ChatMessageAPI } from "../../services/index.js";
|
|
25
26
|
import { resolveImageDisplayDims } from "../../components/messages/imageMessage/index.js";
|
|
26
27
|
import { STICKER_SIZE } from "../../components/messages/stickerMessage/index.js";
|
|
27
28
|
import ChatImageDimens, { CHAT_IMAGE_VIEW_SOURCE } from "../../utils/chatImageDimens.js";
|
|
28
29
|
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
30
|
+
// Cluster spacing: a wide gap after the message that closes a cluster, a tight
|
|
31
|
+
// one between messages inside it. These override the flat margin on the row
|
|
32
|
+
// wrapper (`messageRowLeft`/`messageRowRight` in `components/messages/styles.ts`),
|
|
33
|
+
// which adds only a bottom margin and no vertical padding — so a fixed-size
|
|
34
|
+
// item's true rendered height stays `content height + this margin`, and
|
|
35
|
+
// getFixedItemSize can keep folding it in.
|
|
32
36
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
33
|
-
const
|
|
37
|
+
const ROW_MARGIN_CLUSTER_END = KSpacingValue['0.5rem'];
|
|
38
|
+
const ROW_MARGIN_IN_CLUSTER = KSpacingValue['0.25rem'];
|
|
39
|
+
const getRowMarginBottom = position => position === 'last' || position === 'solo' ? ROW_MARGIN_CLUSTER_END : ROW_MARGIN_IN_CLUSTER;
|
|
34
40
|
|
|
35
41
|
// KeyboardAwareLegendList auto scroll when modal opened
|
|
36
42
|
// TODO: Convert toolbox to absolute view
|
|
@@ -57,11 +63,19 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
57
63
|
const currentUserId = useUserStore(s => s.user?.userID);
|
|
58
64
|
const windowWidth = useWindowDimensions().width;
|
|
59
65
|
// Precompute all message data in single pass (O(n))
|
|
60
|
-
const messageDataMap = useMemo(() => precomputeLegendListData(messages), [messages]);
|
|
61
66
|
const {
|
|
62
67
|
isBotConversation,
|
|
63
|
-
conversationFlow
|
|
68
|
+
conversationFlow,
|
|
69
|
+
conversation
|
|
64
70
|
} = useChatDetailContext();
|
|
71
|
+
|
|
72
|
+
// Avatar and sender name only appear in real group chats — a bot thread is
|
|
73
|
+
// a Group session too, but reads as a single counterpart.
|
|
74
|
+
const isGroupConversation = conversation?.peerType === PeerType.Group && !isBotConversation;
|
|
75
|
+
const messageDataMap = useMemo(() => precomputeLegendListData(messages, {
|
|
76
|
+
isBotConversation,
|
|
77
|
+
currentUserId
|
|
78
|
+
}), [messages, isBotConversation, currentUserId]);
|
|
65
79
|
const {
|
|
66
80
|
retryMessage
|
|
67
81
|
} = useSendMessage();
|
|
@@ -114,27 +128,35 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
114
128
|
const isOutgoing = message.sendID === currentUserId;
|
|
115
129
|
const isLastMessage = (message.clientMsgID || message.serverMsgID) === lastMessageId;
|
|
116
130
|
const isLastIncoming = !isOutgoing && isLastMessage;
|
|
117
|
-
const messageId = message
|
|
131
|
+
const messageId = getMessageRenderId(message, index);
|
|
118
132
|
const messageData = messageDataMap.get(messageId);
|
|
119
133
|
if (!messageData) {
|
|
120
134
|
return null;
|
|
121
135
|
}
|
|
122
136
|
const {
|
|
123
137
|
dayStart,
|
|
124
|
-
|
|
138
|
+
timeBreak,
|
|
139
|
+
createdAt,
|
|
140
|
+
groupPosition
|
|
125
141
|
} = messageData;
|
|
142
|
+
const showSenderGutter = isGroupConversation && !isOutgoing;
|
|
143
|
+
const showName = showSenderGutter && (groupPosition === 'first' || groupPosition === 'solo');
|
|
144
|
+
const showAvatar = showSenderGutter && (groupPosition === 'last' || groupPosition === 'solo');
|
|
126
145
|
let flowInputButtonsNodes = [];
|
|
127
146
|
if ((isLastMessage && conversationFlow?.havingBotMessage === false || isLastIncoming) && isBotConversation) {
|
|
128
147
|
flowInputButtonsNodes = getFlowInputButtonsNodes(conversationFlow?.flowCurrentStep);
|
|
129
148
|
}
|
|
130
149
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
131
|
-
children: [dayStart && /*#__PURE__*/_jsx(LegendChatDay, {
|
|
132
|
-
createdAt: createdAt
|
|
150
|
+
children: [(dayStart || timeBreak) && /*#__PURE__*/_jsx(LegendChatDay, {
|
|
151
|
+
createdAt: createdAt,
|
|
152
|
+
timeOnly: !dayStart
|
|
133
153
|
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
134
154
|
ref: node => {
|
|
135
155
|
if (node) rowRefsMap.current.set(messageId, node);else rowRefsMap.current.delete(messageId);
|
|
136
156
|
},
|
|
137
|
-
style: isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft,
|
|
157
|
+
style: [isOutgoing ? messageStyles.messageRowRight : messageStyles.messageRowLeft, {
|
|
158
|
+
marginBottom: getRowMarginBottom(groupPosition)
|
|
159
|
+
}],
|
|
138
160
|
collapsable: false,
|
|
139
161
|
children: /*#__PURE__*/_jsx(LegendChatMessage, {
|
|
140
162
|
message: message,
|
|
@@ -145,7 +167,11 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
145
167
|
onRetry: retryMessage,
|
|
146
168
|
onLongPress: onLongPress ? () => handleMessageLongPress(messageId, message) : undefined,
|
|
147
169
|
customMessageItemFactory: customMessageItemFactory,
|
|
148
|
-
isHighlighted: highlightedId === messageId
|
|
170
|
+
isHighlighted: highlightedId === messageId,
|
|
171
|
+
showName: showName,
|
|
172
|
+
showAvatar: showAvatar,
|
|
173
|
+
showSenderGutter: showSenderGutter,
|
|
174
|
+
groupPosition: groupPosition
|
|
149
175
|
})
|
|
150
176
|
}), flowInputButtonsNodes && flowInputButtonsNodes.length > 0 && /*#__PURE__*/_jsx(InputButtonFlow, {
|
|
151
177
|
nodeData: flowInputButtonsNodes,
|
|
@@ -163,7 +189,7 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
163
189
|
})
|
|
164
190
|
});
|
|
165
191
|
}
|
|
166
|
-
}, [currentUserId, lastMessageId, messageDataMap, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep, conversationFlow?.havingBotMessage, retryMessage, highlightedId]);
|
|
192
|
+
}, [currentUserId, lastMessageId, messageDataMap, isGroupConversation, isBotConversation, onMediaPress, onPressUrl, onLongPress, handleMessageLongPress, customMessageItemFactory, onResetFlow, onRunFlow, conversationFlow?.flowCurrentStep, conversationFlow?.havingBotMessage, retryMessage, highlightedId]);
|
|
167
193
|
|
|
168
194
|
// const maintainScrollConfig = useMemo(
|
|
169
195
|
// () => ({
|
|
@@ -209,8 +235,18 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
209
235
|
// guessing wrong here is a permanent regression, not just an approximation.
|
|
210
236
|
const getFixedItemSize = useCallback((item, index) => {
|
|
211
237
|
const message = item;
|
|
212
|
-
const messageId = message
|
|
213
|
-
|
|
238
|
+
const messageId = getMessageRenderId(message, index);
|
|
239
|
+
const messageData = messageDataMap.get(messageId);
|
|
240
|
+
// Both separators add chrome above the row that this function does not
|
|
241
|
+
// account for, and a resolved size is never re-measured.
|
|
242
|
+
if (messageData?.dayStart || messageData?.timeBreak) return undefined;
|
|
243
|
+
|
|
244
|
+
// Incoming rows in a group chat carry an avatar column and a sender
|
|
245
|
+
// name whose height this function cannot predict — measure them.
|
|
246
|
+
if (isGroupConversation && message.sendID !== currentUserId) {
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
249
|
+
const rowMargin = getRowMarginBottom(messageData?.groupPosition ?? 'solo');
|
|
214
250
|
|
|
215
251
|
// Resolve the content-type candidate FIRST — for every type other
|
|
216
252
|
// than these three the result is `undefined` regardless of anything
|
|
@@ -220,13 +256,13 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
220
256
|
let candidateSize;
|
|
221
257
|
switch (message.contentType) {
|
|
222
258
|
case MessageType.PictureMessage:
|
|
223
|
-
candidateSize = resolveImageDisplayDims(message, windowWidth).height +
|
|
259
|
+
candidateSize = resolveImageDisplayDims(message, windowWidth).height + rowMargin;
|
|
224
260
|
break;
|
|
225
261
|
case MessageType.VideoMessage:
|
|
226
|
-
candidateSize = ChatImageDimens.getDimensions(CHAT_IMAGE_VIEW_SOURCE.MessageListThumbnail).height +
|
|
262
|
+
candidateSize = ChatImageDimens.getDimensions(CHAT_IMAGE_VIEW_SOURCE.MessageListThumbnail).height + rowMargin;
|
|
227
263
|
break;
|
|
228
264
|
case MessageType.StickerMessage:
|
|
229
|
-
candidateSize = STICKER_SIZE +
|
|
265
|
+
candidateSize = STICKER_SIZE + rowMargin;
|
|
230
266
|
break;
|
|
231
267
|
default:
|
|
232
268
|
return undefined;
|
|
@@ -245,7 +281,21 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
245
281
|
return undefined;
|
|
246
282
|
}
|
|
247
283
|
return candidateSize;
|
|
248
|
-
}, [messageDataMap, customMessageItemFactory, currentUserId, lastMessageId, isBotConversation, conversationFlow?.flowCurrentStep, windowWidth]);
|
|
284
|
+
}, [messageDataMap, customMessageItemFactory, currentUserId, isGroupConversation, lastMessageId, isBotConversation, conversationFlow?.flowCurrentStep, windowWidth]);
|
|
285
|
+
|
|
286
|
+
// LegendList memoises each rendered item on [itemKey, item, extraData], so
|
|
287
|
+
// an item whose own object is unchanged will not re-render. Cluster
|
|
288
|
+
// position depends on a message's NEIGHBOURS, which can change while the
|
|
289
|
+
// message itself does not — prepending older history is enough to turn a
|
|
290
|
+
// 'first' into a 'middle'. messageDataMap is memoised on exactly the inputs
|
|
291
|
+
// that can move those boundaries, so including it here is what keeps a
|
|
292
|
+
// stale tail from being left behind.
|
|
293
|
+
const listExtraData = useMemo(() => ({
|
|
294
|
+
messageDataMap,
|
|
295
|
+
flowStepId: conversationFlow?.flowCurrentStep?.id ?? '',
|
|
296
|
+
lastMessageId,
|
|
297
|
+
highlightedId
|
|
298
|
+
}), [messageDataMap, conversationFlow?.flowCurrentStep?.id, lastMessageId, highlightedId]);
|
|
249
299
|
const handleStartReached = useCallback(() => {
|
|
250
300
|
if (__DEV__) {
|
|
251
301
|
console.log('[LegendList] onStartReached triggered', {
|
|
@@ -379,7 +429,7 @@ export const ChatListLegend = /*#__PURE__*/memo(({
|
|
|
379
429
|
getFixedItemSize: getFixedItemSize,
|
|
380
430
|
keyExtractor: item => String(item.clientMsgID || item.serverMsgID),
|
|
381
431
|
recycleItems: false,
|
|
382
|
-
extraData:
|
|
432
|
+
extraData: listExtraData,
|
|
383
433
|
alignItemsAtEnd: true,
|
|
384
434
|
maintainVisibleContentPosition: maintainVisiblePositionConfig,
|
|
385
435
|
freeze: freeze,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","Platform","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","LegendList","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","STICKER_SIZE","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ROW_MARGIN_BOTTOM","ListComponent","OS","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","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","highlightedId","setHighlightedId","highlightTimerRef","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","current","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","sendTime","createTime","messageData","dayStart","createdAt","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","children","View","ref","set","delete","style","messageRowRight","messageRowLeft","collapsable","createdAtTime","onRetry","isHighlighted","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","easing","out","ease","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","finally","startClientMsgId","remove","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","id","alignItemsAtEnd","maintainVisibleContentPosition","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollIndex","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","position","paddingVertical","flexGrow","bottom","zIndex","borderRadius","round","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","top","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","useEffect","useRef","useState","ActivityIndicator","DeviceEventEmitter","Platform","StyleSheet","useWindowDimensions","Animated","useSharedValue","useAnimatedStyle","withTiming","Easing","KeyboardAwareLegendList","LegendList","KContainer","KColors","KSpacingValue","KLabel","KRadiusValue","KImage","precomputeLegendListData","getMessageRenderId","LegendChatMessage","LegendChatDay","LegendChatLoadEarlier","useChatDetailContext","getFlowInputButtonsNodes","InputButtonFlow","useResetFlow","useRunFlow","useSendMessage","ChatEvent","useMessageStore","useChatContext","messageStyles","MessageType","PeerType","useUserStore","ChatMessageAPI","resolveImageDisplayDims","STICKER_SIZE","ChatImageDimens","CHAT_IMAGE_VIEW_SOURCE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ROW_MARGIN_CLUSTER_END","ROW_MARGIN_IN_CLUSTER","getRowMarginBottom","position","ListComponent","OS","ChatListLegend","messages","conversationId","customMessageItemFactory","onLoadMoreOld","moreOldLoading","hasMoreOld","onLoadMoreNew","moreNewLoading","hasMoreNew","onMediaPress","onPressUrl","onLongPress","listRef","freeze","scrollMessageToEnd","keyboardOffset","isLoading","currentUserId","s","user","userID","windowWidth","width","isBotConversation","conversationFlow","conversation","isGroupConversation","peerType","Group","messageDataMap","retryMessage","lastMessageId","last","length","clientMsgID","serverMsgID","mutate","runFlow","resetFlow","buttonOpacity","isAtBottomRef","scrollDebounceRef","undefined","rowRefsMap","Map","showBadge","setShowBadge","highlightedId","setHighlightedId","highlightTimerRef","applicationType","searchMessages","handleMessageLongPress","messageId","message","node","current","get","measureInWindow","x","y","height","onRunFlow","payload","onResetFlow","renderItem","item","index","isOutgoing","sendID","isLastMessage","isLastIncoming","messageData","dayStart","timeBreak","createdAt","groupPosition","showSenderGutter","showName","showAvatar","flowInputButtonsNodes","havingBotMessage","flowCurrentStep","children","timeOnly","View","ref","set","delete","style","messageRowRight","messageRowLeft","marginBottom","collapsable","createdAtTime","onRetry","isHighlighted","nodeData","error","__DEV__","console","styles","errorRow","Text","typo","maintainVisiblePositionConfig","data","getItemType","isCustom","contentType","getFixedItemSize","rowMargin","candidateSize","PictureMessage","VideoMessage","getDimensions","MessageListThumbnail","StickerMessage","listExtraData","flowStepId","id","handleStartReached","log","willLoad","handleEndReached","handleScroll","e","contentOffset","contentSize","layoutMeasurement","nativeEvent","isAtBottom","clearTimeout","setTimeout","value","duration","easing","out","ease","markConversationAsRead","handleScrollToBottom","animated","closeKeyboard","animatedButtonStyle","opacity","pointerEvents","bottomSubscription","addListener","ScrollToBottom","subscription","ScrollToMessage","clientMessageId","findIndex","m","scrollToIndex","viewPosition","finally","startClientMsgId","remove","flex","center","background","white","color","primary","normal","size","container","estimatedItemSize","keyExtractor","String","recycleItems","extraData","alignItemsAtEnd","maintainVisibleContentPosition","scrollEventThrottle","onScroll","contentContainerStyle","content","scrollIndicatorInsets","right","ListHeaderComponent","onStartReached","onStartReachedThreshold","onEndReached","onEndReachedThreshold","showsVerticalScrollIndicator","initialScrollIndex","scrollToBottomButton","Touchable","onPress","activeOpacity","buttonInner","accessible","accessibilityLabel","accessibilityRole","VectorIcons","name","black","badge","displayName","create","paddingVertical","flexGrow","bottom","zIndex","borderRadius","round","backgroundColor","justifyContent","alignItems","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","padding","top","palette","w400","borderWidth"],"sourceRoot":"../../../../src","sources":["screens/chat-detail/ChatListLegend.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -37,9 +37,15 @@ const formatDayLabel = createdAt => {
|
|
|
37
37
|
})}`;
|
|
38
38
|
};
|
|
39
39
|
export const LegendChatDay = /*#__PURE__*/memo(({
|
|
40
|
-
createdAt
|
|
40
|
+
createdAt,
|
|
41
|
+
timeOnly = false
|
|
41
42
|
}) => {
|
|
42
|
-
const dateStr = useMemo(() =>
|
|
43
|
+
const dateStr = useMemo(() => {
|
|
44
|
+
if (createdAt == null) return null;
|
|
45
|
+
if (!timeOnly) return formatDayLabel(createdAt);
|
|
46
|
+
const date = new Date(createdAt);
|
|
47
|
+
return Number.isNaN(date.getTime()) ? null : formatTime(date);
|
|
48
|
+
}, [createdAt, timeOnly]);
|
|
43
49
|
if (!dateStr) return null;
|
|
44
50
|
return /*#__PURE__*/_jsx(KContainer.View, {
|
|
45
51
|
center: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useMemo","KContainer","KLabel","CHAT_BUBBLE_COLORS","jsx","_jsx","formatTime","date","toLocaleTimeString","hour","minute","hour12","formatDayLabel","createdAt","Date","Number","isNaN","getTime","today","setHours","messageDay","yesterday","setDate","getDate","getFullYear","toLocaleDateString","day","month","year","LegendChatDay","dateStr","View","center","marginV","children","Text","typo","color","dayLabel","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatDay.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,kBAAkB,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,UAAU,GAAIC,IAAU,IAC5BA,IAAI,CAACC,kBAAkB,CAAC,OAAO,EAAE;EAC/BC,IAAI,EAAE,SAAS;EACfC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE;AACV,CAAC,CAAC;AAEJ,MAAMC,cAAc,GAAIC,SAAiB,IAAoB;EAC3D,MAAMN,IAAI,GAAG,IAAIO,IAAI,CAACD,SAAS,CAAC;EAChC,IAAIE,MAAM,CAACC,KAAK,CAACT,IAAI,CAACU,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;EAE7C,MAAMC,KAAK,GAAG,IAAIJ,IAAI,CAAC,CAAC;EACxBI,KAAK,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAE1B,MAAMC,UAAU,GAAG,IAAIN,IAAI,CAACP,IAAI,CAAC;EACjCa,UAAU,CAACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAE/B,IAAIC,UAAU,CAACH,OAAO,CAAC,CAAC,KAAKC,KAAK,CAACD,OAAO,CAAC,CAAC,EAAE;IAC5C,OAAO,GAAGX,UAAU,CAACC,IAAI,CAAC,UAAU;EACtC;EAEA,MAAMc,SAAS,GAAG,IAAIP,IAAI,CAACI,KAAK,CAAC;EACjCG,SAAS,CAACC,OAAO,CAACD,SAAS,CAACE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAE1C,IAAIH,UAAU,CAACH,OAAO,CAAC,CAAC,KAAKI,SAAS,CAACJ,OAAO,CAAC,CAAC,EAAE;IAChD,OAAO,GAAGX,UAAU,CAACC,IAAI,CAAC,UAAU;EACtC;EAEA,IAAIa,UAAU,CAACI,WAAW,CAAC,CAAC,KAAKN,KAAK,CAACM,WAAW,CAAC,CAAC,EAAE;IACpD,OAAO,GAAGlB,UAAU,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACkB,kBAAkB,CAAC,OAAO,EAAE;MAC7DC,GAAG,EAAE,SAAS;MACdC,KAAK,EAAE;IACT,CAAC,CAAC,EAAE;EACN;EAEA,OAAO,GAAGrB,UAAU,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACkB,kBAAkB,CAAC,OAAO,EAAE;IAC7DC,GAAG,EAAE,SAAS;IACdC,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE;AACN,CAAC;
|
|
1
|
+
{"version":3,"names":["memo","useMemo","KContainer","KLabel","CHAT_BUBBLE_COLORS","jsx","_jsx","formatTime","date","toLocaleTimeString","hour","minute","hour12","formatDayLabel","createdAt","Date","Number","isNaN","getTime","today","setHours","messageDay","yesterday","setDate","getDate","getFullYear","toLocaleDateString","day","month","year","LegendChatDay","timeOnly","dateStr","View","center","marginV","children","Text","typo","color","dayLabel","displayName"],"sourceRoot":"../../../../../src","sources":["screens/chat-detail/legend/LegendChatDay.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACrC,SAASC,UAAU,EAAEC,MAAM,QAAQ,eAAe;AAClD,SAASC,kBAAkB,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElD,MAAMC,UAAU,GAAIC,IAAU,IAC5BA,IAAI,CAACC,kBAAkB,CAAC,OAAO,EAAE;EAC/BC,IAAI,EAAE,SAAS;EACfC,MAAM,EAAE,SAAS;EACjBC,MAAM,EAAE;AACV,CAAC,CAAC;AAEJ,MAAMC,cAAc,GAAIC,SAAiB,IAAoB;EAC3D,MAAMN,IAAI,GAAG,IAAIO,IAAI,CAACD,SAAS,CAAC;EAChC,IAAIE,MAAM,CAACC,KAAK,CAACT,IAAI,CAACU,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI;EAE7C,MAAMC,KAAK,GAAG,IAAIJ,IAAI,CAAC,CAAC;EACxBI,KAAK,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAE1B,MAAMC,UAAU,GAAG,IAAIN,IAAI,CAACP,IAAI,CAAC;EACjCa,UAAU,CAACD,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAE/B,IAAIC,UAAU,CAACH,OAAO,CAAC,CAAC,KAAKC,KAAK,CAACD,OAAO,CAAC,CAAC,EAAE;IAC5C,OAAO,GAAGX,UAAU,CAACC,IAAI,CAAC,UAAU;EACtC;EAEA,MAAMc,SAAS,GAAG,IAAIP,IAAI,CAACI,KAAK,CAAC;EACjCG,SAAS,CAACC,OAAO,CAACD,SAAS,CAACE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;EAE1C,IAAIH,UAAU,CAACH,OAAO,CAAC,CAAC,KAAKI,SAAS,CAACJ,OAAO,CAAC,CAAC,EAAE;IAChD,OAAO,GAAGX,UAAU,CAACC,IAAI,CAAC,UAAU;EACtC;EAEA,IAAIa,UAAU,CAACI,WAAW,CAAC,CAAC,KAAKN,KAAK,CAACM,WAAW,CAAC,CAAC,EAAE;IACpD,OAAO,GAAGlB,UAAU,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACkB,kBAAkB,CAAC,OAAO,EAAE;MAC7DC,GAAG,EAAE,SAAS;MACdC,KAAK,EAAE;IACT,CAAC,CAAC,EAAE;EACN;EAEA,OAAO,GAAGrB,UAAU,CAACC,IAAI,CAAC,IAAIA,IAAI,CAACkB,kBAAkB,CAAC,OAAO,EAAE;IAC7DC,GAAG,EAAE,SAAS;IACdC,KAAK,EAAE,MAAM;IACbC,IAAI,EAAE;EACR,CAAC,CAAC,EAAE;AACN,CAAC;AAWD,OAAO,MAAMC,aAAa,gBAAG9B,IAAI,CAC/B,CAAC;EAAEc,SAAS;EAAEiB,QAAQ,GAAG;AAA0B,CAAC,KAAK;EACvD,MAAMC,OAAO,GAAG/B,OAAO,CAAC,MAAM;IAC5B,IAAIa,SAAS,IAAI,IAAI,EAAE,OAAO,IAAI;IAClC,IAAI,CAACiB,QAAQ,EAAE,OAAOlB,cAAc,CAACC,SAAS,CAAC;IAE/C,MAAMN,IAAI,GAAG,IAAIO,IAAI,CAACD,SAAS,CAAC;IAChC,OAAOE,MAAM,CAACC,KAAK,CAACT,IAAI,CAACU,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAGX,UAAU,CAACC,IAAI,CAAC;EAC/D,CAAC,EAAE,CAACM,SAAS,EAAEiB,QAAQ,CAAC,CAAC;EAEzB,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACE1B,IAAA,CAACJ,UAAU,CAAC+B,IAAI;IAACC,MAAM;IAACC,OAAO,EAAC,QAAQ;IAAAC,QAAA,eACtC9B,IAAA,CAACJ,UAAU,CAAC+B,IAAI;MAAAG,QAAA,eACd9B,IAAA,CAACH,MAAM,CAACkC,IAAI;QAACC,IAAI,EAAC,cAAc;QAACC,KAAK,EAAEnC,kBAAkB,CAACoC,QAAS;QAAAJ,QAAA,EACjEJ;MAAO,CACG;IAAC,CACC;EAAC,CACH,CAAC;AAEtB,CACF,CAAC;AAEDF,aAAa,CAACW,WAAW,GAAG,eAAe","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { KContainer, KImage, KColors, KSpacingValue } from '@droppii/libs';
|
|
3
|
+
import { KContainer, KImage, KColors, KLabel, KSpacingValue } from '@droppii/libs';
|
|
4
4
|
import { StyleSheet } from 'react-native';
|
|
5
5
|
import { memo, useCallback, useMemo } from 'react';
|
|
6
6
|
import { MessageType } from '@droppii/openim-rn-client-sdk';
|
|
@@ -18,15 +18,10 @@ import { MessageStatusIndicator } from "../../../components/messages/MessageStat
|
|
|
18
18
|
import { messageStyles } from "./messageTypes.js";
|
|
19
19
|
import QuotedMessage from "../../../components/messages/quotedMessage/index.js";
|
|
20
20
|
import { StickerMessage } from "../../../components/messages/stickerMessage/index.js";
|
|
21
|
-
import {
|
|
21
|
+
import { GROUP_NOTIFICATION_TYPES } from "../../../utils/messageUtils.js";
|
|
22
|
+
import { Avatar } from "../../../components/Avatar/index.js";
|
|
23
|
+
import { TAIL_WIDTH } from "../../../components/messages/BubbleTail.js";
|
|
22
24
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
-
// Notification-style messages (group created/renamed/member changes/etc.)
|
|
24
|
-
// are system banners, not user-authored text — they render centered,
|
|
25
|
-
// full-width, without a bubble, avatar/status chrome, or left/right
|
|
26
|
-
// alignment (see SYSTEM_MESSAGE_TYPES below). Driven by the same lookup
|
|
27
|
-
// messageUtils uses to build their preview/thread text, so adding a new
|
|
28
|
-
// notification content type there is enough to cover both places.
|
|
29
|
-
const GROUP_NOTIFICATION_TYPES = Object.keys(GROUP_NOTIFICATION_TEXT).map(Number);
|
|
30
25
|
const messageComponentMap = {
|
|
31
26
|
[MessageType.TextMessage]: TextMessage,
|
|
32
27
|
[MessageType.AtTextMessage]: TextMessage,
|
|
@@ -52,7 +47,11 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
52
47
|
onPress,
|
|
53
48
|
onLongPress,
|
|
54
49
|
customMessageItemFactory,
|
|
55
|
-
isHighlighted
|
|
50
|
+
isHighlighted,
|
|
51
|
+
showName = false,
|
|
52
|
+
showAvatar = false,
|
|
53
|
+
showSenderGutter = false,
|
|
54
|
+
groupPosition
|
|
56
55
|
}) => {
|
|
57
56
|
const handlePress = useCallback(() => {
|
|
58
57
|
onPress?.(message);
|
|
@@ -83,13 +82,27 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
83
82
|
style: messageStyles.wrapper,
|
|
84
83
|
row: true,
|
|
85
84
|
alignItems: true,
|
|
86
|
-
children: [/*#__PURE__*/_jsx(
|
|
85
|
+
children: [showSenderGutter && /*#__PURE__*/_jsx(KContainer.View, {
|
|
86
|
+
style: styles.avatarGutter,
|
|
87
|
+
children: showAvatar && /*#__PURE__*/_jsx(Avatar, {
|
|
88
|
+
size: "sm",
|
|
89
|
+
source: message.senderFaceUrl,
|
|
90
|
+
fullName: message.senderNickname
|
|
91
|
+
})
|
|
92
|
+
}), /*#__PURE__*/_jsx(MessageStatusIndicator, {
|
|
87
93
|
message: message,
|
|
88
94
|
isOutgoing: isOutgoing,
|
|
89
95
|
onRetry: onRetry
|
|
90
96
|
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
91
97
|
style: styles.content,
|
|
92
|
-
children: [/*#__PURE__*/_jsx(
|
|
98
|
+
children: [showName && !!message.senderNickname && /*#__PURE__*/_jsx(KLabel.Text, {
|
|
99
|
+
typo: "TextXsNormal",
|
|
100
|
+
color: KColors.gray.normal,
|
|
101
|
+
numberOfLines: 1,
|
|
102
|
+
marginB: 2,
|
|
103
|
+
style: styles.senderName,
|
|
104
|
+
children: message.senderNickname
|
|
105
|
+
}), /*#__PURE__*/_jsx(LongPressWrapper, {
|
|
93
106
|
onPress: handlePress,
|
|
94
107
|
onLongPress: handleLongPress,
|
|
95
108
|
children: /*#__PURE__*/_jsx(MessageComponent, {
|
|
@@ -98,7 +111,8 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
98
111
|
createdAtTime: createdAtTime,
|
|
99
112
|
onMediaPress: hasMediaPress ? onMediaPress : undefined,
|
|
100
113
|
onPressUrl: hasUrlPress ? onPressUrl : undefined,
|
|
101
|
-
isHighlighted: isHighlighted
|
|
114
|
+
isHighlighted: isHighlighted,
|
|
115
|
+
groupPosition: groupPosition
|
|
102
116
|
})
|
|
103
117
|
}), message?.isPinned && /*#__PURE__*/_jsx(KContainer.View, {
|
|
104
118
|
style: styles.pinBadge,
|
|
@@ -112,10 +126,21 @@ export const LegendChatMessage = /*#__PURE__*/memo(({
|
|
|
112
126
|
});
|
|
113
127
|
});
|
|
114
128
|
LegendChatMessage.displayName = 'LegendChatMessage';
|
|
129
|
+
const AVATAR_SIZE = 24;
|
|
115
130
|
const styles = StyleSheet.create({
|
|
116
131
|
content: {
|
|
117
132
|
position: 'relative'
|
|
118
133
|
},
|
|
134
|
+
// Bubbles sit behind a TAIL_WIDTH gutter (see BubbleTailRow); the name has to
|
|
135
|
+
// clear the same gutter or it hangs to the left of the bubble it labels.
|
|
136
|
+
senderName: {
|
|
137
|
+
marginLeft: TAIL_WIDTH
|
|
138
|
+
},
|
|
139
|
+
avatarGutter: {
|
|
140
|
+
width: AVATAR_SIZE,
|
|
141
|
+
marginRight: KSpacingValue['0.25rem'],
|
|
142
|
+
alignSelf: 'flex-end'
|
|
143
|
+
},
|
|
119
144
|
systemMessageWrapper: {
|
|
120
145
|
width: '100%',
|
|
121
146
|
marginVertical: KSpacingValue['0.25rem']
|