|
146 | 146 | "")]
|
147 | 147 | (subs preview-text 0 (min (count preview-text) max-subheader-length))))
|
148 | 148 |
|
| 149 | +(defn- last-message-color |
| 150 | + [unread-messages? muted theme] |
| 151 | + (cond |
| 152 | + muted (colors/theme-colors colors/neutral-50 colors/neutral-60 theme) |
| 153 | + unread-messages? (colors/theme-colors colors/neutral-100 colors/white theme) |
| 154 | + :else (colors/theme-colors colors/neutral-50 colors/neutral-40 theme))) |
| 155 | + |
149 | 156 | (defn last-message-preview
|
150 | 157 | "Render the preview of a last message to a maximum of max-subheader-length characters"
|
151 |
| - [group-chat {:keys [deleted? outgoing from deleted-for-me?] :as message}] |
| 158 | + [group-chat {:keys [deleted? outgoing from deleted-for-me?] :as message} muted unread-messages?] |
152 | 159 | (let [theme (quo.theme/use-theme)
|
153 | 160 | [primary-name _] (rf/sub [:contacts/contact-two-names-by-identity from])
|
154 | 161 | preview-text (if deleted-for-me?
|
|
162 | 169 | (preview-text-from-content group-chat primary-name message)))]
|
163 | 170 | [quo/text
|
164 | 171 | {:size :paragraph-2
|
165 |
| - :style {:color (colors/theme-colors colors/neutral-50 |
166 |
| - colors/neutral-40 |
167 |
| - theme) |
| 172 | + :style {:color (last-message-color unread-messages? muted theme) |
168 | 173 | :flex 1}
|
169 | 174 | :number-of-lines 1
|
170 | 175 | :ellipsize-mode :tail
|
|
231 | 236 | unviewed-messages-count]])))
|
232 | 237 |
|
233 | 238 | (defn chat-item
|
234 |
| - [{:keys [chat-id group-chat color name last-message timestamp muted image] |
| 239 | + [{:keys [chat-id group-chat color name last-message timestamp muted image |
| 240 | + unviewed-messages-count] |
235 | 241 | :as item}]
|
236 | 242 | (let [[primary-name secondary-name]
|
237 | 243 | (if group-chat
|
238 | 244 | [name ""]
|
239 | 245 | (rf/sub [:contacts/contact-two-names-by-identity chat-id]))
|
240 | 246 | {:keys [ens-verified added?] :as contact} (when-not group-chat
|
241 |
| - (rf/sub [:contacts/contact-by-address chat-id]))] |
| 247 | + (rf/sub [:contacts/contact-by-address chat-id])) |
| 248 | + unread-messages? (pos? unviewed-messages-count)] |
242 | 249 | [rn/view {:style {:flex-direction :row}}
|
243 | 250 | [avatar-view
|
244 | 251 | {:contact contact
|
|
258 | 265 | :muted? muted
|
259 | 266 | :time-str (datetime/to-short-str timestamp)
|
260 | 267 | :style {:flex-shrink 1}}]
|
261 |
| - [last-message-preview group-chat last-message muted]]] |
| 268 | + [last-message-preview group-chat last-message muted unread-messages?]]] |
262 | 269 | [notification item]]))
|
263 | 270 |
|
264 | 271 | (defn chat-user
|
|
0 commit comments