Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 0fc758a

Browse files
committedApr 25, 2023
[#15655] Resolve messages with markdown on Jump To screen
1 parent 1e4a49f commit 0fc758a

File tree

5 files changed

+42
-34
lines changed

5 files changed

+42
-34
lines changed
 

‎src/status_im2/contexts/chat/messages/pin/banner/view.cljs

+3-24
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,8 @@
11
(ns status-im2.contexts.chat.messages.pin.banner.view
22
(:require [quo2.core :as quo]
33
[utils.i18n :as i18n]
4-
[utils.re-frame :as rf]))
5-
6-
(defn resolve-message
7-
[parsed-text]
8-
(reduce
9-
(fn [acc {:keys [type literal destination] :as some-text}]
10-
(str acc
11-
(case type
12-
"paragraph"
13-
(resolve-message (:children some-text))
14-
15-
"mention"
16-
(rf/sub [:messages/resolve-mention literal])
17-
18-
"status-tag"
19-
(str "#" literal)
20-
21-
"link"
22-
destination
23-
24-
literal)))
25-
""
26-
parsed-text))
4+
[utils.re-frame :as rf]
5+
[status-im2.utils.message-resolver :as resolver]))
276

287
(defn banner
298
[chat-id]
@@ -37,7 +16,7 @@
3716
latest-pin-text
3817
(cond deleted? (i18n/label :t/message-deleted-for-everyone)
3918
deleted-for-me? (i18n/label :t/message-deleted-for-you)
40-
:else (resolve-message latest-pin-text))]
19+
:else (resolver/resolve-message latest-pin-text))]
4120
[quo/banner
4221
{:latest-pin-text latest-pin-text
4322
:pins-count pins-count

‎src/status_im2/contexts/shell/cards/view.cljs

+11-6
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@
77
[react-native.fast-image :as fast-image]
88
[status-im2.constants :as constants]
99
[status-im2.contexts.shell.cards.style :as style]
10-
[status-im2.contexts.shell.constants :as shell.constants]))
10+
[status-im2.contexts.shell.constants :as shell.constants]
11+
[status-im2.utils.message-resolver :as resolver]))
1112

1213
(defn content-container
13-
[type {:keys [content-type data new-notifications? color-50 community-info community-channel]}]
14+
[type
15+
{:keys [content-type data new-notifications? color-50 community-info
16+
community-channel]
17+
{:keys [text parsed-text source]} :data}]
1418
[rn/view {:style (style/content-container new-notifications?)}
1519
(case type
1620
shell.constants/community-card
@@ -52,7 +56,9 @@
5256
:number-of-lines 1
5357
:ellipsize-mode :tail
5458
:style style/last-message-text}
55-
data]
59+
(if parsed-text
60+
(resolver/resolve-message parsed-text)
61+
text)]
5662

5763
constants/content-type-image
5864
[quo/preview-list
@@ -63,13 +69,12 @@
6369

6470
constants/content-type-sticker
6571
[fast-image/fast-image
66-
{:source (:source data)
72+
{:source source
6773
:style style/sticker}]
6874

69-
7075
constants/content-type-gif
7176
[fast-image/fast-image
72-
{:source (:source data)
77+
{:source source
7378
:style style/gif}]
7479

7580
constants/content-type-audio

‎src/status_im2/subs/shell.cljs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
(constants/content-type-text
2222
constants/content-type-emoji)
2323
{:content-type constants/content-type-text
24-
:data (get-in last-message [:content :text])}
24+
:data (get last-message :content)}
2525

2626
;; Currently mock image is used as placeholder,
2727
;; as last-message don't have image
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
(ns status-im2.utils.message-resolver
2+
(:require [utils.re-frame :as rf]))
3+
4+
(defn resolve-message
5+
[parsed-text]
6+
(reduce
7+
(fn [acc {:keys [type literal destination] :as some-text}]
8+
(str acc
9+
(case type
10+
"paragraph"
11+
(resolve-message (:children some-text))
12+
13+
"mention"
14+
(rf/sub [:messages/resolve-mention literal])
15+
16+
"status-tag"
17+
(str "#" literal)
18+
19+
"link"
20+
destination
21+
22+
literal)))
23+
""
24+
parsed-text))

‎src/status_im2/contexts/chat/messages/pin/banner/view_test.cljs renamed to ‎src/status_im2/utils/message_resolver_test.cljs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
(ns status-im2.contexts.chat.messages.pin.banner.view-test
2-
(:require [status-im2.contexts.chat.messages.pin.banner.view :as view]
1+
(ns status-im2.utils.message-resolver-test
2+
(:require [status-im2.utils.message-resolver :as resolver]
33
[cljs.test :as t]
44
[utils.re-frame :as rf]))
55

@@ -29,6 +29,6 @@
2929
(t/deftest test-resolve-message
3030
(with-redefs [rf/sub sub]
3131
(t/testing ""
32-
(let [text (view/resolve-message parsed-text)]
32+
(let [text (resolver/resolve-message parsed-text)]
3333
(t/is (= text
3434
"foobar i just mention you here to debug this issue https://foo.bar , no worries"))))))

0 commit comments

Comments
 (0)
Please sign in to comment.