File tree 5 files changed +48
-37
lines changed
5 files changed +48
-37
lines changed Original file line number Diff line number Diff line change 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]))
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.simple-message-resolver :as resolver]))
27
6
28
7
(defn banner
29
8
[chat-id]
37
16
latest-pin-text
38
17
(cond deleted? (i18n/label :t/message-deleted-for-everyone )
39
18
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))]
41
20
[quo/banner
42
21
{:latest-pin-text latest-pin-text
43
22
:pins-count pins-count
Original file line number Diff line number Diff line change 7
7
[react-native.fast-image :as fast-image]
8
8
[status-im2.constants :as constants]
9
9
[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.simple-message-resolver :as resolver]))
11
12
12
13
(defn content-container
13
14
[type {:keys [content-type data new-notifications? color-50 community-info community-channel]}]
46
47
47
48
(case content-type
48
49
constants/content-type-text
49
- [quo/text
50
- {:size :paragraph-2
51
- :weight :regular
52
- :number-of-lines 1
53
- :ellipsize-mode :tail
54
- :style style/last-message-text}
55
- data]
50
+ (if (:parsed-text data)
51
+ [quo/text
52
+ {:size :paragraph-2
53
+ :weight :regular
54
+ :number-of-lines 1
55
+ :ellipsize-mode :tail
56
+ :style style/last-message-text}
57
+ (resolver/resolve-message (:parsed-text data))]
58
+ [quo/text
59
+ {:size :paragraph-2
60
+ :weight :regular
61
+ :number-of-lines 1
62
+ :ellipsize-mode :tail
63
+ :style style/last-message-text}
64
+ (:text data)])
56
65
57
66
constants/content-type-image
58
67
[quo/preview-list
66
75
{:source (:source data)
67
76
:style style/sticker}]
68
77
69
-
70
78
constants/content-type-gif
71
79
[fast-image/fast-image
72
80
{:source (:source data)
Original file line number Diff line number Diff line change 21
21
(constants/content-type-text
22
22
constants/content-type-emoji)
23
23
{:content-type constants/content-type-text
24
- :data (get-in last-message [ :content :text ] )}
24
+ :data (get last-message :content )}
25
25
26
26
; ; Currently mock image is used as placeholder,
27
27
; ; as last-message don't have image
Original file line number Diff line number Diff line change
1
+ (ns status-im2.utils.simple-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))
Original file line number Diff line number Diff line change 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.simple-message-resolver -test
2
+ (:require [status-im2.utils.simple-message-resolver :as resolver ]
3
3
[cljs.test :as t]
4
4
[utils.re-frame :as rf]))
5
5
29
29
(t/deftest test-resolve-message
30
30
(with-redefs [rf/sub sub]
31
31
(t/testing " "
32
- (let [text (view /resolve-message parsed-text)]
32
+ (let [text (resolver /resolve-message parsed-text)]
33
33
(t/is (= text
34
34
" foobar i just mention you here to debug this issue https://foo.bar , no worries" ))))))
You can’t perform that action at this time.
0 commit comments