UNPKG

@livelike/react-native

Version:

LiveLike React Native package

51 lines (50 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useLoadReactionPacksEffect = useLoadReactionPacksEffect; var _react = require("react"); var _javascript = require("@livelike/javascript"); var _reactionPack = require("../store/reactionPack"); const loadReactionPackFromReactionSpace = reactionSpace => { return Promise.all(reactionSpace.reaction_pack_ids.map(reactionPackId => (0, _javascript.getReactionPackDetail)({ reactionPackId }))).then(reactionPacks => { _reactionPack.reactionPackStoreActions.updateReactionPackAction({ reactionSpaceId: reactionSpace.id, reactionPacks }); }); }; function useLoadReactionPacksEffect(_ref) { let { reactionSpaceId } = _ref; (0, _react.useEffect)(() => { if (!reactionSpaceId) { return; } (0, _javascript.getReactionSpaceDetail)({ reactionSpaceId }).then(loadReactionPackFromReactionSpace); }, [reactionSpaceId]); const reactionSpaceListener = (0, _react.useCallback)(event => { return loadReactionPackFromReactionSpace(event.message); }, [reactionSpaceId]); (0, _react.useEffect)(() => { if (!reactionSpaceId) { return; } (0, _javascript.addReactionSpaceEventListener)({ event: _javascript.ReactionSpaceEvent.UPDATE_REACTION_SPACE, reactionSpaceId }, reactionSpaceListener); return () => { (0, _javascript.removeReactionSpaceEventListener)({ event: _javascript.ReactionSpaceEvent.UPDATE_REACTION_SPACE, reactionSpaceId }, reactionSpaceListener); }; }, [reactionSpaceId]); } //# sourceMappingURL=useLoadReactionPacksEffect.js.map