@livelike/react-native
Version:
LiveLike React Native package
46 lines (45 loc) • 1.65 kB
JavaScript
;
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