@@ -100,6 +100,10 @@ export const ChannelPreview = <
100100 const [ lastMessage , setLastMessage ] = useState < StreamMessage < StreamChatGenerics > > (
101101 channel . state . messages [ channel . state . messages . length - 1 ] ,
102102 ) ;
103+ const [ latestMessagePreview , setLatestMessagePreview ] = useState < ReactNode > ( ( ) =>
104+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
105+ ) ;
106+
103107 const [ unread , setUnread ] = useState ( 0 ) ;
104108 const { messageDeliveryStatus } = useMessageDeliveryStatus < StreamChatGenerics > ( {
105109 channel,
@@ -146,11 +150,17 @@ export const ChannelPreview = <
146150
147151 useEffect ( ( ) => {
148152 refreshUnreadCount ( ) ;
153+ setLatestMessagePreview (
154+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
155+ ) ;
149156
150157 const handleEvent = ( ) => {
151158 setLastMessage (
152159 channel . state . latestMessages [ channel . state . latestMessages . length - 1 ] ,
153160 ) ;
161+ setLatestMessagePreview (
162+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
163+ ) ;
154164 refreshUnreadCount ( ) ;
155165 } ;
156166
@@ -167,16 +177,18 @@ export const ChannelPreview = <
167177 channel . off ( 'message.undeleted' , handleEvent ) ;
168178 channel . off ( 'channel.truncated' , handleEvent ) ;
169179 } ;
170- } , [ channel , refreshUnreadCount , channelUpdateCount ] ) ;
171-
172- if ( ! Preview ) return null ;
173-
174- const latestMessagePreview = getLatestMessagePreview (
180+ } , [
175181 channel ,
182+ client ,
183+ refreshUnreadCount ,
184+ channelUpdateCount ,
185+ getLatestMessagePreview ,
176186 t ,
177187 userLanguage ,
178188 isMessageAIGenerated ,
179- ) ;
189+ ] ) ;
190+
191+ if ( ! Preview ) return null ;
180192
181193 return (
182194 < Preview
0 commit comments