@livelike/react-native
Version:
LiveLike React Native package
44 lines (43 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useChatMessageActions = useChatMessageActions;
var _javascript = require("@livelike/javascript");
var _react = require("react");
var _chatMessage = require("../store/chatMessage");
var _useAnalytics = require("./useAnalytics");
function useChatMessageActions(_ref) {
let {
roomId
} = _ref;
const {
trackEvent
} = (0, _useAnalytics.useAnalytics)();
const sendChatMessage = (0, _react.useCallback)(messageArgs => {
return (0, _javascript.sendMessage)(messageArgs).then(message => {
_chatMessage.chatMessageStoreActions.addChatMessageAction({
roomId: messageArgs.roomId,
chatMessage: message
});
trackEvent('Chat Message Sent', {
roomId,
message
});
return message;
}).catch(error => {
trackEvent('Chat Message Failed', {
roomId,
error
});
(0, _javascript.hasDebugLogger)() && console.error(error);
return error;
});
}, [roomId]);
const deleteChatMessage = _chatMessage.chatMessageStoreActions.deleteChatMessageAction;
return {
sendChatMessage,
deleteChatMessage
};
}
//# sourceMappingURL=useChatMessageActions.js.map