11import React , { useCallback } from 'react' ;
2- import { Platform , StyleSheet } from 'react-native' ;
3- import { SafeAreaView } from 'react-native-safe-area-context' ;
2+ import { StyleSheet , View } from 'react-native' ;
3+ import { useHeaderHeight } from '@react-navigation/elements' ;
4+
45import {
56 Channel ,
67 MessageActionsParams ,
@@ -26,6 +27,7 @@ import { useStreamChatContext } from '../context/StreamChatContext.tsx';
2627import { NativeStackNavigationProp } from '@react-navigation/native-stack' ;
2728import { CustomAttachmentPickerSelectionBar } from '../components/AttachmentPickerSelectionBar.tsx' ;
2829import { MessageLocation } from '../components/LocationSharing/MessageLocation.tsx' ;
30+ import { useAppContext } from '../context/AppContext.ts' ;
2931
3032const selector = ( nextValue : ThreadState ) => ( { parentMessage : nextValue . parentMessage } ) as const ;
3133
@@ -84,6 +86,8 @@ export const ThreadScreen: React.FC<ThreadScreenProps> = ({
8486 const { client : chatClient } = useChatContext ( ) ;
8587 const { t } = useTranslationContext ( ) ;
8688 const { setThread } = useStreamChatContext ( ) ;
89+ const { messageInputFloating } = useAppContext ( ) ;
90+ const headerHeight = useHeaderHeight ( ) ;
8791
8892 const onPressMessage : NonNullable < React . ComponentProps < typeof Channel > [ 'onPressMessage' ] > = (
8993 payload ,
@@ -115,14 +119,15 @@ export const ThreadScreen: React.FC<ThreadScreenProps> = ({
115119 } , [ setThread ] ) ;
116120
117121 return (
118- < SafeAreaView edges = { [ 'bottom' ] } style = { [ styles . container , { backgroundColor : white } ] } >
122+ < View style = { [ styles . container , { backgroundColor : white } ] } >
119123 < Channel
120- audioRecordingEnabled = { true }
124+ audioRecordingEnabled = { false }
121125 AttachmentPickerSelectionBar = { CustomAttachmentPickerSelectionBar }
122126 channel = { channel }
123127 enforceUniqueReaction
124- keyboardVerticalOffset = { Platform . OS === 'ios' ? 0 : - 300 }
128+ keyboardVerticalOffset = { headerHeight }
125129 messageActions = { messageActions }
130+ messageInputFloating = { messageInputFloating }
126131 MessageHeader = { MessageReminderHeader }
127132 MessageLocation = { MessageLocation }
128133 onPressMessage = { onPressMessage }
@@ -132,6 +137,6 @@ export const ThreadScreen: React.FC<ThreadScreenProps> = ({
132137 < ThreadHeader thread = { thread } />
133138 < Thread onThreadDismount = { onThreadDismount } />
134139 </ Channel >
135- </ SafeAreaView >
140+ </ View >
136141 ) ;
137142} ;
0 commit comments