UNPKG

@100mslive/react-native-room-kit

Version:

100ms Room Kit provides simple & easy to use UI components to build Live Streaming & Video Conferencing experiences in your apps.

39 lines 1.3 kB
import { useSelector } from 'react-redux'; import { useHMSHLSPlayerCue } from '@100mslive/react-native-hms'; import Toast from 'react-native-simple-toast'; export const HLSPlayerEmoticons = () => { const hmsInstance = useSelector(state => state.user.hmsInstance); useHMSHLSPlayerCue(cue => { if (!hmsInstance) { return; } const payloadStr = cue.payloadval; if (typeof payloadStr === 'string') { try { const emoticonMessage = JSON.parse(payloadStr); if (emoticonMessage.type === 'EMOJI_REACTION') { const peer = hmsInstance.getPeerFromPeerId(emoticonMessage.senderId); Toast.showWithGravity(`${peer === null || peer === void 0 ? void 0 : peer.name} ${getEmojiByString(emoticonMessage.emojiId)}`, Toast.LONG, Toast.TOP); } } catch (error) { const message = `HLSPlayerEmoticons: HLS Cue Payload is not JSON: ${error}`; console.log(message); } } }, []); return null; }; const emojiMap = { '+1': '👍', '-1': '👎', 'wave': '👋', 'clap': '👏', 'fire': '🔥', 'tada': '🎉', 'heart_eyes': '😍', 'joy': '😂', 'open_mouth': '😮', 'sob': '😭' }; const getEmojiByString = emojiCode => emojiMap[emojiCode] || '👍'; //# sourceMappingURL=HLSPlayerEmoticons.js.map