stream-chat-react-native-core 8.6.0-beta.1 → 8.6.0-beta.2
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/commonjs/components/MessageList/MessageFlashList.js +6 -1
- package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +6 -1
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js +4 -4
- package/lib/commonjs/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +28 -24
- package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/MessageList/MessageFlashList.js +6 -1
- package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +6 -1
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageMenu/MessageUserReactions.js +4 -4
- package/lib/module/components/MessageMenu/MessageUserReactions.js.map +1 -1
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +28 -24
- package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts +2 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts +2 -1
- package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/MessageUserReactions.d.ts.map +1 -1
- package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/components/MessageList/MessageFlashList.tsx +9 -1
- package/src/components/MessageList/MessageList.tsx +9 -1
- package/src/components/MessageMenu/MessageUserReactions.tsx +13 -9
- package/src/components/MessageMenu/hooks/useFetchReactions.ts +27 -24
- package/src/version.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useEffect, useMemo } from 'react';
|
|
1
|
+
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
2
2
|
import { StyleSheet, Text, View } from 'react-native';
|
|
3
3
|
import { FlatList } from 'react-native-gesture-handler';
|
|
4
4
|
|
|
@@ -138,16 +138,20 @@ export const MessageUserReactions = (props: MessageUserReactionsProps) => {
|
|
|
138
138
|
[propReactions, fetchedReactions],
|
|
139
139
|
);
|
|
140
140
|
|
|
141
|
-
const renderItem = (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
141
|
+
const renderItem = useCallback(
|
|
142
|
+
({ item }: { item: Reaction }) => (
|
|
143
|
+
<MessageUserReactionsItem
|
|
144
|
+
MessageUserReactionsAvatar={MessageUserReactionsAvatar}
|
|
145
|
+
reaction={item}
|
|
146
|
+
supportedReactions={supportedReactions ?? []}
|
|
147
|
+
/>
|
|
148
|
+
),
|
|
149
|
+
[MessageUserReactionsAvatar, MessageUserReactionsItem, supportedReactions],
|
|
147
150
|
);
|
|
148
151
|
|
|
149
|
-
const renderHeader = (
|
|
150
|
-
<Text style={[styles.reactionsText, reactionsText]}>{t('Message Reactions')}</Text
|
|
152
|
+
const renderHeader = useCallback(
|
|
153
|
+
() => <Text style={[styles.reactionsText, reactionsText]}>{t('Message Reactions')}</Text>,
|
|
154
|
+
[t, reactionsText],
|
|
151
155
|
);
|
|
152
156
|
|
|
153
157
|
const selectorReactions: ReactionSelectorItemType[] = messageReactions.map((reaction) => ({
|
|
@@ -22,44 +22,47 @@ export const useFetchReactions = ({
|
|
|
22
22
|
const [next, setNext] = useState<string | undefined>(undefined);
|
|
23
23
|
const messageId = message?.id;
|
|
24
24
|
|
|
25
|
-
const { client
|
|
25
|
+
const { client } = useChatContext();
|
|
26
26
|
|
|
27
27
|
const sortString = useMemo(() => JSON.stringify(sort), [sort]);
|
|
28
28
|
|
|
29
|
-
const fetchReactions = useCallback(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if (response) {
|
|
41
|
-
setReactions((prevReactions) =>
|
|
42
|
-
next ? [...prevReactions, ...response.reactions] : response.reactions,
|
|
29
|
+
const fetchReactions = useCallback(
|
|
30
|
+
async (next: string | undefined) => {
|
|
31
|
+
if (!messageId) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const response = await client.queryReactions(
|
|
36
|
+
messageId,
|
|
37
|
+
reactionType ? { type: reactionType } : {},
|
|
38
|
+
sort,
|
|
39
|
+
{ limit, next },
|
|
43
40
|
);
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
if (response) {
|
|
42
|
+
setNext(response.next);
|
|
43
|
+
|
|
44
|
+
setReactions((prevReactions) =>
|
|
45
|
+
next ? [...prevReactions, ...response.reactions] : response.reactions,
|
|
46
|
+
);
|
|
47
|
+
setLoading(false);
|
|
48
|
+
}
|
|
49
|
+
} catch (error) {
|
|
50
|
+
console.log('Error fetching reactions: ', error);
|
|
46
51
|
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
51
|
-
}, [client, messageId, reactionType, sortString, next, limit, enableOfflineSupport]);
|
|
52
|
+
},
|
|
53
|
+
[messageId, client, reactionType, sort, limit],
|
|
54
|
+
);
|
|
52
55
|
|
|
53
56
|
const loadNextPage = useCallback(async () => {
|
|
54
57
|
if (next) {
|
|
55
|
-
await fetchReactions();
|
|
58
|
+
await fetchReactions(next);
|
|
56
59
|
}
|
|
57
60
|
}, [fetchReactions, next]);
|
|
58
61
|
|
|
59
62
|
useEffect(() => {
|
|
60
63
|
setReactions([]);
|
|
61
64
|
setNext(undefined);
|
|
62
|
-
fetchReactions();
|
|
65
|
+
fetchReactions(undefined);
|
|
63
66
|
}, [fetchReactions, messageId, reactionType, sortString]);
|
|
64
67
|
|
|
65
68
|
useEffect(() => {
|
package/src/version.json
CHANGED