UNPKG

@livelike/react-native

Version:

LiveLike React Native package

36 lines (32 loc) 1.08 kB
import { ISendMessageArgs, hasDebugLogger, sendMessage as sendMessageApi, } from '@livelike/javascript'; import { useCallback } from 'react'; import { chatMessageStoreActions } from '../store/chatMessage'; import { useAnalytics } from './useAnalytics'; export function useChatMessageActions({ roomId }) { const { trackEvent } = useAnalytics(); const sendChatMessage = useCallback( (messageArgs: ISendMessageArgs) => { return sendMessageApi(messageArgs) .then((message) => { chatMessageStoreActions.addChatMessageAction({ roomId: messageArgs.roomId, chatMessage: message, }); trackEvent('Chat Message Sent', { roomId, message }); return message; }) .catch((error) => { trackEvent('Chat Message Failed', { roomId, error }); hasDebugLogger() && console.error(error); return error; }); }, [roomId] ); const deleteChatMessage = chatMessageStoreActions.deleteChatMessageAction; return { sendChatMessage, deleteChatMessage }; }