From 61235c953c79c6496cbdc207a46b4afa1068add0 Mon Sep 17 00:00:00 2001 From: Rayene123 Date: Thu, 24 Apr 2025 11:53:08 +0100 Subject: [PATCH] added a watch icon button when clicked toggle if a card is watched or not --- client/components/cards/minicard.jade | 9 +++++++++ client/components/cards/minicard.js | 14 ++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 7630c85cd..cfec7ae46 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -225,3 +225,12 @@ template(name="minicardDetailsActionsPopup") a.js-link i.fa.fa-link | {{_ 'link-card'}} + li + a.js-toggle-watch-card + if isWatching + i.fa.fa-eye + | {{_ 'unwatch'}} + else + i.fa.fa-eye-slash + | {{_ 'watch'}} + diff --git a/client/components/cards/minicard.js b/client/components/cards/minicard.js index d9b5a3806..959092dd3 100644 --- a/client/components/cards/minicard.js +++ b/client/components/cards/minicard.js @@ -46,6 +46,10 @@ BlazeComponent.extendComponent({ } return ret; }, + isWatching() { + const card = this.currentData(); + return card.findWatcher(Meteor.userId()); + }, showMembers() { // cache "board" to reduce the mini-mongodb access @@ -125,6 +129,9 @@ Template.minicard.helpers({ ? Meteor.connection._lastSessionId : null; }, + isWatching() { + return this.findWatcher(Meteor.userId()); + } }); BlazeComponent.extendComponent({ @@ -178,4 +185,11 @@ Template.minicardDetailsActionsPopup.events({ this.archive(); Utils.goBoardId(this.boardId); }), + 'click .js-toggle-watch-card'() { + const currentCard = this; + const level = currentCard.findWatcher(Meteor.userId()) ? null : 'watching'; + Meteor.call('watch', 'card', currentCard._id, level, (err, ret) => { + if (!err && ret) Popup.back(); + }); + }, });