File tree 5 files changed +40
-34
lines changed
5 files changed +40
-34
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.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.message-resolver :as resolver]))
11
12
12
13
(defn content-container
13
- [type {:keys [content-type data new-notifications? color-50 community-info community-channel]}]
14
+ [type {:keys [content-type data new-notifications? color-50 community-info community-channel]
15
+ {:keys [text parsed-text source]} :data }]
14
16
[rn/view {:style (style/content-container new-notifications?)}
15
17
(case type
16
18
shell.constants/community-card
52
54
:number-of-lines 1
53
55
:ellipsize-mode :tail
54
56
:style style/last-message-text}
55
- data]
57
+ (if parsed-text
58
+ (resolver/resolve-message parsed-text)
59
+ text)]
56
60
57
61
constants/content-type-image
58
62
[quo/preview-list
63
67
64
68
constants/content-type-sticker
65
69
[fast-image/fast-image
66
- {:source ( : source data)
70
+ {:source source
67
71
:style style/sticker}]
68
72
69
-
70
73
constants/content-type-gif
71
74
[fast-image/fast-image
72
- {:source ( : source data)
75
+ {:source source
73
76
:style style/gif}]
74
77
75
78
constants/content-type-audio
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.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.message-resolver -test
2
+ (:require [status-im2.utils.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