UNPKG

@livelike/react-native

Version:

LiveLike React Native package

87 lines (86 loc) 4.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.userReactionStoreActions = exports.userReactionStore = void 0; var _store = require("./store"); const initalUserReaction = {}; const userReactionStore = exports.userReactionStore = (0, _store.createStore)(initalUserReaction); const userReactionStoreActions = exports.userReactionStoreActions = { addUserReactionAction(_ref) { var _userReactionStore$ge, _userReactions$target; let { reactionSpaceId, userReaction, profileId } = _ref; const userReactions = (_userReactionStore$ge = userReactionStore.get()) === null || _userReactionStore$ge === void 0 ? void 0 : _userReactionStore$ge[reactionSpaceId]; const { target_id, reaction_id, reacted_by_id, id } = userReaction; const isSelfReacted = profileId === reacted_by_id; const reactionDetails = userReactions === null || userReactions === void 0 || (_userReactions$target = userReactions[target_id]) === null || _userReactions$target === void 0 ? void 0 : _userReactions$target[reaction_id]; const hasSelfReactionAlreadyAdded = isSelfReacted && reactionDetails && !!(reactionDetails !== null && reactionDetails !== void 0 && reactionDetails.self_reacted_user_reaction_id); const updatedUserReactions = { ...userReactions, [target_id]: { ...(userReactions === null || userReactions === void 0 ? void 0 : userReactions[target_id]), [reaction_id]: { reaction_id, self_reacted_user_reaction_id: isSelfReacted ? id : reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.self_reacted_user_reaction_id, count: hasSelfReactionAlreadyAdded ? reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.count : ((reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.count) ?? 0) + 1 } } }; userReactionStore.set({ ...userReactionStore.get(), [reactionSpaceId]: updatedUserReactions }); }, removeUserReactionAction(_ref2) { var _userReactionStore$ge2, _userReactions$target2; let { reactionSpaceId, userReaction, profileId } = _ref2; const userReactions = (_userReactionStore$ge2 = userReactionStore.get()) === null || _userReactionStore$ge2 === void 0 ? void 0 : _userReactionStore$ge2[reactionSpaceId]; const { target_id, reaction_id, reacted_by_id } = userReaction; const isSelfReacted = profileId === reacted_by_id; const reactionDetails = userReactions === null || userReactions === void 0 || (_userReactions$target2 = userReactions[target_id]) === null || _userReactions$target2 === void 0 ? void 0 : _userReactions$target2[reaction_id]; const hasSelfReactionAlreadyRemoved = isSelfReacted && reactionDetails && !(reactionDetails !== null && reactionDetails !== void 0 && reactionDetails.self_reacted_user_reaction_id); const updatedUserReactions = { ...userReactions, [target_id]: { ...(userReactions === null || userReactions === void 0 ? void 0 : userReactions[target_id]), [reaction_id]: { reaction_id, self_reacted_user_reaction_id: isSelfReacted ? null : reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.self_reacted_user_reaction_id, count: hasSelfReactionAlreadyRemoved ? reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.count : ((reactionDetails === null || reactionDetails === void 0 ? void 0 : reactionDetails.count) ?? 0) - 1 } } }; userReactionStore.set({ ...userReactionStore.get(), [reactionSpaceId]: updatedUserReactions }); }, loadUserReactionAction(_ref3) { let { reactionSpaceId, targetUserReactions } = _ref3; userReactionStore.set({ ...userReactionStore.get(), [reactionSpaceId]: targetUserReactions }); } }; //# sourceMappingURL=userReaction.js.map