Skip to content

Commit db75fda

Browse files
committed
fix: flashlist optionality
1 parent 5feeccb commit db75fda

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

package/src/components/MessageList/MessageFlashList.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010

1111
import Animated, { LinearTransition } from 'react-native-reanimated';
1212

13-
import { FlashListProps, FlashListRef, useFlashListContext } from '@shopify/flash-list';
13+
import type { FlashListProps, FlashListRef } from '@shopify/flash-list';
1414
import type { Channel, Event, LocalMessage, MessageResponse } from 'stream-chat';
1515

1616
import { useMessageList } from './hooks/useMessageList';
@@ -57,10 +57,15 @@ import { MessageInputHeightState } from '../../state-store/message-input-height-
5757
import { primitives } from '../../theme';
5858
import { MessageWrapper } from '../Message/MessageItemView/MessageWrapper';
5959

60+
type FlashListContextApi = { getRef?: () => FlashListRef<LocalMessage> | null } | undefined;
61+
6062
let FlashList;
63+
let useFlashListContext: () => FlashListContextApi = () => undefined;
6164

6265
try {
63-
FlashList = require('@shopify/flash-list').FlashList;
66+
const flashListModule = require('@shopify/flash-list');
67+
FlashList = flashListModule.FlashList;
68+
useFlashListContext = flashListModule.useFlashListContext;
6469
} catch {
6570
FlashList = undefined;
6671
}
@@ -1132,7 +1137,7 @@ const FlashListFooterTypingAdapter = ({
11321137
const typingUsersLengthRef = useRef<number>(typingUsers.length);
11331138

11341139
useEffect(() => {
1135-
const listApi = api?.getRef();
1140+
const listApi = api?.getRef?.();
11361141

11371142
if (!enabled || !listApi) {
11381143
return;

0 commit comments

Comments
 (0)