fix exclamation mark for response messages

Former-commit-id: 2894baa0e1
This commit is contained in:
Roman Volosovskyi 2016-06-27 12:33:46 +03:00
parent 6f9881af55
commit b1e8a6c30f
2 changed files with 23 additions and 22 deletions

View File

@ -56,26 +56,22 @@
[view st/track-mark] [view st/track-mark]
[text {:style st/track-duration-text} "03:39"]]]) [text {:style st/track-duration-text} "03:39"]]])
(defn message-content-command [content preview] (defview message-content-command [content preview]
(let [commands-atom (subscribe [:get-commands-and-responses])] [commands [:get-commands-and-responses]]
(fn [content preview] (let [{:keys [command content]} (parse-command-msg-content commands content)
(let [commands @commands-atom {:keys [name icon type]} command]
{:keys [command content]} [view st/content-command-view
(parse-command-msg-content commands content)] [view st/command-container
[view st/content-command-view [view (st/command-view command)
[view st/command-container [text {:style st/command-name}
[view (st/command-view command) (str (if (= :command type) "!" "") name)]]]
[text {:style st/command-name} (when icon
(str "!" (:name command))]]] [view st/command-image-view
;; todo doesn't reflect design [image {:source {:uri icon}
(when-let [icon (:icon command)] :style st/command-image}]])
[view st/command-image-view (if preview
[image {:source {:uri icon} preview
:style st/command-image}]]) [text {:style st/command-text} content])]))
(if preview
preview
[text {:style st/command-text}
content])]))))
(defn set-chat-command [msg-id command] (defn set-chat-command [msg-id command]
(dispatch [:set-response-chat-command msg-id (keyword (:name command))])) (dispatch [:set-response-chat-command msg-id (keyword (:name command))]))

View File

@ -61,11 +61,16 @@
(get-hash-by-file file))] (get-hash-by-file file))]
(assoc db ::valid-hash valid?))) (assoc db ::valid-hash valid?)))
(defn mark-as [as coll]
(->> coll
(map (fn [[k v]] [k (assoc v :type as)]))
(into {})))
(defn add-commands (defn add-commands
[db [id _ {:keys [commands responses]}]] [db [id _ {:keys [commands responses]}]]
(-> db (-> db
(update-in [:chats id :commands] merge commands) (update-in [:chats id :commands] merge (mark-as :command commands))
(update-in [:chats id :responses] merge responses))) (update-in [:chats id :responses] merge (mark-as :response responses))))
(defn save-commands-js! (defn save-commands-js!
[_ [id file]] [_ [id file]]