From 46c023920c369c4bf74a889ce4be265bdf0c3d60 Mon Sep 17 00:00:00 2001 From: Michele Balistreri Date: Tue, 30 Nov 2021 14:30:24 +0300 Subject: [PATCH] sync activity center Signed-off-by: Michele Balistreri --- src/status_im/data_store/activities.cljs | 5 +++- src/status_im/notifications_center/core.cljs | 29 ++++++++++++++------ status-go-version.json | 6 ++-- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/status_im/data_store/activities.cljs b/src/status_im/data_store/activities.cljs index fe838e35b1..4a183c1b3e 100644 --- a/src/status_im/data_store/activities.cljs +++ b/src/status_im/data_store/activities.cljs @@ -28,7 +28,10 @@ :chat-type constants/one-to-one-chat-type :chat-name name :public? false - :group-chat false))) + :group-chat false) + + :else + chat)) (defn <-rpc [item] (-> item diff --git a/src/status_im/notifications_center/core.cljs b/src/status_im/notifications_center/core.cljs index 15c1b75f34..698c6ebbd1 100644 --- a/src/status_im/notifications_center/core.cljs +++ b/src/status_im/notifications_center/core.cljs @@ -6,15 +6,28 @@ [status-im.data-store.activities :as data-store.activities])) (fx/defn handle-activities [{:keys [db]} activities] - {:db (-> db - (update-in [:activity.center/notifications :notifications] #(concat activities %)) - (update :activity.center/notifications-count + (count activities))) - :dispatch (cond - (= (:view-id db) :notifications-center) - [:mark-all-activity-center-notifications-as-read] + (let [{:keys [unread-count notifications]} + (reduce (fn [acc {:keys [read dismissed accepted] :as notification}] + (as-> acc a + (if read + (update a :unread-count dec) + (update a :unread-count inc)) - (= (:view-id db) :chat) - [:accept-all-activity-center-notifications-from-chat (:current-chat-id db)])}) + (if (or dismissed accepted) + (update a :notifications (fn [items] (remove #(= (:id notification) (:id %)) items))) + (update a :notifications conj notification)))) + {:unread-count (get db :activity.center/notifications-count 0) + :notifications (get-in db [:activity.center/notifications :notifications])} + activities)] + {:db (-> db + (assoc-in [:activity.center/notifications :notifications] notifications) + (assoc :activity.center/notifications-count (max 0 unread-count))) + :dispatch (cond + (= (:view-id db) :notifications-center) + [:mark-all-activity-center-notifications-as-read] + + (= (:view-id db) :chat) + [:accept-all-activity-center-notifications-from-chat (:current-chat-id db)])})) (fx/defn get-activity-center-notifications-count {:events [:get-activity-center-notifications-count]} diff --git a/status-go-version.json b/status-go-version.json index 88b6606b5b..ed7f970047 100644 --- a/status-go-version.json +++ b/status-go-version.json @@ -3,7 +3,7 @@ "_comment": "Instead use: scripts/update-status-go.sh ", "owner": "status-im", "repo": "status-go", - "version": "v0.91.12", - "commit-sha1": "f60cf5cd47c9f50f1bfb8e01aa5f49802d5220c5", - "src-sha256": "10dwxrav77v7xvbzy9camacdflsvpyjnwry638jhgrd4i32x745f" + "version": "v0.91.14", + "commit-sha1": "0867458f16dc8ddb5a25113083c82fde3b27f148", + "src-sha256": "0l1slzs96glycylsy8cdi20qzabdhwd3j78fwvn4aknxddyyy8fr" }