diff --git a/src/syng_im/components/chat.cljs b/src/syng_im/components/chat.cljs index bda82c7803..99b5440032 100644 --- a/src/syng_im/components/chat.cljs +++ b/src/syng_im/components/chat.cljs @@ -135,7 +135,7 @@ :fontSize 12 :fontFamily font}} "Active a minute ago"])] - (when (not group?) + (when-not group? [view {:style {:position "absolute" :top 10 :right 66}} diff --git a/src/syng_im/components/chat/chat_message_new.cljs b/src/syng_im/components/chat/chat_message_new.cljs index f050e32fa9..a50662ee4e 100644 --- a/src/syng_im/components/chat/chat_message_new.cljs +++ b/src/syng_im/components/chat/chat_message_new.cljs @@ -47,7 +47,7 @@ staged-commands @staged-commands-atom] [view {:style {:backgroundColor color-white :elevation 4}} - (when (and staged-commands (< 0 (count staged-commands))) + (when (and staged-commands (pos? (count staged-commands))) [staged-commands-view staged-commands]) (if command [special-input-view command] diff --git a/src/syng_im/components/chat/input/simple_command.cljs b/src/syng_im/components/chat/input/simple_command.cljs index d4066ce587..f80c4ce73c 100644 --- a/src/syng_im/components/chat/input/simple_command.cljs +++ b/src/syng_im/components/chat/input/simple_command.cljs @@ -66,7 +66,7 @@ (send-command chat-id command message))} input-options) message] - (if (< 0 (count message)) + (if (pos? (count message)) [touchable-highlight {:on-press (fn [] (send-command chat-id command message)) :underlay-color :transparent} diff --git a/src/syng_im/components/chat/plain_message_input.cljs b/src/syng_im/components/chat/plain_message_input.cljs index 4924d9a913..0e869ca3a9 100644 --- a/src/syng_im/components/chat/plain_message_input.cljs +++ b/src/syng_im/components/chat/plain_message_input.cljs @@ -67,8 +67,8 @@ :marginRight 18 :width 20 :height 20}}] - (when (or (< 0 (count input-message)) - (< 0 (count @staged-commands-atom))) + (when (or (pos? (count input-message)) + (pos? (count @staged-commands-atom))) [touchable-highlight {:on-press (fn [] (send @chat input-message)) :underlay-color :transparent} diff --git a/src/syng_im/components/chat/suggestions.cljs b/src/syng_im/components/chat/suggestions.cljs index 182845eb00..d4edbc9800 100644 --- a/src/syng_im/components/chat/suggestions.cljs +++ b/src/syng_im/components/chat/suggestions.cljs @@ -57,7 +57,7 @@ (let [suggestions-atom (subscribe [:get-suggestions])] (fn [] (let [suggestions @suggestions-atom] - (when (not (empty? suggestions)) + (when (seq suggestions) [view {:style {:flexDirection "row" :marginVertical 1 :marginHorizontal 0 diff --git a/src/syng_im/components/chats/chat_list_item_inner.cljs b/src/syng_im/components/chats/chat_list_item_inner.cljs index e1010715e6..2c59897bfc 100644 --- a/src/syng_im/components/chats/chat_list_item_inner.cljs +++ b/src/syng_im/components/chats/chat_list_item_inner.cljs @@ -114,7 +114,7 @@ :marginLeft 5}} timestamp]] ;;; new messages count - (when (< 0 new-messages-count) + (when (pos? new-messages-count) [view {:style {:position "absolute" :top 36 :right 0 diff --git a/src/syng_im/components/contact_list/contact_inner.cljs b/src/syng_im/components/contact_list/contact_inner.cljs index 996c58270d..13e79d983b 100644 --- a/src/syng_im/components/contact_list/contact_inner.cljs +++ b/src/syng_im/components/contact_list/contact_inner.cljs @@ -61,6 +61,6 @@ :fontSize 16 :fontFamily font :color text1-color}} - (if (< 0 (count name)) + (if (pos? (count name)) name "Noname")]]]) diff --git a/src/syng_im/handlers.cljs b/src/syng_im/handlers.cljs index eb0a8838c7..519b62f566 100644 --- a/src/syng_im/handlers.cljs +++ b/src/syng_im/handlers.cljs @@ -273,7 +273,7 @@ (if-let [command (get-command db text)] (do (dispatch [:set-chat-command (:command command)]) db) - (let [msg (when (< 0 (count text)) + (let [msg (when (pos? (count text)) (if (= chat-id "console") (sign-up-service/send-console-msg text) (let [{msg-id :msg-id @@ -449,8 +449,7 @@ (register-handler :remove-selected-participants (fn [db [action navigator]] (log/debug action) - (let [identities (-> (new-participants-selection db) - (vec)) + (let [identities (vec (new-participants-selection db)) chat-id (current-chat-id db)] (chat-remove-participants chat-id identities) (nav-pop navigator) @@ -468,8 +467,7 @@ (register-handler :add-new-participants (fn [db [action navigator]] (log/debug action) - (let [identities (-> (new-participants-selection db) - (vec)) + (let [identities (vec (new-participants-selection db)) chat-id (current-chat-id db)] (chat-add-participants chat-id identities) (nav-pop navigator) @@ -491,8 +489,7 @@ (register-handler :create-new-group (fn [db [action group-name navigator]] (log/debug action) - (let [identities (-> (new-group-selection db) - (vec)) + (let [identities (vec (new-group-selection db)) group-id (api/start-group-chat identities group-name) db (create-chat db group-id identities true group-name)] (dispatch [:show-chat group-id navigator :replace]) diff --git a/src/syng_im/handlers/contacts.cljs b/src/syng_im/handlers/contacts.cljs index bd21ffce70..53b0146a49 100644 --- a/src/syng_im/handlers/contacts.cljs +++ b/src/syng_im/handlers/contacts.cljs @@ -11,7 +11,7 @@ (defn- get-contact-name [phone-contact] (cstr/join " " - (filter #(not (cstr/blank? %)) + (remove cstr/blank? [(:givenName phone-contact) (:middleName phone-contact) (:familyName phone-contact)]))) diff --git a/src/syng_im/handlers/suggestions.cljs b/src/syng_im/handlers/suggestions.cljs index 3896482ad6..8ce337b436 100644 --- a/src/syng_im/handlers/suggestions.cljs +++ b/src/syng_im/handlers/suggestions.cljs @@ -49,10 +49,7 @@ (defn execute-commands-js [body] (.eval js/window body) (let [commands (.-commands js/window)] - (dispatch [:set-commands (map (fn [command] - (update command :command - (fn [command-key] - (keyword command-key)))) + (dispatch [:set-commands (map #(update % :command keyword) (js->clj commands :keywordize-keys true))]))) (defn load-commands [] diff --git a/src/syng_im/models/chat.cljs b/src/syng_im/models/chat.cljs index d522c440fb..920442174b 100644 --- a/src/syng_im/models/chat.cljs +++ b/src/syng_im/models/chat.cljs @@ -14,8 +14,7 @@ 0)))) (defn chat-updated? [db chat-id] - (->> (db/updated-chat-signal-path chat-id) - (get-in db))) + (get-in db (db/updated-chat-signal-path chat-id))) (defn update-new-group-selection [db identity add?] (update-in db db/new-group-path (fn [new-group] diff --git a/src/syng_im/models/chats.cljs b/src/syng_im/models/chats.cljs index 12caa0ecce..d777dc4329 100644 --- a/src/syng_im/models/chats.cljs +++ b/src/syng_im/models/chats.cljs @@ -55,8 +55,7 @@ (signal-chats-updated db))))) (defn chats-list [] - (-> (r/get-all :chats) - (r/sorted :timestamp :desc))) + (r/sorted (r/get-all :chats) :timestamp :desc)) (defn chat-by-id [chat-id] (-> (r/get-by-field :chats :chat-id chat-id) @@ -69,13 +68,11 @@ (let [contacts (-> (r/get-by-field :chats :chat-id chat-id) (r/single) (aget "contacts")) - colors-in-use (->> (.map contacts (fn [object index collection] + colors-in-use (set (.map contacts (fn [object index collection] {:text-color (aget object "text-color") - :background-color (aget object "background-color")})) - (set)) - colors (->> group-chat-colors - (filter (fn [color] - (not (contains? colors-in-use color))))) + :background-color (aget object "background-color")}))) + colors (filter (fn [color] + (not (contains? colors-in-use color))) group-chat-colors) new-contacts (mapv (fn [ident {:keys [background text]}] {:identity ident :background-color background @@ -87,18 +84,16 @@ (r/write (fn [] (let [query (include-query :identity identities) - chat (-> (r/get-by-field :chats :chat-id chat-id) - (r/single))] + chat (r/single (r/get-by-field :chats :chat-id chat-id))] (-> (aget chat "contacts") (r/filtered query) (r/delete)))))) (defn active-group-chats [] - (let [results (-> (r/get-all :chats) - (r/filtered "group-chat = true && is-active = true"))] - (->> (.map results (fn [object index collection] - (aget object "chat-id"))) - (js->clj)))) + (let [results (r/filtered (r/get-all :chats) + "group-chat = true && is-active = true")] + (js->clj (.map results (fn [object index collection] + (aget object "chat-id")))))) (defn set-chat-active [chat-id active?] @@ -107,7 +102,7 @@ (r/single) (aset "is-active" active?))))) -(comment +#_(comment (active-group-chats) @@ -141,4 +136,4 @@ (swap! re-frame.db/app-db (fn [db] (create-chat db "A group chat"))) - ) \ No newline at end of file + ) diff --git a/src/syng_im/models/contacts.cljs b/src/syng_im/models/contacts.cljs index 845a15f2e0..f4015ec381 100644 --- a/src/syng_im/models/contacts.cljs +++ b/src/syng_im/models/contacts.cljs @@ -91,8 +91,7 @@ ;;;;;;;;;;;;;;;;;;;;---------------------------------------------- (defn contacts-list [] - (-> (r/get-all :contacts) - (r/sorted :name :asc))) + (r/sorted (r/get-all :contacts) :name :asc)) (defn contacts-list-exclude [exclude-idents] (let [query (exclude-query :whisper-identity exclude-idents)] @@ -107,8 +106,7 @@ (r/sorted :name :asc)))) (defn contact-by-identity [identity] - (-> (r/get-by-field :contacts :whisper-identity identity) - (r/single-cljs))) + (r/single-cljs (r/get-by-field :contacts :whisper-identity identity))) (comment @@ -136,4 +134,4 @@ (:new-group @re-frame.db/app-db) - ) \ No newline at end of file + ) diff --git a/src/syng_im/models/messages.cljs b/src/syng_im/models/messages.cljs index 9517d14783..c40826b9c8 100644 --- a/src/syng_im/models/messages.cljs +++ b/src/syng_im/models/messages.cljs @@ -22,12 +22,10 @@ :delivery-status nil} true))))) (defn get-messages [chat-id] - (-> (r/get-by-field :msgs :chat-id chat-id) - (r/sorted :timestamp :desc))) + (r/sorted (r/get-by-field :msgs :chat-id chat-id) :timestamp :desc)) (defn message-by-id [msg-id] - (-> (r/get-by-field :msgs :msg-id msg-id) - (r/single-cljs))) + (r/single-cljs (r/get-by-field :msgs :msg-id msg-id))) (defn update-message! [{:keys [msg-id] :as msg}] (log/debug "update-message!" msg) @@ -58,4 +56,4 @@ @re-frame.db/app-db - ) \ No newline at end of file + ) diff --git a/src/syng_im/models/protocol.cljs b/src/syng_im/models/protocol.cljs index bb3bb3ca9f..301876a0d7 100644 --- a/src/syng_im/models/protocol.cljs +++ b/src/syng_im/models/protocol.cljs @@ -14,8 +14,7 @@ (defn update-identity [db identity] (let [password (get-in db db/identity-password-path) - encrypted (->> (to-edn-string identity) - (password-encrypt password))] + encrypted (password-encrypt password (to-edn-string identity))] (s/put kv/kv-store :identity encrypted) (assoc db :user-identity identity))) @@ -23,10 +22,9 @@ (let [encrypted (s/get kv/kv-store :identity) password (get-in db db/identity-password-path)] (when encrypted - (-> (password-decrypt password encrypted) - (read-string))))) + (read-string (password-decrypt password encrypted))))) (comment (stored-identity @re-frame.db/app-db) - ) \ No newline at end of file + ) diff --git a/src/syng_im/persistence/realm.cljs b/src/syng_im/persistence/realm.cljs index e6fd6990e5..a0ba5dca73 100644 --- a/src/syng_im/persistence/realm.cljs +++ b/src/syng_im/persistence/realm.cljs @@ -83,8 +83,7 @@ (defn get-by-field [schema-name field value] (let [q (to-query schema-name :eq field value)] - (-> (.objects realm (name schema-name)) - (.filtered q)))) + (.filtered (.objects realm (name schema-name)) q))) (defn get-all [schema-name] (.objects realm (to-string schema-name))) @@ -108,9 +107,7 @@ (js->clj :keywordize-keys true))) (defn list-to-array [record list-field] - (assoc record list-field (-> (get record list-field) - vals - vec))) + (update-in record [list-field] (comp vec vals))) (defn decode-value [{:keys [key value]}] (read-string value)) @@ -119,8 +116,7 @@ (.delete realm obj)) (defn exists? [schema-name field value] - (> (.-length (get-by-field schema-name field value)) - 0)) + (pos? (.-length (get-by-field schema-name field value)))) (defn get-count [objs] (.-length objs)) @@ -131,4 +127,4 @@ (comment - ) \ No newline at end of file + ) diff --git a/src/syng_im/subs.cljs b/src/syng_im/subs.cljs index 24bb819901..fd71a3fcfb 100644 --- a/src/syng_im/subs.cljs +++ b/src/syng_im/subs.cljs @@ -23,18 +23,15 @@ (register-sub :get-chat-messages (fn [db _] - (let [chat-id (-> (current-chat-id @db) - (reaction)) - chat-updated (-> (chat-updated? @db @chat-id) - (reaction))] + (let [chat-id (reaction (current-chat-id @db)) + chat-updated (reaction (chat-updated? @db @chat-id))] (reaction (let [_ @chat-updated] (get-messages @chat-id)))))) (register-sub :get-current-chat-id (fn [db _] - (-> (current-chat-id @db) - (reaction)))) + (reaction (current-chat-id @db)))) (register-sub :get-suggestions (fn [db _] @@ -58,35 +55,29 @@ (register-sub :get-chat-command (fn [db _] - (-> (get-chat-command @db) - (reaction)))) + (reaction (get-chat-command @db)))) (register-sub :get-chat-command-content (fn [db _] - (-> (get-chat-command-content @db) - (reaction)))) + (reaction (get-chat-command-content @db)))) (register-sub :chat-command-request (fn [db _] - (-> (get-chat-command-request @db) - (reaction)))) + (reaction (get-chat-command-request @db)))) ;; -- Chats list -------------------------------------------------------------- (register-sub :get-chats (fn [db _] - (let [chats-updated (-> (chats-updated? @db) - (reaction))] + (let [chats-updated (reaction (chats-updated? @db))] (reaction (let [_ @chats-updated] (chats-list)))))) (register-sub :get-current-chat (fn [db _] - (let [current-chat-id (-> (current-chat-id @db) - (reaction)) - chat-updated (-> (chat-updated? @db @current-chat-id) - (reaction))] + (let [current-chat-id (reaction (current-chat-id @db)) + chat-updated (reaction (chat-updated? @db @current-chat-id))] (reaction (let [_ @chat-updated] (when-let [chat-id @current-chat-id] @@ -131,11 +122,9 @@ (register-sub :all-new-contacts (fn [db _] - (let [current-chat-id (-> (current-chat-id @db) - (reaction)) - chat (-> (when-let [chat-id @current-chat-id] - (chat-by-id chat-id)) - (reaction))] + (let [current-chat-id (reaction (current-chat-id @db)) + chat (reaction (when-let [chat-id @current-chat-id] + (chat-by-id chat-id)))] (reaction (when @chat (let [current-participants (->> @chat @@ -145,11 +134,9 @@ (register-sub :current-chat-contacts (fn [db _] - (let [current-chat-id (-> (current-chat-id @db) - (reaction)) - chat (-> (when-let [chat-id @current-chat-id] - (chat-by-id chat-id)) - (reaction))] + (let [current-chat-id (reaction (current-chat-id @db)) + chat (reaction (when-let [chat-id @current-chat-id] + (chat-by-id chat-id)))] (reaction (when @chat (let [current-participants (->> @chat diff --git a/src/syng_im/utils/crypt.cljs b/src/syng_im/utils/crypt.cljs index ecf3ef7ff7..c015330c14 100644 --- a/src/syng_im/utils/crypt.cljs +++ b/src/syng_im/utils/crypt.cljs @@ -1,5 +1,6 @@ (ns syng-im.utils.crypt - (:require [goog.crypt :refer [byteArrayToHex]]) + (:require [goog.crypt :refer [byteArrayToHex]] + [clojure.string :as s]) (:import goog.crypt.Sha256)) (set! js/window.RnRandomBytes (js/require "react-native-randombytes")) @@ -7,7 +8,7 @@ (def sha-256 (Sha256.)) (defn bytes-to-str [arr] - (apply str (map char arr))) + (s/join (map char arr))) (defn str-to-bytes [s] (map (comp int) s)) @@ -15,8 +16,7 @@ (defn encrypt [s] (.reset sha-256) (.update sha-256 s) - (-> (.digest sha-256) - byteArrayToHex)) + (byteArrayToHex (.digest sha-256))) (defn gen-random-bytes [length cb] (.randomBytes js/window.RnRandomBytes length (fn [& [err buf]] diff --git a/src/syng_im/utils/listview.cljs b/src/syng_im/utils/listview.cljs index c511773a3a..0fe93724f7 100644 --- a/src/syng_im/utils/listview.cljs +++ b/src/syng_im/utils/listview.cljs @@ -3,11 +3,9 @@ (:require [syng-im.components.realm])) (defn to-datasource [items] - (-> (data-source {:rowHasChanged (fn [row1 row2] - (not= row1 row2))}) - (clone-with-rows items))) + (clone-with-rows (data-source {:rowHasChanged not=}) items)) (defn to-realm-datasource [items] - (-> (js/RealmReactNative.ListView.DataSource. (cljs.core/clj->js {:rowHasChanged (fn [row1 row2] - (not= row1 row2))})) - (clone-with-rows items))) \ No newline at end of file + (-> (cljs.core/clj->js {:rowHasChanged not=}) + (js/RealmReactNative.ListView.DataSource.) + (clone-with-rows items))) diff --git a/src/syng_im/utils/utils.cljs b/src/syng_im/utils/utils.cljs index 8f8c68771b..6b77a691e9 100644 --- a/src/syng_im/utils/utils.cljs +++ b/src/syng_im/utils/utils.cljs @@ -43,8 +43,7 @@ (.then (fn [response] (log response) (.text response))) - (.then (fn [text] - (on-success text))) + (.then on-success) (.catch (or on-error (fn [error] (toast (str error))))))))