@livelike/react-native
Version:
LiveLike React Native package
52 lines (51 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useUserReactionsEffect = useUserReactionsEffect;
var _react = require("react");
var _javascript = require("@livelike/javascript");
var _userReaction = require("../store/userReaction");
function useUserReactionsEffect(_ref) {
let {
reactionSpaceId
} = _ref;
const addUserReaction = (0, _react.useCallback)(event => {
_userReaction.userReactionStoreActions.addUserReactionAction({
reactionSpaceId,
userReaction: event.message,
profileId: _javascript.userProfile.id
});
}, [reactionSpaceId]);
const removeUserReaction = (0, _react.useCallback)(event => {
_userReaction.userReactionStoreActions.removeUserReactionAction({
reactionSpaceId,
userReaction: event.message,
profileId: _javascript.userProfile.id
});
}, [reactionSpaceId]);
(0, _react.useEffect)(() => {
if (!reactionSpaceId) {
return;
}
(0, _javascript.addReactionSpaceEventListener)({
event: _javascript.ReactionSpaceEvent.ADD_REACTION,
reactionSpaceId
}, addUserReaction);
(0, _javascript.addReactionSpaceEventListener)({
event: _javascript.ReactionSpaceEvent.REMOVE_REACTION,
reactionSpaceId
}, removeUserReaction);
return () => {
(0, _javascript.removeReactionSpaceEventListener)({
event: _javascript.ReactionSpaceEvent.ADD_REACTION,
reactionSpaceId
}, addUserReaction);
(0, _javascript.removeReactionSpaceEventListener)({
event: _javascript.ReactionSpaceEvent.REMOVE_REACTION,
reactionSpaceId
}, removeUserReaction);
};
}, [reactionSpaceId]);
}
//# sourceMappingURL=useUserReactionsEffect.js.map