Skip to content

Commit efc9512

Browse files
committed
fix: sample apps crash
1 parent e63d748 commit efc9512

File tree

2 files changed

+13
-16
lines changed

2 files changed

+13
-16
lines changed

examples/SampleApp/src/components/DraftsList.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
import { FlatList, Pressable, StyleSheet, Text, View } from 'react-native';
22
import { DraftsIcon } from '../icons/DraftIcon';
33
import {
4-
MessagePreview,
54
useChatContext,
65
useStateStore,
76
useTheme,
8-
useTranslationContext,
7+
useMessagePreviewText,
98
} from 'stream-chat-react-native';
109
import { DraftManagerState, DraftsManager } from '../utils/DraftsManager';
1110
import { useCallback, useEffect, useMemo } from 'react';
1211
import dayjs from 'dayjs';
1312
import { useIsFocused, useNavigation } from '@react-navigation/native';
1413
import { ChannelResponse, DraftMessage, DraftResponse, MessageResponseBase } from 'stream-chat';
15-
import { getPreviewFromMessage } from '../utils/getPreviewOfMessage';
1614

1715
export type DraftItemProps = {
1816
type?: 'channel' | 'thread';
@@ -31,7 +29,7 @@ export const DraftItem = ({ type, channel, date, message, thread }: DraftItemPro
3129
} = useTheme();
3230
const navigation = useNavigation();
3331
const { client } = useChatContext();
34-
const { t } = useTranslationContext();
32+
const messagePreviewText = useMessagePreviewText({ message });
3533
const channelName = channel?.name ? channel.name : 'Channel';
3634

3735
const onNavigationHandler = async () => {
@@ -50,10 +48,6 @@ export const DraftItem = ({ type, channel, date, message, thread }: DraftItemPro
5048
}
5149
};
5250

53-
const previews = useMemo(() => {
54-
return getPreviewFromMessage({ message, t });
55-
}, [message, t]);
56-
5751
return (
5852
<Pressable
5953
style={({ pressed }) => [styles.itemContainer, { opacity: pressed ? 0.8 : 1 }]}
@@ -69,7 +63,7 @@ export const DraftItem = ({ type, channel, date, message, thread }: DraftItemPro
6963
<View style={styles.icon}>
7064
<DraftsIcon />
7165
</View>
72-
<MessagePreview previews={previews} />
66+
<Text style={styles.text}>{messagePreviewText}</Text>
7367
</View>
7468
</Pressable>
7569
);

examples/SampleApp/src/components/Reminders/ReminderItem.tsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import { Alert, AlertButton, Pressable, StyleSheet, Text, View } from 'react-nat
44
import { ReminderResponse } from 'stream-chat';
55
import {
66
Delete,
7-
MessagePreview,
7+
useMessagePreviewText,
8+
useMessagePreviewIcon,
89
useChatContext,
910
useTheme,
1011
useTranslationContext,
1112
} from 'stream-chat-react-native';
1213
import { ReminderBanner } from './ReminderBanner';
1314
import Swipeable from 'react-native-gesture-handler/ReanimatedSwipeable';
14-
import { getPreviewFromMessage } from '../../utils/getPreviewOfMessage';
1515

1616
export const ReminderItem = (
1717
item: ReminderResponse & { onDeleteHandler?: (id: string) => void },
@@ -24,8 +24,11 @@ export const ReminderItem = (
2424
const {
2525
theme: {
2626
colors: { accent_red, white_smoke, grey_gainsboro },
27+
semantics,
2728
},
2829
} = useTheme();
30+
const messagePreviewText = useMessagePreviewText({ message });
31+
const MessagePreviewIcon = useMessagePreviewIcon({ message });
2932

3033
const onNavigationHandler = async () => {
3134
if (channel?.type && channel.id) {
@@ -40,10 +43,6 @@ export const ReminderItem = (
4043
}
4144
};
4245

43-
const previews = useMemo(() => {
44-
return getPreviewFromMessage({ message: message, t });
45-
}, [message, t]);
46-
4746
const onDeleteReminder = useCallback(() => {
4847
Alert.alert('Remove Reminder', 'Are you sure you want to remove this reminder?', [
4948
{
@@ -131,7 +130,10 @@ export const ReminderItem = (
131130
<ReminderBanner {...item} />
132131
</View>
133132
<View style={styles.content}>
134-
<MessagePreview previews={previews} />
133+
{MessagePreviewIcon ? (
134+
<MessagePreviewIcon height={20} stroke={semantics.textPrimary} width={20} />
135+
) : null}
136+
<Text style={styles.text}>{messagePreviewText}</Text>
135137
</View>
136138
</Pressable>
137139
</Swipeable>
@@ -157,6 +159,7 @@ const styles = StyleSheet.create({
157159
flexDirection: 'row',
158160
alignItems: 'center',
159161
marginTop: 8,
162+
gap: 4,
160163
},
161164
text: {
162165
fontSize: 16,

0 commit comments

Comments
 (0)