@@ -100,6 +100,10 @@ export const ChannelPreview = <
100
100
const [ lastMessage , setLastMessage ] = useState < StreamMessage < StreamChatGenerics > > (
101
101
channel . state . messages [ channel . state . messages . length - 1 ] ,
102
102
) ;
103
+ const [ latestMessagePreview , setLatestMessagePreview ] = useState < ReactNode > ( ( ) =>
104
+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
105
+ ) ;
106
+
103
107
const [ unread , setUnread ] = useState ( 0 ) ;
104
108
const { messageDeliveryStatus } = useMessageDeliveryStatus < StreamChatGenerics > ( {
105
109
channel,
@@ -146,11 +150,17 @@ export const ChannelPreview = <
146
150
147
151
useEffect ( ( ) => {
148
152
refreshUnreadCount ( ) ;
153
+ setLatestMessagePreview (
154
+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
155
+ ) ;
149
156
150
157
const handleEvent = ( ) => {
151
158
setLastMessage (
152
159
channel . state . latestMessages [ channel . state . latestMessages . length - 1 ] ,
153
160
) ;
161
+ setLatestMessagePreview (
162
+ getLatestMessagePreview ( channel , t , userLanguage , isMessageAIGenerated ) ,
163
+ ) ;
154
164
refreshUnreadCount ( ) ;
155
165
} ;
156
166
@@ -167,16 +177,18 @@ export const ChannelPreview = <
167
177
channel . off ( 'message.undeleted' , handleEvent ) ;
168
178
channel . off ( 'channel.truncated' , handleEvent ) ;
169
179
} ;
170
- } , [ channel , refreshUnreadCount , channelUpdateCount ] ) ;
171
-
172
- if ( ! Preview ) return null ;
173
-
174
- const latestMessagePreview = getLatestMessagePreview (
180
+ } , [
175
181
channel ,
182
+ client ,
183
+ refreshUnreadCount ,
184
+ channelUpdateCount ,
185
+ getLatestMessagePreview ,
176
186
t ,
177
187
userLanguage ,
178
188
isMessageAIGenerated ,
179
- ) ;
189
+ ] ) ;
190
+
191
+ if ( ! Preview ) return null ;
180
192
181
193
return (
182
194
< Preview
0 commit comments