stream-chat-react-native-core
Version:
The official React Native and Expo components for Stream Chat, a service for building chat applications
32 lines • 1.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.removeReactionFromLocalState = void 0;
var removeReactionFromLocalState = ({
channel,
messageId,
reactionType,
user
}) => {
var message = channel.state.messages.find(({
id
}) => id === messageId);
if (!message || !channel?.id || !user?.id) {
return;
}
message.own_reactions = message.own_reactions?.filter(reaction => reaction.type !== reactionType);
message.latest_reactions = message.latest_reactions?.filter(r => !(r.user_id === user?.id && r.type === reactionType));
if (message.reaction_groups?.[reactionType]) {
if (message.reaction_groups[reactionType].count > 0 || message.reaction_groups[reactionType].sum_scores > 0) {
message.reaction_groups[reactionType].count = Math.max(0, message.reaction_groups[reactionType].count - 1);
message.reaction_groups[reactionType].sum_scores = Math.max(0, message.reaction_groups[reactionType].sum_scores - 1);
if (message.reaction_groups[reactionType].count === 0 || message.reaction_groups[reactionType].sum_scores === 0) {
delete message.reaction_groups[reactionType];
}
} else {
delete message.reaction_groups[reactionType];
}
}
};
exports.removeReactionFromLocalState = removeReactionFromLocalState;
//# sourceMappingURL=removeReactionFromLocalState.js.map