1
- import React , { useMemo , useState , useRef , useEffect , useLayoutEffect , ReactNode } from 'react' ;
1
+ import React , { useMemo , useState , useRef , useEffect , useLayoutEffect } from 'react' ;
2
2
import format from 'date-fns/format' ;
3
3
import type { FileMessage , MultipleFilesMessage } from '@sendbird/chat/message' ;
4
4
@@ -21,32 +21,28 @@ import { SendableMessageType } from '../../../../utils';
21
21
import { User } from '@sendbird/chat' ;
22
22
import { getCaseResolvedReplyType } from '../../../../lib/utils/resolvedReplyType' ;
23
23
import { classnames } from '../../../../utils/utils' ;
24
- import type { MessageMenuProps } from '../../../../ui/MessageMenu' ;
25
- import type { MessageEmojiMenuProps } from '../../../../ui/MessageItemReactionMenu' ;
24
+ import { MessageComponentRenderers } from '../../../../ui/MessageContent' ;
26
25
27
- export interface ThreadListItemProps {
26
+ export interface ThreadListItemProps extends MessageComponentRenderers {
28
27
className ?: string ;
29
28
message : SendableMessageType ;
30
29
chainTop ?: boolean ;
31
30
chainBottom ?: boolean ;
32
31
hasSeparator ?: boolean ;
33
32
renderCustomSeparator ?: ( props : { message : SendableMessageType } ) => React . ReactElement ;
34
33
handleScroll ?: ( ) => void ;
35
- renderEmojiMenu ?: ( props : MessageEmojiMenuProps ) => ReactNode ;
36
- renderMessageMenu ?: ( props : MessageMenuProps ) => ReactNode ;
37
34
}
38
35
39
- export default function ThreadListItem ( {
40
- className,
41
- message,
42
- chainTop,
43
- chainBottom,
44
- hasSeparator,
45
- renderCustomSeparator,
46
- handleScroll,
47
- renderEmojiMenu,
48
- renderMessageMenu,
49
- } : ThreadListItemProps ) : React . ReactElement {
36
+ export default function ThreadListItem ( props : ThreadListItemProps ) : React . ReactElement {
37
+ const {
38
+ className,
39
+ message,
40
+ chainTop,
41
+ chainBottom,
42
+ hasSeparator,
43
+ renderCustomSeparator,
44
+ handleScroll,
45
+ } = props ;
50
46
const { stores, config } = useSendbirdStateContext ( ) ;
51
47
const { isOnline, userMention, logger, groupChannel } = config ;
52
48
const userId = stores ?. userStore ?. user ?. userId ;
@@ -237,13 +233,13 @@ export default function ThreadListItem({
237
233
) )
238
234
}
239
235
< ThreadListItemContent
236
+ { ...props }
240
237
userId = { userId }
241
238
channel = { currentChannel }
242
239
message = { message }
243
240
chainTop = { chainTop }
244
241
chainBottom = { chainBottom }
245
242
isReactionEnabled = { isReactionEnabled }
246
- isMentionEnabled = { isMentionEnabled }
247
243
disableQuoteMessage
248
244
replyType = { replyType }
249
245
nicknamesMap = { nicknamesMap }
@@ -253,8 +249,6 @@ export default function ThreadListItem({
253
249
showFileViewer = { setShowFileViewer }
254
250
toggleReaction = { toggleReaction }
255
251
showEdit = { setShowEdit }
256
- renderEmojiMenu = { renderEmojiMenu }
257
- renderMessageMenu = { renderMessageMenu }
258
252
/>
259
253
{ /* modal */ }
260
254
{ showRemove && (
0 commit comments