11import React , { useContext } from 'react' ;
22
3+ import { Emoji } from '@sendbird/chat' ;
4+ import { GroupChannel } from '@sendbird/chat/groupChannel' ;
5+ import { OpenChannel } from '@sendbird/chat/openChannel' ;
36import { FileMessage , Reaction , UserMessage } from '@sendbird/chat/message' ;
47
58import Tooltip from '../Tooltip' ;
69import TooltipWrapper from '../TooltipWrapper' ;
710import ReactionBadge from '../ReactionBadge' ;
811import ImageRenderer from '../ImageRenderer' ;
912import Icon , { IconTypes } from '../Icon' ;
13+
14+ import { Nullable } from '../../types' ;
15+ import { getEmojiTooltipString , isReactedBy } from '../../utils' ;
1016import { useMediaQueryContext } from '../../lib/MediaQueryContext' ;
1117import useLongPress from '../../hooks/useLongPress' ;
1218import { LocalizationContext } from '../../lib/LocalizationContext' ;
1319import useSendbirdStateContext from '../../hooks/useSendbirdStateContext' ;
14- import { getEmojiTooltipString , isReactedBy } from '../../utils' ;
1520import { useMessageContext } from '../../modules/Message/context/MessageProvider' ;
16- import { Emoji } from '@sendbird/chat' ;
1721
1822type Props = {
1923 reaction : Reaction ;
2024 memberNicknamesMap : Map < string , string > ;
2125 setEmojiKey : React . Dispatch < React . SetStateAction < string > > ;
2226 toggleReaction ?: ( message : UserMessage | FileMessage , key : string , byMe : boolean ) => void ;
2327 emojisMap : Map < string , Emoji > ;
28+ channel : Nullable < GroupChannel | OpenChannel > ;
2429} ;
2530
2631export default function ReactionItem ( {
@@ -29,6 +34,7 @@ export default function ReactionItem({
2934 setEmojiKey,
3035 toggleReaction,
3136 emojisMap,
37+ channel,
3238} : Props ) {
3339 const store = useSendbirdStateContext ( ) ;
3440 const { isMobile } = useMediaQueryContext ( ) ;
@@ -38,6 +44,8 @@ export default function ReactionItem({
3844
3945 const userId = store . config . userId ;
4046 const reactedByMe = isReactedBy ( userId , reaction ) ;
47+ const showHoverTooltip = ( reaction . userIds . length > 0 )
48+ && ( channel ?. isGroupChannel ( ) && ! channel . isSuper ) ;
4149
4250 const handleOnClick = ( ) => {
4351 setEmojiKey ( '' ) ;
@@ -56,7 +64,7 @@ export default function ReactionItem({
5664 return (
5765 < TooltipWrapper
5866 className = "sendbird-emoji-reactions__reaction-badge"
59- hoverTooltip = { ( reaction . userIds . length > 0 ) ? (
67+ hoverTooltip = { showHoverTooltip ? (
6068 < Tooltip >
6169 { getEmojiTooltipString ( reaction , userId , memberNicknamesMap , stringSet ) }
6270 </ Tooltip >
0 commit comments