UNPKG

@livelike/react-native

Version:

LiveLike React Native package

46 lines (45 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useUserReactions = useUserReactions; var _react = require("react"); var _store = require("../store"); var _useReactionPacks = require("./useReactionPacks"); var _useSelectedFieldStore = require("./useSelectedFieldStore"); const initialUserReactionValue = {}; function useUserReactions(_ref) { let { reactionSpaceId, targetId } = _ref; const targetIdUserReactions = (0, _useSelectedFieldStore.useSelectedFieldStore)(_store.userReactionStore, () => { var _userReactionStore$ge; return ((_userReactionStore$ge = _store.userReactionStore.get()) === null || _userReactionStore$ge === void 0 || (_userReactionStore$ge = _userReactionStore$ge[reactionSpaceId]) === null || _userReactionStore$ge === void 0 ? void 0 : _userReactionStore$ge[targetId]) || initialUserReactionValue; }); const { reactionPacks } = (0, _useReactionPacks.useReactionPacks)({ reactionSpaceId }); const validUserReactions = (0, _react.useMemo)(() => { if (!reactionPacks.length || !Object.keys(targetIdUserReactions).length) { return initialUserReactionValue; } return reactionPacks.reduce((_allReactions, pack) => { pack.emojis.forEach(emoji => { if (targetIdUserReactions[emoji.id]) { _allReactions[emoji.id] = { ...targetIdUserReactions[emoji.id], imageSrc: emoji.file }; } }); return _allReactions; }, {}); }, [targetIdUserReactions, reactionPacks]); return { userReactions: validUserReactions }; } //# sourceMappingURL=useUserReactions.js.map