@@ -10,7 +10,7 @@ import {
1010
1111import 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' ;
1414import type { Channel , Event , LocalMessage , MessageResponse } from 'stream-chat' ;
1515
1616import { useMessageList } from './hooks/useMessageList' ;
@@ -57,10 +57,15 @@ import { MessageInputHeightState } from '../../state-store/message-input-height-
5757import { primitives } from '../../theme' ;
5858import { MessageWrapper } from '../Message/MessageItemView/MessageWrapper' ;
5959
60+ type FlashListContextApi = { getRef ?: ( ) => FlashListRef < LocalMessage > | null } | undefined ;
61+
6062let FlashList ;
63+ let useFlashListContext : ( ) => FlashListContextApi = ( ) => undefined ;
6164
6265try {
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