stream-chat-react
Version:
React components to create chat conversations or livestream style chat
23 lines (22 loc) • 906 B
JavaScript
import { useEffect, useState } from 'react';
import { useChatContext } from '../../../../context/ChatContext';
export const useGiphyPreview = (separateGiphyPreview) => {
const [giphyPreviewMessage, setGiphyPreviewMessage] = useState();
const { client } = useChatContext('useGiphyPreview');
useEffect(() => {
if (!separateGiphyPreview)
return;
const handleEvent = (event) => {
const { message, user } = event;
if (message?.command === 'giphy' && user?.id === client.userID) {
setGiphyPreviewMessage(undefined);
}
};
client.on('message.new', handleEvent);
return () => client.off('message.new', handleEvent);
}, [client, separateGiphyPreview]);
return {
giphyPreviewMessage,
setGiphyPreviewMessage: separateGiphyPreview ? setGiphyPreviewMessage : undefined,
};
};