|
1 | 1 | (ns status-im2.contexts.chat.messages.pin.banner.view
|
2 | 2 | (:require [quo2.core :as quo]
|
3 | 3 | [utils.i18n :as i18n]
|
4 |
| - [utils.re-frame :as rf])) |
| 4 | + [utils.re-frame :as rf] |
| 5 | + [status-im2.constants :as constants])) |
5 | 6 |
|
6 | 7 | (defn resolve-message
|
7 | 8 | [parsed-text]
|
|
25 | 26 | ""
|
26 | 27 | parsed-text))
|
27 | 28 |
|
| 29 | +(defn message-text |
| 30 | + [{:keys [content-type] :as message}] |
| 31 | + (cond (= content-type constants/content-type-audio) |
| 32 | + (i18n/label :audio-message) |
| 33 | + :else |
| 34 | + (get-in message [:content :parsed-text]))) |
| 35 | + |
28 | 36 | (defn banner
|
29 | 37 | [chat-id]
|
30 | 38 | (let [pinned-messages (rf/sub [:chats/pinned-sorted-list chat-id])
|
31 | 39 | latest-pinned-message-id (-> pinned-messages last :message-id)
|
32 | 40 | latest-pinned-message (get (rf/sub [:chats/chat-messages chat-id]) latest-pinned-message-id)
|
33 |
| - latest-pin-text (get-in latest-pinned-message [:content :parsed-text]) |
| 41 | + latest-pin-text (message-text latest-pinned-message) |
34 | 42 | {:keys [deleted? deleted-for-me?]} latest-pinned-message
|
35 | 43 | pins-count (count pinned-messages)
|
36 |
| - |
| 44 | + content-type-text? (= (:content-type latest-pinned-message) constants/content-type-text) |
37 | 45 | latest-pin-text
|
38 |
| - (cond deleted? (i18n/label :t/message-deleted-for-everyone) |
39 |
| - deleted-for-me? (i18n/label :t/message-deleted-for-you) |
40 |
| - :else (resolve-message latest-pin-text))] |
| 46 | + (cond deleted? (i18n/label :t/message-deleted-for-everyone) |
| 47 | + deleted-for-me? (i18n/label :t/message-deleted-for-you) |
| 48 | + content-type-text? (resolve-message latest-pin-text) |
| 49 | + :else latest-pin-text)] |
41 | 50 | [quo/banner
|
42 | 51 | {:latest-pin-text latest-pin-text
|
43 | 52 | :pins-count pins-count
|
|
0 commit comments