@livelike/react-native
Version:
LiveLike React Native package
40 lines • 1.18 kB
JavaScript
import { useCallback } from 'react';
import { getUserReactionsCount } from '@livelike/javascript';
import { userReactionStoreActions } from '../store/userReaction';
export function useLoadUserReactions(_ref) {
let {
reactionSpaceId
} = _ref;
const loadUserReactions = useCallback(_ref2 => {
let {
targetIds
} = _ref2;
if (targetIds.length === 0 || !reactionSpaceId) {
return;
}
const loadUserReactionCountData = async () => {
const {
results: _userReactions
} = await getUserReactionsCount({
targetIds,
reactionSpaceId
});
const reducedUserReactions = _userReactions.reduce((accReactions, reaction) => {
accReactions[reaction.target_id] = reaction.reactions.reduce((a, r) => {
a[r.reaction_id] = r;
return a;
}, {});
return accReactions;
}, {});
userReactionStoreActions.loadUserReactionAction({
reactionSpaceId,
targetUserReactions: reducedUserReactions
});
};
loadUserReactionCountData();
}, [reactionSpaceId]);
return {
loadUserReactions
};
}
//# sourceMappingURL=useLoadUserReactions.js.map