@@ -6,7 +6,7 @@ import type { Channel, Event, LocalMessage, MessageResponse } from 'stream-chat'
66
77import { useMessageFlashList } from './hooks/useMessageFlashList' ;
88
9- import { useShouldScrollToRecentOnNewOwnMessageFlashList } from './hooks/useShouldScrollToRecentOnNewOwnMessageFlashList ' ;
9+ import { useShouldScrollToRecentOnNewOwnMessage } from './hooks/useShouldScrollToRecentOnNewOwnMessage ' ;
1010import { InlineLoadingMoreIndicator } from './InlineLoadingMoreIndicator' ;
1111import { InlineLoadingMoreRecentIndicator } from './InlineLoadingMoreRecentIndicator' ;
1212import { InlineLoadingMoreRecentThreadIndicator } from './InlineLoadingMoreRecentThreadIndicator' ;
@@ -33,7 +33,7 @@ import {
3333 PaginatedMessageListContextValue ,
3434 usePaginatedMessageListContext ,
3535} from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext' ;
36- import { ThemeProvider , useTheme } from '../../contexts/themeContext/ThemeContext' ;
36+ import { mergeThemes , ThemeProvider , useTheme } from '../../contexts/themeContext/ThemeContext' ;
3737import { ThreadContextValue , useThreadContext } from '../../contexts/threadContext/ThreadContext' ;
3838
3939import { useStableCallback } from '../../hooks' ;
@@ -265,13 +265,20 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
265265
266266 const messageListLengthBeforeUpdate = useRef ( 0 ) ;
267267 const channelResyncScrollSet = useRef < boolean > ( true ) ;
268+ const { theme } = useTheme ( ) ;
268269
269270 const {
270- theme : {
271- colors : { white_snow } ,
272- messageList : { container, contentContainer, listContainer } ,
273- } ,
274- } = useTheme ( ) ;
271+ colors : { white_snow } ,
272+ messageList : { container, contentContainer, listContainer } ,
273+ } = theme ;
274+
275+ const myMessageThemeString = useMemo ( ( ) => JSON . stringify ( myMessageTheme ) , [ myMessageTheme ] ) ;
276+
277+ const modifiedTheme = useMemo (
278+ ( ) => mergeThemes ( { style : myMessageTheme , theme } ) ,
279+ // eslint-disable-next-line react-hooks/exhaustive-deps
280+ [ myMessageThemeString , theme ] ,
281+ ) ;
275282
276283 const { dateSeparatorsRef, messageGroupStylesRef, processedMessageList, rawMessageList } =
277284 useMessageFlashList ( {
@@ -290,7 +297,7 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
290297
291298 const messageListLengthAfterUpdate = processedMessageList . length ;
292299
293- const shouldScrollToRecentOnNewOwnMessageRef = useShouldScrollToRecentOnNewOwnMessageFlashList (
300+ const shouldScrollToRecentOnNewOwnMessageRef = useShouldScrollToRecentOnNewOwnMessage (
294301 rawMessageList ,
295302 client . userID ,
296303 ) ;
@@ -301,7 +308,6 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
301308 ) ;
302309
303310 const maintainVisibleContentPosition = useMemo ( ( ) => {
304- console . log ( 'autoScrollToRecent' , autoScrollToRecent ) ;
305311 return {
306312 autoscrollToBottomThreshold : autoScrollToRecent || threadList ? 10 : undefined ,
307313 startRenderingFromBottom : true ,
@@ -452,9 +458,6 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
452458 const didMergeMessageSetsWithNoUpdates =
453459 latestNonCurrentMessageBeforeUpdate ?. id === latestCurrentMessageAfterUpdate . id ;
454460
455- // TODO: FIX THIS
456- // setAutoScrollToRecent(!didMergeMessageSetsWithNoUpdates);
457-
458461 if ( ! didMergeMessageSetsWithNoUpdates ) {
459462 const shouldScrollToRecentOnNewOwnMessage = shouldScrollToRecentOnNewOwnMessageRef . current ( ) ;
460463
@@ -693,7 +696,7 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
693696 { message . type === 'system' ? (
694697 < MessageSystem message = { message } />
695698 ) : wrapMessageInTheme ? (
696- < ThemeProvider >
699+ < ThemeProvider mergedStyle = { modifiedTheme } >
697700 < View testID = { `message-list-item-${ index } ` } >
698701 { renderDateSeperator }
699702 { renderMessage }
@@ -725,6 +728,7 @@ const MessageListFlashListWithContext = (props: MessageListFlashListPropsWithCon
725728 highlightedMessageId ,
726729 lastReceivedId ,
727730 messageGroupStylesRef ,
731+ modifiedTheme ,
728732 myMessageTheme ,
729733 onThreadSelect ,
730734 shouldShowUnreadUnderlay ,
0 commit comments