@livelike/react-native
Version:
LiveLike React Native package
38 lines • 1.09 kB
JavaScript
import { hasDebugLogger, sendMessage as sendMessageApi } from '@livelike/javascript';
import { useCallback } from 'react';
import { chatMessageStoreActions } from '../store/chatMessage';
import { useAnalytics } from './useAnalytics';
export function useChatMessageActions(_ref) {
let {
roomId
} = _ref;
const {
trackEvent
} = useAnalytics();
const sendChatMessage = useCallback(messageArgs => {
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
};
}
//# sourceMappingURL=useChatMessageActions.js.map