diff --git a/client/components/activities/activities.js b/client/components/activities/activities.js index 91bedba97..8ab092ea2 100644 --- a/client/components/activities/activities.js +++ b/client/components/activities/activities.js @@ -266,6 +266,7 @@ Template.addReactionPopup.events({ Template.addReactionPopup.helpers({ codepoints() { + // Starting set of unicode codepoints as comment reactions return [ '👍', '👎', diff --git a/models/cardComments.js b/models/cardComments.js index b97642af9..3f57f0b94 100644 --- a/models/cardComments.js +++ b/models/cardComments.js @@ -106,9 +106,12 @@ CardComments.helpers({ const userId = Meteor.userId(); const reaction = reactions.find(r => r.reactionCodepoint === reactionCodepoint); + // If no reaction is set for the codepoint, add this if (!reaction) { reactions.push({ reactionCodepoint, userIds: [userId] }); } else { + + // toggle user reaction upon previous reaction state const userHasReacted = reaction.userIds.includes(userId); if (userHasReacted) { reaction.userIds.splice(reaction.userIds.indexOf(userId), 1); @@ -119,6 +122,8 @@ CardComments.helpers({ reaction.userIds.push(userId); } } + + // If no reaction doc exists yet create otherwise update reaction set if (!!cardCommentReactions) { return CardCommentReactions.update({ _id: cardCommentReactions._id }, { $set: { reactions } }); } else {