From 8353c656021d1bf9a007a16b534ff7266d8073eb Mon Sep 17 00:00:00 2001 From: Ibrahem Khalil Date: Fri, 19 Apr 2024 12:24:03 +0200 Subject: [PATCH] [19576] Fix group avatar not showing group picture (#19723) --- .../chat/messenger/messages/list/view.cljs | 4 +++- .../chat/messenger/messages/navigation/view.cljs | 4 +++- src/status_im/subs/chats.cljs | 7 +++++++ src/status_im/subs/chats_test.cljs | 15 +++++++++++++++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/status_im/contexts/chat/messenger/messages/list/view.cljs b/src/status_im/contexts/chat/messenger/messages/list/view.cljs index 5cb3c3d9f9..515c7624a5 100644 --- a/src/status_im/contexts/chat/messenger/messages/list/view.cljs +++ b/src/status_im/contexts/chat/messenger/messages/list/view.cljs @@ -234,7 +234,9 @@ online? (rf/sub [:visibility-status-updates/online? chat-id]) contact (when-not group-chat (rf/sub [:contacts/contact-by-address chat-id])) - photo-path (rf/sub [:chats/photo-path chat-id]) + photo-path (if group-chat + (rf/sub [:chats/group-chat-image chat-id]) + (rf/sub [:chats/photo-path chat-id])) top-margin (+ (safe-area/get-top) messages.constants/top-bar-height messages.constants/header-container-top-margin diff --git a/src/status_im/contexts/chat/messenger/messages/navigation/view.cljs b/src/status_im/contexts/chat/messenger/messages/navigation/view.cljs index 18adc97b33..1d0d1350ed 100644 --- a/src/status_im/contexts/chat/messenger/messages/navigation/view.cljs +++ b/src/status_im/contexts/chat/messenger/messages/navigation/view.cljs @@ -34,7 +34,9 @@ (str "# " chat-name) :else (str emoji chat-name)) online? (when-not group-chat (rf/sub [:visibility-status-updates/online? chat-id])) - photo-path (when-not group-chat (rf/sub [:chats/photo-path chat-id])) + photo-path (if group-chat + (rf/sub [:chats/group-chat-image chat-id]) + (rf/sub [:chats/photo-path chat-id])) header-opacity (worklets/navigation-header-opacity distance-from-list-top all-loaded? diff --git a/src/status_im/subs/chats.cljs b/src/status_im/subs/chats.cljs index cf878bf5c2..3409d22a26 100644 --- a/src/status_im/subs/chats.cljs +++ b/src/status_im/subs/chats.cljs @@ -367,3 +367,10 @@ :camera-roll/total-photos-count-ios (fn [{:keys [camera-roll/ios-images-count]}] ios-images-count)) + +(re-frame/reg-sub + :chats/group-chat-image + (fn [[_ chat-id]] + (re-frame/subscribe [:chats/chat chat-id])) + :-> + :image) diff --git a/src/status_im/subs/chats_test.cljs b/src/status_im/subs/chats_test.cljs index 060675bba0..3777d7700e 100644 --- a/src/status_im/subs/chats_test.cljs +++ b/src/status_im/subs/chats_test.cljs @@ -177,3 +177,18 @@ (is (= :army (:color result))) (is (= "test" (:chat-name result))) (is (= "🍑" (:emoji result))))))) + +(h/deftest-sub :chats/group-chat-image + [sub-name] + (testing "returns picture for group" + (let [image-data {:uri "data:image/png1234"} + chats {chat-id (assoc community-chat + :color :army + :emoji "🍑" + :chat-name "test" + :image image-data)}] + (swap! rf-db/app-db assoc + :chats + chats) + (let [result (rf/sub [sub-name chat-id])] + (= image-data result)))))