@@ -18,16 +18,16 @@ import { MessagePreviousAndNextMessageStoreType } from '../../../state-store/mes
1818
1919const channelUnreadStateSelector = ( state : ChannelUnreadStateStoreType ) => ( {
2020 first_unread_message_id : state . channelUnreadState ?. first_unread_message_id ,
21- last_read : state . channelUnreadState ?. last_read ,
2221 last_read_message_id : state . channelUnreadState ?. last_read_message_id ,
22+ last_read_timestamp : state . channelUnreadState ?. last_read ?. getTime ( ) ,
2323 unread_messages : state . channelUnreadState ?. unread_messages ,
2424} ) ;
2525
2626export type MessageWrapperProps = {
2727 message : LocalMessage ;
2828} ;
2929
30- export const MessageWrapper = ( props : MessageWrapperProps ) => {
30+ export const MessageWrapper = React . memo ( ( props : MessageWrapperProps ) => {
3131 const { message } = props ;
3232 const { client } = useChatContext ( ) ;
3333 const {
@@ -78,7 +78,7 @@ export const MessageWrapper = (props: MessageWrapperProps) => {
7878 noGroupByUser,
7979 } ) ;
8080
81- const { first_unread_message_id, last_read , last_read_message_id, unread_messages } =
81+ const { first_unread_message_id, last_read_timestamp , last_read_message_id, unread_messages } =
8282 useStateStore ( channelUnreadStateStore . state , channelUnreadStateSelector ) ;
8383 const {
8484 theme : {
@@ -91,10 +91,9 @@ export const MessageWrapper = (props: MessageWrapperProps) => {
9191 }
9292
9393 const createdAtTimestamp = message . created_at && new Date ( message . created_at ) . getTime ( ) ;
94- const lastReadTimestamp = last_read ?. getTime ( ) ;
9594 const isLastReadMessage =
9695 last_read_message_id === message . id ||
97- ( ! unread_messages && createdAtTimestamp === lastReadTimestamp ) ;
96+ ( ! unread_messages && createdAtTimestamp === last_read_timestamp ) ;
9897
9998 const showUnreadSeparator =
10099 isLastReadMessage &&
@@ -145,4 +144,4 @@ export const MessageWrapper = (props: MessageWrapperProps) => {
145144 { showUnreadUnderlay && < InlineUnreadIndicator /> }
146145 </ View >
147146 ) ;
148- } ;
147+ } ) ;
0 commit comments