diff --git a/Makefile b/Makefile index cfc4de7541..c9bb48b4a9 100644 --- a/Makefile +++ b/Makefile @@ -289,8 +289,8 @@ lint: export TARGET := default lint: ##@test Run code style checks sh scripts/lint-re-frame-in-quo-components.sh && \ clj-kondo --config .clj-kondo/config.edn --cache false --lint src && \ - TARGETS=$$(git diff --diff-filter=d --cached --name-only | grep -e \.clj$$ -e \.cljs$$ -e \.cljc$$ -e \.edn$$ || echo shadow-cljs.edn) && \ - zprint '{:search-config? true}' -fc $$TARGETS + ALL_CLOJURE_FILE=$$(git ls-files | grep -e \.clj$$ -e \.cljs$$ -e \.cljc$$ -e \.edn$$) && \ + zprint '{:search-config? true}' -sfc $$ALL_CLOJURE_FILE lint-fix: export TARGET := default lint-fix: ##@test Run code style checks and fix issues diff --git a/src/quo2/components/buttons/__tests__/buttons_component_spec.cljs b/src/quo2/components/buttons/__tests__/buttons_component_spec.cljs index c604e6314b..abfefdc9af 100644 --- a/src/quo2/components/buttons/__tests__/buttons_component_spec.cljs +++ b/src/quo2/components/buttons/__tests__/buttons_component_spec.cljs @@ -5,24 +5,24 @@ (defn render-button ([options label] - (rtl/render (reagent/as-element [button/button options label])))) + (rtl/render (reagent/as-element [button/button options label])))) (js/global.test "default render of button component" (fn [] (render-button {:accessibility-label "test-button"} "") - (-> (js/expect (rtl/screen.getByLabelText "test-button")) + (-> (js/expect (rtl/screen.getByLabelText "test-button")) (.toBeTruthy)))) (js/global.test "button renders with a label" (fn [] (render-button {} "test-label") - (-> (js/expect (rtl/screen.getByText "test-label")) + (-> (js/expect (rtl/screen.getByText "test-label")) (.toBeTruthy)))) (js/global.test "button on-press works" (let [event (js/jest.fn)] (fn [] (render-button {:on-press event} "test-label") - (rtl/fireEvent.press (rtl/screen.getByText "test-label")) - (-> (js/expect event) + (rtl/fireEvent.press (rtl/screen.getByText "test-label")) + (-> (js/expect event) (.toHaveBeenCalledTimes 1))))) diff --git a/src/quo2/components/community/icon.cljs b/src/quo2/components/community/icon.cljs index e8dbdd9f6d..2d1c653ce3 100644 --- a/src/quo2/components/community/icon.cljs +++ b/src/quo2/components/community/icon.cljs @@ -1,11 +1,13 @@ (ns quo2.components.community.icon (:require [react-native.core :as rn])) -(defn community-icon [{:keys [images]} size] +(defn community-icon + [{:keys [images]} size] (let [thumbnail-image (get-in images [:thumbnail :uri])] - [rn/image {:source {:uri thumbnail-image} - :style {:border-radius 50 - :border-width 0 - :border-color :transparent - :width size - :height size}}])) \ No newline at end of file + [rn/image + {:source {:uri thumbnail-image} + :style {:border-radius 50 + :border-width 0 + :border-color :transparent + :width size + :height size}}])) \ No newline at end of file diff --git a/src/quo2/components/dividers/__tests__/divider_label_component_spec.cljs b/src/quo2/components/dividers/__tests__/divider_label_component_spec.cljs index 0dce15de48..4bbf66b09a 100644 --- a/src/quo2/components/dividers/__tests__/divider_label_component_spec.cljs +++ b/src/quo2/components/dividers/__tests__/divider_label_component_spec.cljs @@ -7,39 +7,39 @@ ([] (render-divider-label {})) ([opts] - (rtl/render (reagent/as-element [divider-label/divider-label opts])))) + (rtl/render (reagent/as-element [divider-label/divider-label opts])))) (js/global.test "default render of divider-label component" (fn [] (render-divider-label) - (-> (js/expect (rtl/screen.getByLabelText "divider-label")) + (-> (js/expect (rtl/screen.getByLabelText "divider-label")) (.toBeTruthy)))) (js/global.test "render divider-label component with a label" (fn [] (render-divider-label {:label :hello}) - (-> (js/expect (rtl/screen.getByText "hello")) + (-> (js/expect (rtl/screen.getByText "hello")) (.toBeTruthy)))) (js/global.test "render divider-label component with a counter-value" (fn [] - (render-divider-label {:label :hello + (render-divider-label {:label :hello :counter-value "1"}) - (-> (js/expect (rtl/screen.getByText "1")) + (-> (js/expect (rtl/screen.getByText "1")) (.toBeTruthy)))) (js/global.test "divider-label chevron icon renders to the left when set" (fn [] - (render-divider-label {:label :hello - :counter-value "1" + (render-divider-label {:label :hello + :counter-value "1" :chevron-position :left}) - (-> (js/expect (rtl/screen.getByTestId "divider-label-icon-left")) + (-> (js/expect (rtl/screen.getByTestId "divider-label-icon-left")) (.toBeTruthy)))) (js/global.test "divider-label chevron icon renders to the right when set" (fn [] - (render-divider-label {:label :hello - :counter-value "1" + (render-divider-label {:label :hello + :counter-value "1" :chevron-position :right}) - (-> (js/expect (rtl/screen.getByTestId "divider-label-icon-right")) + (-> (js/expect (rtl/screen.getByTestId "divider-label-icon-right")) (.toBeTruthy)))) diff --git a/src/quo2/components/dividers/date.cljs b/src/quo2/components/dividers/date.cljs index 5e25e31c68..36aba9ba8d 100644 --- a/src/quo2/components/dividers/date.cljs +++ b/src/quo2/components/dividers/date.cljs @@ -4,15 +4,18 @@ [quo2.foundations.colors :as colors] [react-native.core :as rn])) -(defn date [value] - [rn/view {:margin-vertical 8 - :padding-right 20 - :padding-left 60} - [text/text {:weight :medium - :accessibility-label :divider-date-text - :size :label - :style {:color (colors/theme-colors colors/neutral-50 colors/neutral-40) - :text-transform :capitalize - :margin-bottom 4}} +(defn date + [value] + [rn/view + {:margin-vertical 8 + :padding-right 20 + :padding-left 60} + [text/text + {:weight :medium + :accessibility-label :divider-date-text + :size :label + :style {:color (colors/theme-colors colors/neutral-50 colors/neutral-40) + :text-transform :capitalize + :margin-bottom 4}} value] [separator/separator]]) diff --git a/src/quo2/components/dividers/divider_label.cljs b/src/quo2/components/dividers/divider_label.cljs index d3b5d6e06f..ea1f3cc7bb 100644 --- a/src/quo2/components/dividers/divider_label.cljs +++ b/src/quo2/components/dividers/divider_label.cljs @@ -15,22 +15,26 @@ increase-padding-top? -> boolean blur? -> boolean" [{:keys [label chevron-position counter-value increase-padding-top? blur?]}] - (let [dark? (colors/dark?) - border-and-counter-bg-color (if dark? (if blur? colors/white-opa-5 colors/neutral-70) colors/neutral-10) - padding-top (if increase-padding-top? 16 8) - text-and-icon-color (if dark? colors/neutral-40 colors/neutral-50) - counter-text-color (if dark? colors/white colors/neutral-100)] - [rn/view {:accessible true - :accessibility-label :divider-label - :style {:border-top-width 1 - :border-top-color border-and-counter-bg-color - :padding-top padding-top - :padding-horizontal 16 - :align-items :center - :flex-direction :row}} + (let [dark? (colors/dark?) + border-and-counter-bg-color (if dark? + (if blur? colors/white-opa-5 colors/neutral-70) + colors/neutral-10) + padding-top (if increase-padding-top? 16 8) + text-and-icon-color (if dark? colors/neutral-40 colors/neutral-50) + counter-text-color (if dark? colors/white colors/neutral-100)] + [rn/view + {:accessible true + :accessibility-label :divider-label + :style {:border-top-width 1 + :border-top-color border-and-counter-bg-color + :padding-top padding-top + :padding-horizontal 16 + :align-items :center + :flex-direction :row}} (when (= chevron-position :left) - [rn/view {:test-ID :divider-label-icon-left - :style {:margin-right 4}} + [rn/view + {:test-ID :divider-label-icon-left + :style {:margin-right 4}} [icons/icon :main-icons/chevron-down {:color text-and-icon-color diff --git a/src/quo2/components/markdown/__tests__/text_component_spec.cljs b/src/quo2/components/markdown/__tests__/text_component_spec.cljs index 644d1fe945..231cfdd0b2 100644 --- a/src/quo2/components/markdown/__tests__/text_component_spec.cljs +++ b/src/quo2/components/markdown/__tests__/text_component_spec.cljs @@ -5,10 +5,10 @@ (defn render-text ([options value] - (rtl/render (reagent/as-element [text/text options value])))) + (rtl/render (reagent/as-element [text/text options value])))) (js/global.test "text renders with text" (fn [] (render-text {} "hello") - (-> (js/expect (rtl/screen.getByText "hello")) + (-> (js/expect (rtl/screen.getByText "hello")) (.toBeTruthy)))) diff --git a/src/quo2/components/messages/author/view.cljs b/src/quo2/components/messages/author/view.cljs index 2aa2209d67..f64854b70a 100644 --- a/src/quo2/components/messages/author/view.cljs +++ b/src/quo2/components/messages/author/view.cljs @@ -93,8 +93,8 @@ :style style/middle-dot-chat-key} middle-dot]) [text/text - {:monospace true - :size :paragraph-2 + {:monospace true + :size :paragraph-2 :accessibility-label :message-timestamp - :style (style/time-text ens?)} + :style (style/time-text ens?)} time-str]]))]) diff --git a/src/quo2/components/reactions/reaction.cljs b/src/quo2/components/reactions/reaction.cljs index 642a9a0b0a..fa5fbfa20e 100644 --- a/src/quo2/components/reactions/reaction.cljs +++ b/src/quo2/components/reactions/reaction.cljs @@ -27,12 +27,14 @@ {:on-press on-press :accessibility-label accessibility-label :style (style/reaction neutral?)} - [icons/icon emoji {:no-color true - :size 16}] - [text/text {:size :paragraph-2 - :weight :semi-bold - :flex-direction :row - :align-items :center - :justify-content :center} + [icons/icon emoji + {:no-color true + :size 16}] + [text/text + {:size :paragraph-2 + :weight :semi-bold + :flex-direction :row + :align-items :center + :justify-content :center} (when (pos? numeric-value) (str " " numeric-value))]])) diff --git a/src/quo2/components/reactions/style.cljs b/src/quo2/components/reactions/style.cljs index 97017b4a26..6e20b4f87e 100644 --- a/src/quo2/components/reactions/style.cljs +++ b/src/quo2/components/reactions/style.cljs @@ -9,20 +9,23 @@ :border-radius 8 :height 24}) -(defn add-reaction [] +(defn add-reaction + [] (merge reaction-styling {:padding-horizontal 9 :border-width 1 :border-color (colors/theme-colors colors/neutral-30 colors/neutral-70)})) -(defn reaction [neutral?] +(defn reaction + [neutral?] (merge reaction-styling - (cond-> {:background-color (colors/theme-colors (if neutral? - colors/neutral-30 - :transparent) - (if neutral? - colors/neutral-70 - :transparent))} + (cond-> + {:background-color (colors/theme-colors (if neutral? + colors/neutral-30 + :transparent) + (if neutral? + colors/neutral-70 + :transparent))} (and (colors/dark?) (not neutral?)) (assoc :border-color colors/neutral-70 :border-width 1) diff --git a/src/quo2/components/tags/context_tags.cljs b/src/quo2/components/tags/context_tags.cljs index a1045f78a1..7cfa0717ba 100644 --- a/src/quo2/components/tags/context_tags.cljs +++ b/src/quo2/components/tags/context_tags.cljs @@ -67,13 +67,13 @@ icon-color (colors/theme-colors colors/neutral-50 colors/neutral-40)] [base-tag (assoc-in params [:style :padding-left] 3) [rn/image - {:style {:width 20 - :border-radius 10 - :background-color :white - :height 20} + {:style {:width 20 + :border-radius 10 + :background-color :white + :height 20} :source photo}] [rn/view - {:style {:align-items :center + {:style {:align-items :center :flex-direction :row}} [text/text text-params (str " " name)] (when channel-name diff --git a/src/status_im/browser/core.cljs b/src/status_im/browser/core.cljs index c938fb353c..c7c36c6a23 100644 --- a/src/status_im/browser/core.cljs +++ b/src/status_im/browser/core.cljs @@ -1,30 +1,31 @@ (ns status-im.browser.core - (:require ["eth-phishing-detect" :as eth-phishing-detect] - [clojure.string :as string] - [re-frame.core :as re-frame] - [status-im.bottom-sheet.core :as bottom-sheet] - [status-im.browser.eip3085 :as eip3085] - [status-im.browser.eip3326 :as eip3326] - [status-im.browser.permissions :as browser.permissions] - [status-im.browser.webview-ref :as webview-ref] - [status-im.constants :as constants] - [status-im.ethereum.core :as ethereum] - [status-im.ethereum.ens :as ens] - [status-im.i18n.i18n :as i18n] - [status-im.multiaccounts.update.core :as multiaccounts.update] - [status-im.native-module.core :as status] - [status-im.signing.core :as signing] - [status-im.ui.components.list-selection :as list-selection] - [utils.re-frame :as rf] - [status-im.utils.http :as http] - [status-im.utils.platform :as platform] - [status-im.utils.random :as random] - [status-im.utils.types :as types] - [status-im.utils.universal-links.utils :as links] - [status-im2.navigation.events :as navigation] - [taoensso.timbre :as log] - [utils.debounce :as debounce] - [utils.security.core :as security])) + (:require + ["eth-phishing-detect" :as eth-phishing-detect] + [clojure.string :as string] + [re-frame.core :as re-frame] + [status-im.bottom-sheet.core :as bottom-sheet] + [status-im.browser.eip3085 :as eip3085] + [status-im.browser.eip3326 :as eip3326] + [status-im.browser.permissions :as browser.permissions] + [status-im.browser.webview-ref :as webview-ref] + [status-im.constants :as constants] + [status-im.ethereum.core :as ethereum] + [status-im.ethereum.ens :as ens] + [status-im.i18n.i18n :as i18n] + [status-im.multiaccounts.update.core :as multiaccounts.update] + [status-im.native-module.core :as status] + [status-im.signing.core :as signing] + [status-im.ui.components.list-selection :as list-selection] + [utils.re-frame :as rf] + [status-im.utils.http :as http] + [status-im.utils.platform :as platform] + [status-im.utils.random :as random] + [status-im.utils.types :as types] + [status-im.utils.universal-links.utils :as links] + [status-im2.navigation.events :as navigation] + [taoensso.timbre :as log] + [utils.debounce :as debounce] + [utils.security.core :as security])) (rf/defn update-browser-option [{:keys [db]} option-key option-value] @@ -514,12 +515,12 @@ :browser/send-to-bridge (fn [message] (let - [^js webview @webview-ref/webview-ref - msg - (str - "(function() { var __send = function() { if (ReactNativeWebView.onMessage) { ReactNativeWebView.onMessage('" - (types/clj->json message) - "');} else {setTimeout(__send, 0)}}; __send();})();")] + [^js webview @webview-ref/webview-ref + msg + (str + "(function() { var __send = function() { if (ReactNativeWebView.onMessage) { ReactNativeWebView.onMessage('" + (types/clj->json message) + "');} else {setTimeout(__send, 0)}}; __send();})();")] (when (and message webview) (.injectJavaScript webview msg))))) diff --git a/src/status_im/browser/permissions.cljs b/src/status_im/browser/permissions.cljs index 5d7fed8395..f2da467cd6 100644 --- a/src/status_im/browser/permissions.cljs +++ b/src/status_im/browser/permissions.cljs @@ -34,11 +34,11 @@ (rf/defn permission-show-permission [{:keys [db] :as cofx} dapp-name permission message-id yield-control?] {:db (assoc-in db - [:browser/options :show-permission] - {:requested-permission permission - :message-id message-id - :dapp-name dapp-name - :yield-control? yield-control?})}) + [:browser/options :show-permission] + {:requested-permission permission + :message-id message-id + :dapp-name dapp-name + :yield-control? yield-control?})}) (defn get-permission-data [cofx allowed-permission] diff --git a/src/status_im/chat/models.cljs b/src/status_im/chat/models.cljs index 1e1647f611..6dc4e95652 100644 --- a/src/status_im/chat/models.cljs +++ b/src/status_im/chat/models.cljs @@ -198,8 +198,8 @@ (rf/merge cofx {:db (-> (if (get-in db [:chats chat-id :muted]) - (assoc-in db [:chats chat-id :active] false) - (update db :chats dissoc chat-id)) + (assoc-in db [:chats chat-id :active] false) + (update db :chats dissoc chat-id)) (update :chats-home-list disj chat-id) (assoc :current-chat-id nil)) :json-rpc/call [{:method "wakuext_deactivateChat" diff --git a/src/status_im/chat/models/images.cljs b/src/status_im/chat/models/images.cljs index 0dfa32f3be..45cf437631 100644 --- a/src/status_im/chat/models/images.cljs +++ b/src/status_im/chat/models/images.cljs @@ -110,11 +110,11 @@ {:permissions [:read-external-storage] :on-allowed (fn [] (-> (if end-cursor - (.getPhotos - CameraRoll - #js {:first num :after end-cursor :assetType "Photos" :groupTypes "All"}) - (.getPhotos CameraRoll - #js {:first num :assetType "Photos" :groupTypes "All"})) + (.getPhotos + CameraRoll + #js {:first num :after end-cursor :assetType "Photos" :groupTypes "All"}) + (.getPhotos CameraRoll + #js {:first num :assetType "Photos" :groupTypes "All"})) (.then #(let [response (types/js->clj %)] (re-frame/dispatch [:on-camera-roll-get-photos (:edges response) (:page_info response) end-cursor]))) diff --git a/src/status_im/chat/models/input.cljs b/src/status_im/chat/models/input.cljs index fcec435a03..d72f3e72cc 100644 --- a/src/status_im/chat/models/input.cljs +++ b/src/status_im/chat/models/input.cljs @@ -37,8 +37,8 @@ {:events [:chat.ui/set-timeline-input-text]} [{db :db} new-input] {:db (assoc-in db - [:chat/inputs (chat/my-profile-chat-topic db) :input-text] - (text->emoji new-input))}) + [:chat/inputs (chat/my-profile-chat-topic db) :input-text] + (text->emoji new-input))}) (rf/defn select-mention {:events [:chat.ui/select-mention]} @@ -83,9 +83,9 @@ :show-cooldown-warning nil :db (assoc db :chat/cooldowns (if - (= - chat.constants/cooldown-reset-threshold - cooldowns) + (= + chat.constants/cooldown-reset-threshold + cooldowns) 0 cooldowns) :chat/spam-messages-frequency 0 diff --git a/src/status_im/chat/models/message.cljs b/src/status_im/chat/models/message.cljs index fc582065ac..12698b57c6 100644 --- a/src/status_im/chat/models/message.cljs +++ b/src/status_im/chat/models/message.cljs @@ -177,8 +177,8 @@ (when (get-in db [:messages chat-id message-id]) (rf/merge cofx {:db (assoc-in db - [:messages chat-id message-id :outgoing-status] - status)}))) + [:messages chat-id message-id :outgoing-status] + status)}))) (rf/defn update-message-status [{:keys [db] :as cofx} chat-id message-id status] diff --git a/src/status_im/chat/models/message_list.cljs b/src/status_im/chat/models/message_list.cljs index 26b334c3d9..32c0647ff8 100644 --- a/src/status_im/chat/models/message_list.cljs +++ b/src/status_im/chat/models/message_list.cljs @@ -200,5 +200,5 @@ (rf/defn rebuild-message-list [{:keys [db]} chat-id] {:db (assoc-in db - [:message-lists chat-id] - (add-many nil (vals (get-in db [:messages chat-id]))))}) + [:message-lists chat-id] + (add-many nil (vals (get-in db [:messages chat-id]))))}) diff --git a/src/status_im/communities/core.cljs b/src/status_im/communities/core.cljs index dc99380be9..cb35794044 100644 --- a/src/status_im/communities/core.cljs +++ b/src/status_im/communities/core.cljs @@ -524,8 +524,8 @@ {:events [::requests-to-join-fetched]} [{:keys [db]} community-id requests] {:db (assoc-in db - [:communities/requests-to-join community-id] - (<-requests-to-join-community-rpc requests))}) + [:communities/requests-to-join community-id] + (<-requests-to-join-community-rpc requests))}) (rf/defn fetch-requests-to-join {:events [::fetch-requests-to-join]} diff --git a/src/status_im/contact/block.cljs b/src/status_im/contact/block.cljs index 17011704f7..3ae9a6361d 100644 --- a/src/status_im/contact/block.cljs +++ b/src/status_im/contact/block.cljs @@ -31,8 +31,8 @@ :unviewed-mentions-count unviewed-mentions-count :last-message last-message))] {:db (assoc-in db - [:message-lists chat-id] - (message-list/add-many nil (vals (get-in db [:messages chat-id]))))})) + [:message-lists chat-id] + (message-list/add-many nil (vals (get-in db [:messages chat-id]))))})) (rf/defn contact-blocked {:events [::contact-blocked]} diff --git a/src/status_im/ens/core.cljs b/src/status_im/ens/core.cljs index 551babe5a9..d2657b1989 100644 --- a/src/status_im/ens/core.cljs +++ b/src/status_im/ens/core.cljs @@ -43,10 +43,10 @@ {:events [:update-ens-tx-state]} [{:keys [db]} new-state username custom-domain? tx-hash] {:db (assoc-in db - [:ens/registrations tx-hash] - {:state new-state - :username username - :custom-domain? custom-domain?})}) + [:ens/registrations tx-hash] + {:state new-state + :username username + :custom-domain? custom-domain?})}) (rf/defn redirect-to-ens-summary {:events [::redirect-to-ens-summary]} diff --git a/src/status_im/ethereum/transactions/core.cljs b/src/status_im/ethereum/transactions/core.cljs index 99b0576586..76ca3cd021 100644 --- a/src/status_im/ethereum/transactions/core.cljs +++ b/src/status_im/ethereum/transactions/core.cljs @@ -117,8 +117,8 @@ (when (and (fn? trigger-fn) (fn? on-trigger)) {:db (assoc-in db - [:ethereum/watched-transactions transaction-id] - watch-params)})) + [:ethereum/watched-transactions transaction-id] + watch-params)})) (rf/defn check-transaction "Check if the transaction has been triggered and applies the effects returned @@ -164,8 +164,8 @@ hash))] (rf/merge cofx {:db (assoc-in db - [:wallet :accounts address :transactions unique-id] - (assoc transfer :hash unique-id))} + [:wallet :accounts address :transactions unique-id] + (assoc transfer :hash unique-id))} (check-transaction transfer))))) (defn get-min-known-block @@ -226,8 +226,8 @@ (reduce (fn [accounts address] (assoc-in accounts - [(eip55/address->checksum address) fetching-type] - state)) + [(eip55/address->checksum address) fetching-type] + state)) accounts addresses)))) @@ -243,10 +243,10 @@ [{:keys [db] :as cofx} address] (let [syncing-allowed? (utils.mobile-sync/syncing-allowed? cofx)] {:db (assoc-in db - [:wallet :fetching address :all-fetched?] - (if syncing-allowed? - :all - :all-preloaded))})) + [:wallet :fetching address :all-fetched?] + (if syncing-allowed? + :all + :all-preloaded))})) (rf/defn delete-pending-transactions [{:keys [db]} address transactions] diff --git a/src/status_im/integration_test.cljs b/src/status_im/integration_test.cljs index c86c7e4d61..0f21ed32e7 100644 --- a/src/status_im/integration_test.cljs +++ b/src/status_im/integration_test.cljs @@ -87,111 +87,114 @@ (rf-test/run-test-async (rf/dispatch [:setup/app-started]) (rf-test/wait-for - ;; use initialize-view because it has the longest avg. time and - ;; is dispatched by initialize-multiaccounts (last non-view event) - [:setup/initialize-view] - (assert-app-initialized)))) + ;; use initialize-view because it has the longest avg. time and + ;; is dispatched by initialize-multiaccounts (last non-view event) + [:setup/initialize-view] + (assert-app-initialized)))) (deftest create-account-test (log/info "====== create-account-test ==================") (rf-test/run-test-async (initialize-app!) ; initialize app (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) ; generate 5 new keys - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys - (assert-multiaccount-loaded) ; assert keys are generated - (create-multiaccount!) ; create a multiaccount - (rf-test/wait-for ; wait for login - [::transport/messenger-started] - (assert-messenger-started) - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an - ; inconsistent state between tests - (assert-logout))))))) + [:setup/initialize-view] + (generate-and-derive-addresses!) ; generate 5 new keys + (rf-test/wait-for + [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys + (assert-multiaccount-loaded) ; assert keys are generated + (create-multiaccount!) ; create a multiaccount + (rf-test/wait-for ; wait for login + [::transport/messenger-started] + (assert-messenger-started) + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in + ; an + ; inconsistent state between tests + (assert-logout))))))) (deftest create-community-test (log/info "====== create-community-test ==================") (rf-test/run-test-async (initialize-app!) ; initialize app (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) ; generate 5 new keys - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] - (assert-multiaccount-loaded) ; assert keys are generated - (create-multiaccount!) ; create a multiaccount - (rf-test/wait-for ; wait for login - [::transport/messenger-started] - (assert-messenger-started) - (rf/dispatch-sync [:status-im.communities.core/open-create-community]) - (doseq [[k v] (dissoc community :membership)] - (rf/dispatch-sync [:status-im.communities.core/create-field k v])) - (rf/dispatch [:status-im.communities.core/create-confirmation-pressed]) - (rf-test/wait-for - [:status-im.communities.core/community-created] - (assert-community-created) - (logout!) - (rf-test/wait-for [::logout/logout-method] - (assert-logout)))))))) + [:setup/initialize-view] + (generate-and-derive-addresses!) ; generate 5 new keys + (rf-test/wait-for + [:multiaccount-generate-and-derive-addresses-success] + (assert-multiaccount-loaded) ; assert keys are generated + (create-multiaccount!) ; create a multiaccount + (rf-test/wait-for ; wait for login + [::transport/messenger-started] + (assert-messenger-started) + (rf/dispatch-sync [:status-im.communities.core/open-create-community]) + (doseq [[k v] (dissoc community :membership)] + (rf/dispatch-sync [:status-im.communities.core/create-field k v])) + (rf/dispatch [:status-im.communities.core/create-confirmation-pressed]) + (rf-test/wait-for + [:status-im.communities.core/community-created] + (assert-community-created) + (logout!) + (rf-test/wait-for [::logout/logout-method] + (assert-logout)))))))) (deftest create-wallet-account-test (log/info "====== create-wallet-account-test ==================") (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) ; generate 5 new keys - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] - (assert-multiaccount-loaded) ; assert keys are generated - (create-multiaccount!) ; create a multiaccount - (rf-test/wait-for ; wait for login - [::transport/messenger-started] - (assert-messenger-started) - (create-new-account!) ; create a new account - (rf-test/wait-for - [:wallet.accounts/account-stored] - (assert-new-account-created) ; assert account was created - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an - ; inconsistent state between tests - (assert-logout)))))))) + [:setup/initialize-view] + (generate-and-derive-addresses!) ; generate 5 new keys + (rf-test/wait-for + [:multiaccount-generate-and-derive-addresses-success] + (assert-multiaccount-loaded) ; assert keys are generated + (create-multiaccount!) ; create a multiaccount + (rf-test/wait-for ; wait for login + [::transport/messenger-started] + (assert-messenger-started) + (create-new-account!) ; create a new account + (rf-test/wait-for + [:wallet.accounts/account-stored] + (assert-new-account-created) ; assert account was created + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in + ; an + ; inconsistent state between tests + (assert-logout)))))))) (deftest back-up-seed-phrase-test (log/info "========= back-up-seed-phrase-test ==================") (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] - (assert-multiaccount-loaded) - (create-multiaccount!) + [:setup/initialize-view] + (generate-and-derive-addresses!) (rf-test/wait-for - [::transport/messenger-started] - (assert-messenger-started) - (rf/dispatch-sync [:set-in [:my-profile/seed :step] :12-words]) ; display seed phrase to user - (rf/dispatch-sync [:my-profile/enter-two-random-words]) ; begin prompting user for seed words - (let [ma @(rf/subscribe [:multiaccount]) - seed @(rf/subscribe [:my-profile/seed]) - word1 (second (:first-word seed)) - word2 (second (:second-word seed))] - (is (= 12 (count (string/split (:mnemonic ma) #" ")))) ; assert 12-word seed phrase - (rf/dispatch-sync [:set-in [:my-profile/seed :word] word1]) - (rf/dispatch-sync [:my-profile/set-step :second-word]) - (rf/dispatch-sync [:set-in [:my-profile/seed :word] word2]) - ;; TODO: refactor (defn next-handler) & (defn enter-word) to improve test coverage? - (rf/dispatch [:my-profile/finish]) - (rf-test/wait-for - [:my-profile/finish-success] - (is (nil? @(rf/subscribe [:mnemonic]))) ; assert seed phrase has been removed - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in - ; an inconsistent state between tests - (assert-logout))))))))) + [:multiaccount-generate-and-derive-addresses-success] + (assert-multiaccount-loaded) + (create-multiaccount!) + (rf-test/wait-for + [::transport/messenger-started] + (assert-messenger-started) + (rf/dispatch-sync [:set-in [:my-profile/seed :step] :12-words]) ; display seed phrase to user + (rf/dispatch-sync [:my-profile/enter-two-random-words]) ; begin prompting user for seed words + (let [ma @(rf/subscribe [:multiaccount]) + seed @(rf/subscribe [:my-profile/seed]) + word1 (second (:first-word seed)) + word2 (second (:second-word seed))] + (is (= 12 (count (string/split (:mnemonic ma) #" ")))) ; assert 12-word seed phrase + (rf/dispatch-sync [:set-in [:my-profile/seed :word] word1]) + (rf/dispatch-sync [:my-profile/set-step :second-word]) + (rf/dispatch-sync [:set-in [:my-profile/seed :word] word2]) + ;; TODO: refactor (defn next-handler) & (defn enter-word) to improve test coverage? + (rf/dispatch [:my-profile/finish]) + (rf-test/wait-for + [:my-profile/finish-success] + (is (nil? @(rf/subscribe [:mnemonic]))) ; assert seed phrase has been removed + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not + ; in + ; an inconsistent state between tests + (assert-logout))))))))) (def multiaccount-name "Narrow Frail Lemming") (def multiaccount-mnemonic @@ -203,29 +206,30 @@ (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (rf/dispatch-sync [:init-root :onboarding]) - (rf/dispatch-sync [:multiaccounts.recover.ui/recover-multiaccount-button-pressed]) - (rf/dispatch-sync [:status-im.multiaccounts.recover.core/enter-phrase-pressed]) - (rf/dispatch-sync [:multiaccounts.recover/enter-phrase-input-changed - (security/mask-data multiaccount-mnemonic)]) - (rf/dispatch [:multiaccounts.recover/enter-phrase-next-pressed]) - (rf-test/wait-for - [:status-im.multiaccounts.recover.core/import-multiaccount-success] - (rf/dispatch-sync [:multiaccounts.recover/re-encrypt-pressed]) - (rf/dispatch [:multiaccounts.recover/enter-password-next-pressed password]) + [:setup/initialize-view] + (rf/dispatch-sync [:init-root :onboarding]) + (rf/dispatch-sync [:multiaccounts.recover.ui/recover-multiaccount-button-pressed]) + (rf/dispatch-sync [:status-im.multiaccounts.recover.core/enter-phrase-pressed]) + (rf/dispatch-sync [:multiaccounts.recover/enter-phrase-input-changed + (security/mask-data multiaccount-mnemonic)]) + (rf/dispatch [:multiaccounts.recover/enter-phrase-next-pressed]) (rf-test/wait-for - [:status-im.multiaccounts.recover.core/store-multiaccount-success] - (let [multiaccount @(rf/subscribe [:multiaccount])] ; assert multiaccount is recovered - (is (= multiaccount-key-uid (:key-uid multiaccount))) - (is (= multiaccount-name (:name multiaccount)))) - (rf-test/wait-for ; wait for login - [::transport/messenger-started] - (assert-messenger-started) - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an - ; inconsistent state between tests - (assert-logout)))))))) + [:status-im.multiaccounts.recover.core/import-multiaccount-success] + (rf/dispatch-sync [:multiaccounts.recover/re-encrypt-pressed]) + (rf/dispatch [:multiaccounts.recover/enter-password-next-pressed password]) + (rf-test/wait-for + [:status-im.multiaccounts.recover.core/store-multiaccount-success] + (let [multiaccount @(rf/subscribe [:multiaccount])] ; assert multiaccount is recovered + (is (= multiaccount-key-uid (:key-uid multiaccount))) + (is (= multiaccount-name (:name multiaccount)))) + (rf-test/wait-for ; wait for login + [::transport/messenger-started] + (assert-messenger-started) + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in + ; an + ; inconsistent state between tests + (assert-logout)))))))) (def chat-id "0x0402905bed83f0bbf993cee8239012ccb1a8bc86907ead834c1e38476a0eda71414eed0e25f525f270592a2eebb01c9119a4ed6429ba114e51f5cb0a28dae1adfd") @@ -235,88 +239,91 @@ (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys - (assert-multiaccount-loaded) - (create-multiaccount!) + [:setup/initialize-view] + (generate-and-derive-addresses!) (rf-test/wait-for - [::transport/messenger-started] - (assert-messenger-started) - (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat - (rf-test/wait-for - [:status-im.chat.models/one-to-one-chat-created] - (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) - (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an - ; inconsistent state between tests - (assert-logout)))))))) + [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys + (assert-multiaccount-loaded) + (create-multiaccount!) + (rf-test/wait-for + [::transport/messenger-started] + (assert-messenger-started) + (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat + (rf-test/wait-for + [:status-im.chat.models/one-to-one-chat-created] + (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) + (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in + ; an + ; inconsistent state between tests + (assert-logout)))))))) (deftest delete-chat-test (log/info "========= delete-chat-test ==================") (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys - (assert-multiaccount-loaded) - (create-multiaccount!) + [:setup/initialize-view] + (generate-and-derive-addresses!) (rf-test/wait-for - [::transport/messenger-started] - (assert-messenger-started) - (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat - (rf-test/wait-for - [:status-im.chat.models/one-to-one-chat-created] - (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) - (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) - (is @(rf/subscribe [:chats/chat chat-id])) - (rf/dispatch-sync [:chat.ui/remove-chat-pressed chat-id]) - (rf/dispatch-sync [:chat.ui/remove-chat chat-id]) + [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys + (assert-multiaccount-loaded) + (create-multiaccount!) (rf-test/wait-for - [::chat.models/chat-deactivated] - (is (not @(rf/subscribe [:chats/chat chat-id]))) - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in an - ; inconsistent state between tests - (assert-logout))))))))) + [::transport/messenger-started] + (assert-messenger-started) + (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat + (rf-test/wait-for + [:status-im.chat.models/one-to-one-chat-created] + (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) + (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) + (is @(rf/subscribe [:chats/chat chat-id])) + (rf/dispatch-sync [:chat.ui/remove-chat-pressed chat-id]) + (rf/dispatch-sync [:chat.ui/remove-chat chat-id]) + (rf-test/wait-for + [::chat.models/chat-deactivated] + (is (not @(rf/subscribe [:chats/chat chat-id]))) + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not + ; in an + ; inconsistent state between tests + (assert-logout))))))))) (deftest mute-chat-test (log/info "========= mute-chat-test ==================") (rf-test/run-test-async (initialize-app!) (rf-test/wait-for - [:setup/initialize-view] - (generate-and-derive-addresses!) - (rf-test/wait-for - [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys - (assert-multiaccount-loaded) - (create-multiaccount!) + [:setup/initialize-view] + (generate-and-derive-addresses!) (rf-test/wait-for - [::transport/messenger-started] - (assert-messenger-started) - (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat - (rf-test/wait-for - [:status-im.chat.models/one-to-one-chat-created] - (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) - (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) - (is @(rf/subscribe [:chats/chat chat-id])) - (rf/dispatch-sync [::chat.models/mute-chat-toggled chat-id true]) + [:multiaccount-generate-and-derive-addresses-success] ; wait for the keys + (assert-multiaccount-loaded) + (create-multiaccount!) (rf-test/wait-for - [::chat.models/mute-chat-toggled-successfully] - (is @(rf/subscribe [:chats/muted chat-id])) - (rf/dispatch-sync [::chat.models/mute-chat-toggled chat-id false]) - (rf-test/wait-for - [::chat.models/mute-chat-toggled-successfully] + [::transport/messenger-started] + (assert-messenger-started) + (rf/dispatch-sync [:chat.ui/start-chat chat-id]) ;; start a new chat + (rf-test/wait-for + [:status-im.chat.models/one-to-one-chat-created] + (rf/dispatch-sync [:chat.ui/navigate-to-chat chat-id]) + (is (= chat-id @(rf/subscribe [:chats/current-chat-id]))) + (is @(rf/subscribe [:chats/chat chat-id])) + (rf/dispatch-sync [::chat.models/mute-chat-toggled chat-id true]) + (rf-test/wait-for + [::chat.models/mute-chat-toggled-successfully] + (is @(rf/subscribe [:chats/muted chat-id])) + (rf/dispatch-sync [::chat.models/mute-chat-toggled chat-id false]) + (rf-test/wait-for + [::chat.models/mute-chat-toggled-successfully] - (is (not @(rf/subscribe [:chats/muted chat-id]))) - (logout!) - (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is not in - ; an inconsistent state between tests - (assert-logout)))))))))) + (is (not @(rf/subscribe [:chats/muted chat-id]))) + (logout!) + (rf-test/wait-for [::logout/logout-method] ; we need to logout to make sure the node is + ; not in + ; an inconsistent state between tests + (assert-logout)))))))))) (comment (run-tests)) diff --git a/src/status_im/keycard/change_pin.cljs b/src/status_im/keycard/change_pin.cljs index 5524ea5768..215019d125 100644 --- a/src/status_im/keycard/change_pin.cljs +++ b/src/status_im/keycard/change_pin.cljs @@ -13,20 +13,20 @@ (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:enter-step :current - :current [] - :puk [] - :original [] - :confirmation [] - :puk-original [] - :puk-confirmation [] - :status nil - :error-label nil - :on-verified (case changing - :pin :keycard/proceed-to-change-pin - :puk :keycard/proceed-to-change-puk - :pairing :keycard/proceed-to-change-pairing)})} + [:keycard :pin] + {:enter-step :current + :current [] + :puk [] + :original [] + :confirmation [] + :puk-original [] + :puk-confirmation [] + :status nil + :error-label nil + :on-verified (case changing + :pin :keycard/proceed-to-change-pin + :puk :keycard/proceed-to-change-puk + :pairing :keycard/proceed-to-change-pairing)})} (common/navigate-to-enter-pin-screen))) (rf/defn proceed-to-change-pin @@ -141,11 +141,11 @@ puk-restore? (get-in db [:keycard :pin :puk-restore?])] (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:status nil - :login pin - :confirmation [] - :error-label nil}) + [:keycard :pin] + {:status nil + :login pin + :confirmation [] + :error-label nil}) :utils/show-popup {:title "" :content (i18n/label :t/pin-changed)}} (common/hide-connection-sheet) @@ -160,11 +160,11 @@ [{:keys [db] :as cofx}] (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:status nil - :puk-original [] - :puk-confirmation [] - :error-label nil}) + [:keycard :pin] + {:status nil + :puk-original [] + :puk-confirmation [] + :error-label nil}) :utils/show-popup {:title "" :content (i18n/label :t/puk-changed)}} (common/hide-connection-sheet) @@ -175,10 +175,10 @@ [{:keys [db] :as cofx}] (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:status nil - :pairing-code nil - :error-label nil}) + [:keycard :pin] + {:status nil + :pairing-code nil + :error-label nil}) :utils/show-popup {:title "" :content (i18n/label :t/pairing-changed)}} (common/hide-connection-sheet) diff --git a/src/status_im/keycard/common.cljs b/src/status_im/keycard/common.cljs index 7c8002aa2b..d525eeedda 100644 --- a/src/status_im/keycard/common.cljs +++ b/src/status_im/keycard/common.cljs @@ -249,18 +249,18 @@ (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:status nil - :login (get-in db [:keycard :pin :original]) - :export-key [] - :sign [] - :puk [] - :current [] - :original [] - :confirmation [] - :error-label nil - :on-verified (get-in db [:keycard :pin :on-verified]) - :on-verified-failure (get-in db [:keycard :pin :on-verified])})})) + [:keycard :pin] + {:status nil + :login (get-in db [:keycard :pin :original]) + :export-key [] + :sign [] + :puk [] + :current [] + :original [] + :confirmation [] + :error-label nil + :on-verified (get-in db [:keycard :pin :on-verified]) + :on-verified-failure (get-in db [:keycard :pin :on-verified])})})) (rf/defn cancel-sheet-confirm {:events [::cancel-sheet-confirm diff --git a/src/status_im/keycard/core.cljs b/src/status_im/keycard/core.cljs index ec08d58bfd..8430145f6a 100644 --- a/src/status_im/keycard/core.cljs +++ b/src/status_im/keycard/core.cljs @@ -538,13 +538,13 @@ (rf/defn set-setup-step [{:keys [db]} card-state] {:db (assoc-in db - [:keycard :setup-step] - (case card-state - :not-paired :pair - :no-pairing-slots :no-slots - :init :card-ready - :multiaccount :import-multiaccount - :begin))}) + [:keycard :setup-step] + (case card-state + :not-paired :pair + :no-pairing-slots :no-slots + :init :card-ready + :multiaccount :import-multiaccount + :begin))}) (rf/defn show-no-keycard-applet-alert [_] diff --git a/src/status_im/keycard/delete_key.cljs b/src/status_im/keycard/delete_key.cljs index 8166ba3f91..5058cd6177 100644 --- a/src/status_im/keycard/delete_key.cljs +++ b/src/status_im/keycard/delete_key.cljs @@ -33,14 +33,14 @@ [{:keys [db] :as cofx} keep-keys-on-keycard?] (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:enter-step :current - :current [] - :puk [] - :status nil - :error-label nil - :on-verified (if keep-keys-on-keycard? - :keycard/unpair-and-delete - :keycard/remove-key-with-unpair)})} + [:keycard :pin] + {:enter-step :current + :current [] + :puk [] + :status nil + :error-label nil + :on-verified (if keep-keys-on-keycard? + :keycard/unpair-and-delete + :keycard/remove-key-with-unpair)})} (common/set-on-card-connected :keycard/navigate-to-enter-pin-screen) (common/navigate-to-enter-pin-screen))) diff --git a/src/status_im/keycard/unpair.cljs b/src/status_im/keycard/unpair.cljs index 317c761bde..b9fc62a48c 100644 --- a/src/status_im/keycard/unpair.cljs +++ b/src/status_im/keycard/unpair.cljs @@ -24,13 +24,13 @@ [{:keys [db] :as cofx}] (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:enter-step :current - :current [] - :puk [] - :status nil - :error-label nil - :on-verified :keycard/unpair})} + [:keycard :pin] + {:enter-step :current + :current [] + :puk [] + :status nil + :error-label nil + :on-verified :keycard/unpair})} (common/navigate-to-enter-pin-screen))) (rf/defn unpair @@ -95,10 +95,10 @@ (log/debug "[keycard] unpair error" error) (rf/merge cofx {:db (assoc-in db - [:keycard :pin] - {:status nil - :error-label nil - :on-verified nil}) + [:keycard :pin] + {:status nil + :error-label nil + :on-verified nil}) :keycard/get-application-info nil :utils/show-popup {:title "" :content (i18n/label :t/something-went-wrong)}} diff --git a/src/status_im/mailserver/core.cljs b/src/status_im/mailserver/core.cljs index 78b3071ce5..68fcb38c51 100644 --- a/src/status_im/mailserver/core.cljs +++ b/src/status_im/mailserver/core.cljs @@ -162,8 +162,8 @@ [{{:keys [chats] :as db} :db} {:keys [request-id topics]}] (when (:mailserver/current-request db) {:db (assoc-in db - [:mailserver/current-request :request-id] - request-id)})) + [:mailserver/current-request :request-id] + request-id)})) (rf/defn toggle-use-mailservers [cofx value] diff --git a/src/status_im/multiaccounts/create/core.cljs b/src/status_im/multiaccounts/create/core.cljs index 819273ff75..b11746154e 100644 --- a/src/status_im/multiaccounts/create/core.cljs +++ b/src/status_im/multiaccounts/create/core.cljs @@ -71,8 +71,8 @@ (fn [name identicon] (let [derived-whisper (derived-data constants/path-whisper-keyword) derived-data-extended (assoc-in derived-data - [constants/path-whisper-keyword] - (merge derived-whisper {:name name :identicon identicon}))] + [constants/path-whisper-keyword] + (merge derived-whisper {:name name :identicon identicon}))] (re-frame/dispatch [::store-multiaccount-success key-code derived-data-extended]))))))]})) (re-frame/reg-fx @@ -181,32 +181,32 @@ :address]) new-multiaccount (cond-> - (merge - {;; address of the master key - :address address + (merge + {;; address of the master key + :address address ;; sha256 of master public key - :key-uid key-uid + :key-uid key-uid ;; The address from which we derive any wallet - :wallet-root-address - (get-in multiaccount - [:derived - constants/path-wallet-root-keyword - :address]) - :name name - :identicon identicon + :wallet-root-address + (get-in multiaccount + [:derived + constants/path-wallet-root-keyword + :address]) + :name name + :identicon identicon ;; public key of the chat account - :public-key public-key + :public-key public-key ;; default address for Dapps - :dapps-address (:address wallet-account) - :latest-derived-path 0 - :signing-phrase signing-phrase - :send-push-notifications? true - :backup-enabled? true - :installation-id (random-guid-generator) + :dapps-address (:address wallet-account) + :latest-derived-path 0 + :signing-phrase signing-phrase + :send-push-notifications? true + :backup-enabled? true + :installation-id (random-guid-generator) ;; default mailserver (history node) setting - :use-mailservers? true - :recovered recovered} - config/default-multiaccount) + :use-mailservers? true + :recovered recovered} + config/default-multiaccount) ;; The address from which we derive any chat ;; account/encryption keys eip1581-address diff --git a/src/status_im/multiaccounts/login/core.cljs b/src/status_im/multiaccounts/login/core.cljs index 370ddf1934..091b6e23eb 100644 --- a/src/status_im/multiaccounts/login/core.cljs +++ b/src/status_im/multiaccounts/login/core.cljs @@ -1,48 +1,49 @@ (ns status-im.multiaccounts.login.core - (:require [clojure.string :as string] - [re-frame.core :as re-frame] - [status-im.async-storage.core :as async-storage] - [status-im.chat.models.link-preview :as link-preview] - [status-im.communities.core :as communities] - [status-im.contact.core :as contact] - [status-im.data-store.chats :as data-store.chats] - [status-im.data-store.invitations :as data-store.invitations] - [status-im.data-store.settings :as data-store.settings] - [status-im.data-store.visibility-status-updates :as visibility-status-updates-store] - [status-im.ethereum.core :as ethereum] - [status-im.ethereum.eip55 :as eip55] - [status-im.ethereum.tokens :as tokens] - [status-im.ethereum.transactions.core :as transactions] - [status-im.fleet.core :as fleet] - [status-im.i18n.i18n :as i18n] - [status-im.keycard.common :as keycard.common] - [status-im.mobile-sync-settings.core :as mobile-network] - [status-im.multiaccounts.biometric.core :as biometric] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.native-module.core :as status] - [status-im.node.core :as node] - [status-im.notifications.core :as notifications] - [status-im.popover.core :as popover] - [status-im.signing.eip1559 :as eip1559] - [status-im.transport.core :as transport] - [status-im.ui.components.react :as react] - [status-im.utils.config :as config] - [utils.re-frame :as rf] - [status-im.utils.keychain.core :as keychain] - [status-im.utils.mobile-sync :as utils.mobile-sync] - [status-im.utils.platform :as platform] - [status-im.utils.types :as types] - [status-im.utils.utils :as utils] - [status-im.utils.wallet-connect :as wallet-connect] - [status-im.wallet-connect-legacy.core :as wallet-connect-legacy] - [status-im.wallet.core :as wallet] - [status-im.wallet.prices :as prices] - [status-im2.common.json-rpc.events :as json-rpc] - [status-im2.contexts.activity-center.events :as activity-center] - [status-im2.navigation.events :as navigation] - [status-im2.setup.log :as logging] - [taoensso.timbre :as log] - [utils.security.core :as security])) + (:require + [clojure.string :as string] + [re-frame.core :as re-frame] + [status-im.async-storage.core :as async-storage] + [status-im.chat.models.link-preview :as link-preview] + [status-im.communities.core :as communities] + [status-im.contact.core :as contact] + [status-im.data-store.chats :as data-store.chats] + [status-im.data-store.invitations :as data-store.invitations] + [status-im.data-store.settings :as data-store.settings] + [status-im.data-store.visibility-status-updates :as visibility-status-updates-store] + [status-im.ethereum.core :as ethereum] + [status-im.ethereum.eip55 :as eip55] + [status-im.ethereum.tokens :as tokens] + [status-im.ethereum.transactions.core :as transactions] + [status-im.fleet.core :as fleet] + [status-im.i18n.i18n :as i18n] + [status-im.keycard.common :as keycard.common] + [status-im.mobile-sync-settings.core :as mobile-network] + [status-im.multiaccounts.biometric.core :as biometric] + [status-im.multiaccounts.core :as multiaccounts] + [status-im.native-module.core :as status] + [status-im.node.core :as node] + [status-im.notifications.core :as notifications] + [status-im.popover.core :as popover] + [status-im.signing.eip1559 :as eip1559] + [status-im.transport.core :as transport] + [status-im.ui.components.react :as react] + [status-im.utils.config :as config] + [utils.re-frame :as rf] + [status-im.utils.keychain.core :as keychain] + [status-im.utils.mobile-sync :as utils.mobile-sync] + [status-im.utils.platform :as platform] + [status-im.utils.types :as types] + [status-im.utils.utils :as utils] + [status-im.utils.wallet-connect :as wallet-connect] + [status-im.wallet-connect-legacy.core :as wallet-connect-legacy] + [status-im.wallet.core :as wallet] + [status-im.wallet.prices :as prices] + [status-im2.common.json-rpc.events :as json-rpc] + [status-im2.contexts.activity-center.events :as activity-center] + [status-im2.navigation.events :as navigation] + [status-im2.setup.log :as logging] + [taoensso.timbre :as log] + [utils.security.core :as security])) (re-frame/reg-fx ::initialize-communities-enabled @@ -374,8 +375,8 @@ [{:keys [db] :as cofx} node-config-json] (let [node-config (types/json->clj node-config-json)] {:db (assoc-in db - [:multiaccount :wakuv2-config] - (get node-config :WakuV2Config))})) + [:multiaccount :wakuv2-config] + (get node-config :WakuV2Config))})) (rf/defn get-node-config [_] @@ -697,8 +698,8 @@ (get-credentials cofx key-uid) (rf/merge cofx {:db (assoc-in db - [:multiaccounts/login :save-password?] - (= auth-method keychain/auth-method-biometric))} + [:multiaccounts/login :save-password?] + (= auth-method keychain/auth-method-biometric))} (when-not (= auth-method keychain/auth-method-biometric) (keychain/save-auth-method key-uid keychain/auth-method-none)) (biometric/show-message bioauth-message bioauth-code) diff --git a/src/status_im/multiaccounts/recover/core.cljs b/src/status_im/multiaccounts/recover/core.cljs index 16a689bb50..3d77cefa4c 100644 --- a/src/status_im/multiaccounts/recover/core.cljs +++ b/src/status_im/multiaccounts/recover/core.cljs @@ -259,8 +259,8 @@ [{:keys [db]}] (let [passphrase (get-in db [:intro-wizard :passphrase])] {:db (assoc-in db - [:intro-wizard :passphrase-word-count] - (mnemonic/words-count passphrase))})) + [:intro-wizard :passphrase-word-count] + (mnemonic/words-count passphrase))})) (rf/defn run-validation [{:keys [db] :as cofx}] diff --git a/src/status_im/multiaccounts/update/core.cljs b/src/status_im/multiaccounts/update/core.cljs index 20e447dc84..22c9f396c9 100644 --- a/src/status_im/multiaccounts/update/core.cljs +++ b/src/status_im/multiaccounts/update/core.cljs @@ -68,8 +68,8 @@ :stickers/packs-installed (let [packs-installed-keys (keys (js->clj setting-value))] (reduce #(assoc-in %1 - [:stickers/packs %2 :status] - constants/sticker-pack-status-installed) + [:stickers/packs %2 :status] + constants/sticker-pack-status-installed) db packs-installed-keys)) :stickers/recent-stickers diff --git a/src/status_im/navigation/core.cljs b/src/status_im/navigation/core.cljs index 9de9b98180..87b478ba1d 100644 --- a/src/status_im/navigation/core.cljs +++ b/src/status_im/navigation/core.cljs @@ -21,7 +21,7 @@ (def splash-screen (-> rn .-NativeModules .-SplashScreen)) (defonce set-navigation-default-options - (.setDefaultOptions Navigation (clj->js {:layout {:orientation "portrait"}}))) + (.setDefaultOptions Navigation (clj->js {:layout {:orientation "portrait"}}))) ;; REGISTER COMPONENT (LAZY) (defn reg-comp @@ -33,7 +33,7 @@ (.registerComponent Navigation key (fn [] (gestureHandlerRootHOC screen)) (fn [] screen))))) (defonce rset-lazy-reg - (.setLazyComponentRegistrator Navigation reg-comp)) + (.setLazyComponentRegistrator Navigation reg-comp)) (defn dismiss-all-modals [] @@ -104,17 +104,17 @@ (.dismissModal Navigation (name (last @state/modals)))) (defonce register-nav-button-reg - (.registerNavigationButtonPressedListener - (.events Navigation) - (fn [^js evn] - (let [id (.-buttonId evn)] - (if (= "dismiss-modal" id) - (do - (when-let [event (get-in views/screens [(last @state/modals) :on-dissmiss])] - (re-frame/dispatch event)) - (dissmissModal)) - (when-let [handler (get-in views/screens [(keyword id) :right-handler])] - (handler))))))) + (.registerNavigationButtonPressedListener + (.events Navigation) + (fn [^js evn] + (let [id (.-buttonId evn)] + (if (= "dismiss-modal" id) + (do + (when-let [event (get-in views/screens [(last @state/modals) :on-dissmiss])] + (re-frame/dispatch event)) + (dissmissModal)) + (when-let [handler (get-in views/screens [(keyword id) :right-handler])] + (handler))))))) (defn set-view-id [view-id] @@ -126,53 +126,53 @@ (re-frame/dispatch on-focus)))) (defonce register-modal-reg - (.registerModalDismissedListener - (.events Navigation) - (fn [_] - (if (> (count @state/modals) 1) - (let [new-modals (butlast @state/modals)] - (reset! state/modals (vec new-modals)) - (set-view-id (last new-modals))) - (do - (reset! state/modals []) - (reset! state/curr-modal false) - (set-view-id @state/pushed-screen-id))) + (.registerModalDismissedListener + (.events Navigation) + (fn [_] + (if (> (count @state/modals) 1) + (let [new-modals (butlast @state/modals)] + (reset! state/modals (vec new-modals)) + (set-view-id (last new-modals))) + (do + (reset! state/modals []) + (reset! state/curr-modal false) + (set-view-id @state/pushed-screen-id))) - (let [comp @state/dissmissing] - (reset! state/dissmissing false) - (when (keyword? comp) - (open-modal comp)))))) + (let [comp @state/dissmissing] + (reset! state/dissmissing false) + (when (keyword? comp) + (open-modal comp)))))) ;; SCREEN DID APPEAR (defonce screen-appear-reg - (.registerComponentDidAppearListener - (.events Navigation) - (fn [^js evn] - (let [view-id (keyword (.-componentName evn))] - (log/debug "screen-appear-reg" view-id) - (when (get views/screens view-id) - (when (and (not= view-id :bottom-sheet) - (not= view-id :popover) - (not= view-id :visibility-status-popover)) - (set-view-id view-id) - (when-not @state/curr-modal - (reset! state/pushed-screen-id view-id)))))))) + (.registerComponentDidAppearListener + (.events Navigation) + (fn [^js evn] + (let [view-id (keyword (.-componentName evn))] + (log/debug "screen-appear-reg" view-id) + (when (get views/screens view-id) + (when (and (not= view-id :bottom-sheet) + (not= view-id :popover) + (not= view-id :visibility-status-popover)) + (set-view-id view-id) + (when-not @state/curr-modal + (reset! state/pushed-screen-id view-id)))))))) ;; SCREEN DID DISAPPEAR (defonce screen-disappear-reg - (.registerComponentDidDisappearListener - (.events Navigation) - (fn [^js evn] - (let [view-id (keyword (.-componentName evn))] - (when-not (#{"popover" "bottom-sheet" "signing-sheet" "visibility-status-popover" - "wallet-connect-sheet" "wallet-connect-success-sheet" - "wallet-connect-app-management-sheet"} - (.-componentName evn)) - (re-frame/dispatch [::view-disappeared view-id]) - (doseq [[_ {:keys [ref value]}] @quo.text-input/text-input-refs] - (.setNativeProps ^js ref (clj->js {:text value}))) - (doseq [[^js text-input default-value] @react/text-input-refs] - (.setNativeProps text-input (clj->js {:text default-value})))))))) + (.registerComponentDidDisappearListener + (.events Navigation) + (fn [^js evn] + (let [view-id (keyword (.-componentName evn))] + (when-not (#{"popover" "bottom-sheet" "signing-sheet" "visibility-status-popover" + "wallet-connect-sheet" "wallet-connect-success-sheet" + "wallet-connect-app-management-sheet"} + (.-componentName evn)) + (re-frame/dispatch [::view-disappeared view-id]) + (doseq [[_ {:keys [ref value]}] @quo.text-input/text-input-refs] + (.setNativeProps ^js ref (clj->js {:text value}))) + (doseq [[^js text-input default-value] @react/text-input-refs] + (.setNativeProps text-input (clj->js {:text default-value})))))))) ;; SET ROOT (re-frame/reg-fx @@ -203,19 +203,19 @@ {:init-root-fx (if keycard-account? :multiaccounts-keycard :multiaccounts)})) (defonce - rset-app-launched - (.registerAppLaunchedListener (.events Navigation) - (fn [] - (reset! state/curr-modal false) - (reset! state/dissmissing false) - (if (or (= @state/root-id :multiaccounts) - (= @state/root-id :multiaccounts-keycard)) - (re-frame/dispatch-sync [::set-multiaccount-root]) - (when @state/root-id - (reset! state/root-comp-id @state/root-id) - (.setRoot Navigation (clj->js (get (roots/roots) @state/root-id))) - (re-frame/dispatch [::login-core/check-last-chat]))) - (.hide ^js splash-screen)))) + rset-app-launched + (.registerAppLaunchedListener (.events Navigation) + (fn [] + (reset! state/curr-modal false) + (reset! state/dissmissing false) + (if (or (= @state/root-id :multiaccounts) + (= @state/root-id :multiaccounts-keycard)) + (re-frame/dispatch-sync [::set-multiaccount-root]) + (when @state/root-id + (reset! state/root-comp-id @state/root-id) + (.setRoot Navigation (clj->js (get (roots/roots) @state/root-id))) + (re-frame/dispatch [::login-core/check-last-chat]))) + (.hide ^js splash-screen)))) (defn get-screen-component [comp] @@ -294,19 +294,19 @@ (.popToRoot Navigation (name comp)))) (defonce register-bottom-tab-reg - (.registerBottomTabSelectedListener - (.events Navigation) - (fn [^js evn] - (let [selected-tab-index (.-selectedTabIndex evn) - comp (get tab-root-ids selected-tab-index) - tab-key (get (clojure.set/map-invert tab-key-idx) selected-tab-index)] - (re-frame/dispatch [:set :current-tab tab-key]) - (when (= @state/root-comp-id comp) - (when (= :chat tab-key) - (re-frame/dispatch [:close-chat])) - (when platform/android? - (.popToRoot Navigation (name comp)))) - (reset! state/root-comp-id comp))))) + (.registerBottomTabSelectedListener + (.events Navigation) + (fn [^js evn] + (let [selected-tab-index (.-selectedTabIndex evn) + comp (get tab-root-ids selected-tab-index) + tab-key (get (clojure.set/map-invert tab-key-idx) selected-tab-index)] + (re-frame/dispatch [:set :current-tab tab-key]) + (when (= @state/root-comp-id comp) + (when (= :chat tab-key) + (re-frame/dispatch [:close-chat])) + (when platform/android? + (.popToRoot Navigation (name comp)))) + (reset! state/root-comp-id comp))))) ;; OVERLAY (Popover and bottom sheets) (defn dissmiss-overlay @@ -331,20 +331,20 @@ ;; POPOVER (defonce popover-reg - (.registerComponent Navigation - "popover" - (fn [] (gestureHandlerRootHOC views/popover-comp)) - (fn [] views/popover-comp))) + (.registerComponent Navigation + "popover" + (fn [] (gestureHandlerRootHOC views/popover-comp)) + (fn [] views/popover-comp))) (re-frame/reg-fx :show-popover (fn [] (show-overlay "popover"))) (re-frame/reg-fx :hide-popover (fn [] (dissmiss-overlay "popover"))) ;; VISIBILITY STATUS POPOVER (defonce visibility-status-popover-reg - (.registerComponent Navigation - "visibility-status-popover" - (fn [] (gestureHandlerRootHOC views/visibility-status-popover-comp)) - (fn [] views/visibility-status-popover-comp))) + (.registerComponent Navigation + "visibility-status-popover" + (fn [] (gestureHandlerRootHOC views/visibility-status-popover-comp)) + (fn [] views/visibility-status-popover-comp))) (re-frame/reg-fx :show-visibility-status-popover (fn [] (show-overlay "visibility-status-popover"))) @@ -353,10 +353,10 @@ ;; BOTTOM SHEETS (defonce bottom-sheet-reg - (.registerComponent Navigation - "bottom-sheet" - (fn [] (gestureHandlerRootHOC views/sheet-comp)) - (fn [] views/sheet-comp))) + (.registerComponent Navigation + "bottom-sheet" + (fn [] (gestureHandlerRootHOC views/sheet-comp)) + (fn [] views/sheet-comp))) (re-frame/reg-fx :show-bottom-sheet (fn [] (show-overlay "bottom-sheet"))) (re-frame/reg-fx :hide-bottom-sheet (fn [] (dissmiss-overlay "bottom-sheet"))) @@ -364,22 +364,22 @@ ;; WALLET CONNECT (defonce wallet-connect-sheet-reg - (.registerComponent Navigation - "wallet-connect-sheet" - (fn [] (gestureHandlerRootHOC views/wallet-connect-comp)) - (fn [] views/wallet-connect-comp))) + (.registerComponent Navigation + "wallet-connect-sheet" + (fn [] (gestureHandlerRootHOC views/wallet-connect-comp)) + (fn [] views/wallet-connect-comp))) (defonce wallet-connect-success-sheet-reg - (.registerComponent Navigation - "wallet-connect-success-sheet" - (fn [] (gestureHandlerRootHOC views/wallet-connect-success-comp)) - (fn [] views/wallet-connect-success-comp))) + (.registerComponent Navigation + "wallet-connect-success-sheet" + (fn [] (gestureHandlerRootHOC views/wallet-connect-success-comp)) + (fn [] views/wallet-connect-success-comp))) (defonce wallet-connect-app-management-sheet-reg - (.registerComponent Navigation - "wallet-connect-app-management-sheet" - (fn [] (gestureHandlerRootHOC views/wallet-connect-app-management-comp)) - (fn [] views/wallet-connect-app-management-comp))) + (.registerComponent Navigation + "wallet-connect-app-management-sheet" + (fn [] (gestureHandlerRootHOC views/wallet-connect-app-management-comp)) + (fn [] views/wallet-connect-app-management-comp))) (re-frame/reg-fx :show-wallet-connect-sheet (fn [] (show-overlay "wallet-connect-sheet"))) (re-frame/reg-fx :hide-wallet-connect-sheet (fn [] (dissmiss-overlay "wallet-connect-sheet"))) @@ -395,10 +395,10 @@ ;; SIGNING (defonce signing-sheet-reg - (.registerComponent Navigation - "signing-sheet" - (fn [] (gestureHandlerRootHOC views/signing-comp)) - (fn [] views/signing-comp))) + (.registerComponent Navigation + "signing-sheet" + (fn [] (gestureHandlerRootHOC views/signing-comp)) + (fn [] views/signing-comp))) (re-frame/reg-fx :show-signing-sheet (fn [] (show-overlay "signing-sheet"))) (re-frame/reg-fx :hide-signing-sheet (fn [] (dissmiss-overlay "signing-sheet"))) @@ -407,10 +407,10 @@ ;; TODO why is this not a regular bottom sheet ? (defonce select-acc-sheet-reg - (.registerComponent Navigation - "select-acc-sheet" - (fn [] (gestureHandlerRootHOC views/select-acc-comp)) - (fn [] views/select-acc-comp))) + (.registerComponent Navigation + "select-acc-sheet" + (fn [] (gestureHandlerRootHOC views/select-acc-comp)) + (fn [] views/select-acc-comp))) (re-frame/reg-fx :show-select-acc-sheet (fn [] (show-overlay "select-acc-sheet"))) (re-frame/reg-fx :hide-select-acc-sheet (fn [] (dissmiss-overlay "select-acc-sheet"))) diff --git a/src/status_im/notifications/local.cljs b/src/status_im/notifications/local.cljs index 67988d63ff..e2b115f8f4 100644 --- a/src/status_im/notifications/local.cljs +++ b/src/status_im/notifications/local.cljs @@ -56,7 +56,7 @@ notification-event-ios (fn [notification] (handle-notification-press {:userInfo (bean/bean (.getData ^js - notification))}))) + notification))}))) (.addListener ^js react-native-utils/device-event-emitter notification-event-android (fn [^js data] diff --git a/src/status_im/pairing/core.cljs b/src/status_im/pairing/core.cljs index aed5e72b8f..009afbdadd 100644 --- a/src/status_im/pairing/core.cljs +++ b/src/status_im/pairing/core.cljs @@ -103,14 +103,14 @@ (rf/defn enable [{:keys [db]} installation-id] {:db (assoc-in db - [:pairing/installations installation-id :enabled?] - true)}) + [:pairing/installations installation-id :enabled?] + true)}) (rf/defn disable [{:keys [db]} installation-id] {:db (assoc-in db - [:pairing/installations installation-id :enabled?] - false)}) + [:pairing/installations installation-id :enabled?] + false)}) (defn handle-enable-installation-response-success "Callback to dispatch on enable signature response" diff --git a/src/status_im/profile/core.cljs b/src/status_im/profile/core.cljs index 62fbbe36bc..f58c2886b2 100644 --- a/src/status_im/profile/core.cljs +++ b/src/status_im/profile/core.cljs @@ -31,8 +31,8 @@ (do (re-frame/dispatch [:set-in [:tooltips tooltip-id] opacity]) (when (< 10 cnt) (swap! tooltips assoc-in - [tooltip-id :opacity] - (- opacity 0.05))))))) + [tooltip-id :opacity] + (- opacity 0.05))))))) 100)] (swap! tooltips assoc tooltip-id {:opacity 1.0 :interval-id interval-id :cnt 0})))))) diff --git a/src/status_im/signals/core.cljs b/src/status_im/signals/core.cljs index b82a2c62f6..a6ee76e54d 100644 --- a/src/status_im/signals/core.cljs +++ b/src/status_im/signals/core.cljs @@ -18,9 +18,9 @@ error) (if error (cond-> - {:db (-> db - (update :multiaccounts/login dissoc :processing) - (assoc-in [:multiaccounts/login :error] + {:db (-> db + (update :multiaccounts/login dissoc :processing) + (assoc-in [:multiaccounts/login :error] ;; NOTE: the only currently known error is ;; "file is not a database" which occurs ;; when the user inputs the wrong password @@ -29,9 +29,9 @@ ;; to the user ;; in case of an unknown error we show the ;; error - (if (= error "file is not a database") - (i18n/label :t/wrong-password) - error)))} + (if (= error "file is not a database") + (i18n/label :t/wrong-password) + error)))} (= (:view-id db) :progress) (assoc :dispatch [:navigate-to :login])) (login/multiaccount-login-success cofx))) diff --git a/src/status_im/signing/gas.cljs b/src/status_im/signing/gas.cljs index f9bf02a5e3..e7e8ddf115 100644 --- a/src/status_im/signing/gas.cljs +++ b/src/status_im/signing/gas.cljs @@ -230,7 +230,7 @@ (let [{:keys [normal-base-fee max-priority-fee]} price max-priority-fee-bn (money/with-precision (get-suggested-tip max-priority-fee) - 0)] + 0)] {:db (-> db (assoc-in [:signing/tx :maxFeePerGas] (money/to-hex (money/add max-priority-fee-bn diff --git a/src/status_im/transport/core.cljs b/src/status_im/transport/core.cljs index 6dfcfb520a..60c35dd4ee 100644 --- a/src/status_im/transport/core.cljs +++ b/src/status_im/transport/core.cljs @@ -27,8 +27,8 @@ (assoc :name (if (seq name) name id)) (dissoc :fleet))] (assoc-in db - [:mailserver/mailservers (keyword fleet) (keyword id)] - updated-mailserver))) + [:mailserver/mailservers (keyword fleet) (keyword id)] + updated-mailserver))) db mailservers)) diff --git a/src/status_im/transport/message/core.cljs b/src/status_im/transport/message/core.cljs index 4af7f69ef7..19761ee8e0 100644 --- a/src/status_im/transport/message/core.cljs +++ b/src/status_im/transport/message/core.cljs @@ -1,28 +1,29 @@ (ns ^{:doc "Definition of the StatusMessage protocol"} status-im.transport.message.core - (:require [clojure.string :as string] - [status-im.browser.core :as browser] - [status-im.chat.models :as models.chat] - [status-im.chat.models.message :as models.message] - [status-im.chat.models.reactions :as models.reactions] - [status-im.communities.core :as models.communities] - [status-im.constants :as constants] - [status-im.contact.core :as models.contact] - [status-im.data-store.activities :as data-store.activities] - [status-im.data-store.chats :as data-store.chats] - [status-im.data-store.contacts :as data-store.contacts] - [status-im.data-store.invitations :as data-store.invitations] - [status-im.data-store.messages :as data-store.messages] - [status-im.data-store.reactions :as data-store.reactions] - [status-im.group-chats.core :as models.group] - [status-im.multiaccounts.login.core :as multiaccounts.login] - [status-im.multiaccounts.model :as multiaccounts.model] - [status-im.multiaccounts.update.core :as update.core] - [status-im.pairing.core :as models.pairing] - [utils.re-frame :as rf] - [status-im.utils.types :as types] - [status-im.visibility-status-updates.core :as models.visibility-status-updates] - [status-im2.contexts.activity-center.events :as activity-center] - [status-im2.contexts.chat.messages.pin.events :as messages.pin])) + (:require + [clojure.string :as string] + [status-im.browser.core :as browser] + [status-im.chat.models :as models.chat] + [status-im.chat.models.message :as models.message] + [status-im.chat.models.reactions :as models.reactions] + [status-im.communities.core :as models.communities] + [status-im.constants :as constants] + [status-im.contact.core :as models.contact] + [status-im.data-store.activities :as data-store.activities] + [status-im.data-store.chats :as data-store.chats] + [status-im.data-store.contacts :as data-store.contacts] + [status-im.data-store.invitations :as data-store.invitations] + [status-im.data-store.messages :as data-store.messages] + [status-im.data-store.reactions :as data-store.reactions] + [status-im.group-chats.core :as models.group] + [status-im.multiaccounts.login.core :as multiaccounts.login] + [status-im.multiaccounts.model :as multiaccounts.model] + [status-im.multiaccounts.update.core :as update.core] + [status-im.pairing.core :as models.pairing] + [utils.re-frame :as rf] + [status-im.utils.types :as types] + [status-im.visibility-status-updates.core :as models.visibility-status-updates] + [status-im2.contexts.activity-center.events :as activity-center] + [status-im2.contexts.chat.messages.pin.events :as messages.pin])) (rf/defn process-next [cofx ^js response-js sync-handler] @@ -237,9 +238,9 @@ [response-js messages] (if (seq messages) (set! (.-messages response-js) - (.sort (to-array messages) - (fn [a b] - (- (.-clock b) (.-clock a))))) + (.sort (to-array messages) + (fn [a b] + (- (.-clock b) (.-clock a))))) (js-delete response-js "messages"))) (rf/defn sanitize-messages-and-process-response @@ -293,8 +294,8 @@ :not-sent (or not-sent (= :not-sent status))}] {:db (assoc-in db - [:transport/message-ids->confirmations message-id] - confirmations)})))) + [:transport/message-ids->confirmations message-id] + confirmations)})))) (rf/defn update-envelope-status [{:keys [db] :as cofx} message-id status] diff --git a/src/status_im/ui/screens/add_new/new_chat/views.cljs b/src/status_im/ui/screens/add_new/new_chat/views.cljs index 3a66ed60fb..3a4584cc7f 100644 --- a/src/status_im/ui/screens/add_new/new_chat/views.cljs +++ b/src/status_im/ui/screens/add_new/new_chat/views.cljs @@ -1,29 +1,30 @@ (ns status-im.ui.screens.add-new.new-chat.views - (:require [clojure.string :as string] - [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo.platform :as platform] - [quo.react-native :as rn] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.ethereum.ens :as ens] - [status-im.i18n.i18n :as i18n] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.qr-scanner.core :as qr-scanner] - [status-im.ui.components.animation :as animation] - [status-im.ui.components.chat-icon.screen :as chat-icon] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.invite.views :as invite] - [status-im.ui.components.keyboard-avoid-presentation :as kb-presentation] - [status-im.ui.components.list.views :as list] - [status-im.ui.components.react :as react] - [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.chat.photos :as photos] - [status-im.utils.db :as utils.db] - [status-im.utils.gfycat.core :as gfycat] - [status-im.utils.identicon :as identicon] - [status-im.utils.utils :as utils] - [utils.debounce :as debounce]) + (:require + [clojure.string :as string] + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo.platform :as platform] + [quo.react-native :as rn] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.ethereum.ens :as ens] + [status-im.i18n.i18n :as i18n] + [status-im.multiaccounts.core :as multiaccounts] + [status-im.qr-scanner.core :as qr-scanner] + [status-im.ui.components.animation :as animation] + [status-im.ui.components.chat-icon.screen :as chat-icon] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.invite.views :as invite] + [status-im.ui.components.keyboard-avoid-presentation :as kb-presentation] + [status-im.ui.components.list.views :as list] + [status-im.ui.components.react :as react] + [status-im.ui.components.topbar :as topbar] + [status-im.ui.screens.chat.photos :as photos] + [status-im.utils.db :as utils.db] + [status-im.utils.gfycat.core :as gfycat] + [status-im.utils.identicon :as identicon] + [status-im.utils.utils :as utils] + [utils.debounce :as debounce]) (:require-macros [status-im.utils.views :as views])) (defn- render-row diff --git a/src/status_im/ui/screens/browser/views.cljs b/src/status_im/ui/screens/browser/views.cljs index 1d77d6ac47..a98b98c1ff 100644 --- a/src/status_im/ui/screens/browser/views.cljs +++ b/src/status_im/ui/screens/browser/views.cljs @@ -1,28 +1,29 @@ (ns status-im.ui.screens.browser.views - (:require [quo.core :as quo] - [quo.design-system.colors :as colors] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.browser.core :as browser] - [status-im.browser.webview-ref :as webview-ref] - [status-im.i18n.i18n :as i18n] - [status-im.qr-scanner.core :as qr-scanner] - [status-im.ui.components.chat-icon.screen :as chat-icon] - [status-im.ui.components.connectivity.view :as connectivity] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.permissions :as components.permissions] - [status-im.ui.components.react :as react] - [status-im.ui.components.tooltip.views :as tooltip] - [status-im.ui.components.webview :as components.webview] - [status-im.ui.screens.browser.accounts :as accounts] - [status-im.ui.screens.browser.options.views :as options] - [status-im.ui.screens.browser.permissions.views :as permissions.views] - [status-im.ui.screens.browser.site-blocked.views :as site-blocked.views] - [status-im.ui.screens.browser.styles :as styles] - [status-im.ui.screens.wallet.components.views :as components] - [status-im.utils.http :as http] - [status-im.utils.js-resources :as js-res] - [utils.debounce :as debounce]) + (:require + [quo.core :as quo] + [quo.design-system.colors :as colors] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.browser.core :as browser] + [status-im.browser.webview-ref :as webview-ref] + [status-im.i18n.i18n :as i18n] + [status-im.qr-scanner.core :as qr-scanner] + [status-im.ui.components.chat-icon.screen :as chat-icon] + [status-im.ui.components.connectivity.view :as connectivity] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.permissions :as components.permissions] + [status-im.ui.components.react :as react] + [status-im.ui.components.tooltip.views :as tooltip] + [status-im.ui.components.webview :as components.webview] + [status-im.ui.screens.browser.accounts :as accounts] + [status-im.ui.screens.browser.options.views :as options] + [status-im.ui.screens.browser.permissions.views :as permissions.views] + [status-im.ui.screens.browser.site-blocked.views :as site-blocked.views] + [status-im.ui.screens.browser.styles :as styles] + [status-im.ui.screens.wallet.components.views :as components] + [status-im.utils.http :as http] + [status-im.utils.js-resources :as js-res] + [utils.debounce :as debounce]) (:require-macros [status-im.utils.views :as views])) (defn toolbar-content diff --git a/src/status_im/ui/screens/chat/audio_message/views.cljs b/src/status_im/ui/screens/chat/audio_message/views.cljs index 4cee180996..842891e79c 100644 --- a/src/status_im/ui/screens/chat/audio_message/views.cljs +++ b/src/status_im/ui/screens/chat/audio_message/views.cljs @@ -267,15 +267,15 @@ (reset-timer timer) (reset! state-cb #(update-state state)) (reset! max-recording-reached-cb - #(do - (when (= (:general @state) :recording) - (stop-recording {:rec-button-anim-value rec-button-anim-value - :ctrl-buttons-anim-value ctrl-buttons-anim-value - :timer timer - :max-recording-reached? true})) - (utils.utils/show-popup (i18n/label :t/audio-recorder) - (i18n/label - :t/audio-recorder-max-ms-reached)))) + #(do + (when (= (:general @state) :recording) + (stop-recording {:rec-button-anim-value rec-button-anim-value + :ctrl-buttons-anim-value ctrl-buttons-anim-value + :timer timer + :max-recording-reached? true})) + (utils.utils/show-popup (i18n/label :t/audio-recorder) + (i18n/label + :t/audio-recorder-max-ms-reached)))) (reset! on-background-cb #(when (= (:general @state) :recording) (pause-recording {:rec-button-anim-value rec-button-anim-value diff --git a/src/status_im/ui/screens/chat/components/input.cljs b/src/status_im/ui/screens/chat/components/input.cljs index 59ad308aa6..1993237796 100644 --- a/src/status_im/ui/screens/chat/components/input.cljs +++ b/src/status_im/ui/screens/chat/components/input.cljs @@ -104,13 +104,13 @@ ;; typing. Timeout might be canceled on `on-change`. (when platform/ios? (reset! - timeout-id - (utils.utils/set-timeout - #(re-frame/dispatch [::mentions/on-selection-change - {:start start - :end end} - mentionable-users]) - 50))) + timeout-id + (utils.utils/set-timeout + #(re-frame/dispatch [::mentions/on-selection-change + {:start start + :end end} + mentionable-users]) + 50))) ;; NOTE(rasom): on Android we dispatch event only in case if there ;; was no text changes during last 50ms. `on-selection-change` is ;; dispatched after `on-change`, that's why there is no another way @@ -314,32 +314,32 @@ (let [ens-name? (not= alias name)] [list-item/list-item (cond-> - {:icon [photos/member-photo public-key] - :size :small - :text-size :small - :title - [text/text - {:weight :medium - :ellipsize-mode :tail - :number-of-lines 1 - :size :small} - (if nickname - nickname - name) - (when nickname - [text/text - {:weight :regular - :color :secondary - :ellipsize-mode :tail - :size :small} - " " - (when ens-name? - "@") - name])] - :title-text-weight :medium - :on-press - (fn [] - (re-frame/dispatch [:chat.ui/select-mention text-input-ref user]))} + {:icon [photos/member-photo public-key] + :size :small + :text-size :small + :title + [text/text + {:weight :medium + :ellipsize-mode :tail + :number-of-lines 1 + :size :small} + (if nickname + nickname + name) + (when nickname + [text/text + {:weight :regular + :color :secondary + :ellipsize-mode :tail + :size :small} + " " + (when ens-name? + "@") + name])] + :title-text-weight :medium + :on-press + (fn [] + (re-frame/dispatch [:chat.ui/select-mention text-input-ref user]))} ens-name? (assoc :subtitle alias))])) diff --git a/src/status_im/ui/screens/chat/message/audio_old.cljs b/src/status_im/ui/screens/chat/message/audio_old.cljs index 404621a6bb..25fef359d3 100644 --- a/src/status_im/ui/screens/chat/message/audio_old.cljs +++ b/src/status_im/ui/screens/chat/message/audio_old.cljs @@ -30,17 +30,17 @@ (when @progress-timer (utils/clear-interval @progress-timer)) (reset! progress-timer - (utils/set-interval - #(when (and @state-ref (not (:slider-seeking @state-ref))) - (let [ct (audio/get-player-current-time @player-ref)] - (reset! progress-ref ct) - (when ct - (anim/start (anim/timing progress-anim - {:toValue @progress-ref - :duration 100 - :easing (.-linear ^js anim/easing) - :useNativeDriver true}))))) - 100)))) + (utils/set-interval + #(when (and @state-ref (not (:slider-seeking @state-ref))) + (let [ct (audio/get-player-current-time @player-ref)] + (reset! progress-ref ct) + (when ct + (anim/start (anim/timing progress-anim + {:toValue @progress-ref + :duration 100 + :easing (.-linear ^js anim/easing) + :useNativeDriver true}))))) + 100)))) (defn update-state [{:keys [state-ref progress-ref progress-anim message-id seek-to-ms audio-duration-ms diff --git a/src/status_im/ui/screens/chat/message/message.cljs b/src/status_im/ui/screens/chat/message/message.cljs index 66527c8d70..10e6101dc5 100644 --- a/src/status_im/ui/screens/chat/message/message.cljs +++ b/src/status_im/ui/screens/chat/message/message.cljs @@ -1,30 +1,31 @@ (ns status-im.ui.screens.chat.message.message - (:require [quo.core :as quo] - [quo.design-system.colors :as colors] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.chat.models.images :as images] - [status-im.constants :as constants] - [status-im.i18n.i18n :as i18n] - [status-im.react-native.resources :as resources] - [status-im.ui.components.animation :as animation] - [status-im.ui.components.fast-image :as fast-image] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.react :as react] - [status-im.ui.screens.chat.components.reply :as components.reply] - [status-im.ui.screens.chat.image.preview.views :as preview] - [status-im.ui.screens.chat.message.audio-old :as message.audio] - [status-im.ui.screens.chat.message.command :as message.command] - [status-im.ui.screens.chat.message.gap :as message.gap] - [status-im.ui.screens.chat.message.link-preview :as link-preview] - [status-im.ui.screens.chat.message.reactions-old :as reactions] - [status-im.ui.screens.chat.photos :as photos] - [status-im.ui.screens.chat.sheets :as sheets] - [status-im.ui.screens.chat.styles.message.message-old :as style] - [status-im.ui.screens.chat.utils :as chat.utils] - [status-im.ui.screens.communities.icon :as communities.icon] - [status-im.utils.config :as config] - [utils.security.core :as security]) + (:require + [quo.core :as quo] + [quo.design-system.colors :as colors] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.chat.models.images :as images] + [status-im.constants :as constants] + [status-im.i18n.i18n :as i18n] + [status-im.react-native.resources :as resources] + [status-im.ui.components.animation :as animation] + [status-im.ui.components.fast-image :as fast-image] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.react :as react] + [status-im.ui.screens.chat.components.reply :as components.reply] + [status-im.ui.screens.chat.image.preview.views :as preview] + [status-im.ui.screens.chat.message.audio-old :as message.audio] + [status-im.ui.screens.chat.message.command :as message.command] + [status-im.ui.screens.chat.message.gap :as message.gap] + [status-im.ui.screens.chat.message.link-preview :as link-preview] + [status-im.ui.screens.chat.message.reactions-old :as reactions] + [status-im.ui.screens.chat.photos :as photos] + [status-im.ui.screens.chat.sheets :as sheets] + [status-im.ui.screens.chat.styles.message.message-old :as style] + [status-im.ui.screens.chat.utils :as chat.utils] + [status-im.ui.screens.communities.icon :as communities.icon] + [status-im.utils.config :as config] + [utils.security.core :as security]) (:require-macros [status-im.utils.views :refer [defview letsubs]])) (defn message-timestamp-anim diff --git a/src/status_im/ui/screens/chat/styles/message/message.cljs b/src/status_im/ui/screens/chat/styles/message/message.cljs index 4886ecb62c..8bfc23eee1 100644 --- a/src/status_im/ui/screens/chat/styles/message/message.cljs +++ b/src/status_im/ui/screens/chat/styles/message/message.cljs @@ -48,8 +48,8 @@ (defn message-status-text [] - {:font-size 10 - :line-height 10 + {:font-size 10 + :line-height 10 :border-color :red :border-width 1 :color :red}) @@ -105,7 +105,8 @@ {:flex-direction :row :margin-top 1}) -(defn pinned-by-text [] +(defn pinned-by-text + [] {:margin-left 5}) (def message-author-touchable diff --git a/src/status_im/ui/screens/chat/views.cljs b/src/status_im/ui/screens/chat/views.cljs index df31ada7ee..534b7d679b 100644 --- a/src/status_im/ui/screens/chat/views.cljs +++ b/src/status_im/ui/screens/chat/views.cljs @@ -1,43 +1,44 @@ (ns status-im.ui.screens.chat.views - (:require [clojure.string :as string] - [quo.animated :as animated] - [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo.react :as quo.react] - [quo.react-native :as rn] - [re-frame.core :as re-frame] - re-frame.db - [reagent.core :as reagent] - [status-im.constants :as constants] - [status-im.i18n.i18n :as i18n] - [status-im.react-native.resources :as resources] - [status-im.ui.components.chat-icon.screen :as chat-icon.screen] - [status-im.ui.components.connectivity.view :as connectivity] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.list.views :as list] - [status-im.ui.components.react :as react] - [status-im.ui.components.toolbar :as toolbar] - [status-im.ui.screens.chat.audio-message.views :as audio-message] - [status-im.ui.screens.chat.components.accessory :as accessory] - [status-im.ui.screens.chat.components.contact-request :as contact-request] - [status-im.ui.screens.chat.components.edit :as edit] - [status-im.ui.screens.chat.components.input :as components] - [status-im.ui.screens.chat.components.reply :as reply] - [status-im.ui.screens.chat.extensions.views :as extensions] - [status-im.ui.screens.chat.group :as chat.group] - [status-im.ui.screens.chat.image.views :as image] - [status-im.ui.screens.chat.message.datemark :as message-datemark] - [status-im.ui.screens.chat.message.gap :as gap] - [status-im.ui.screens.chat.message.message :as message] - [status-im.ui.screens.chat.sheets :as sheets] - [status-im.ui.screens.chat.state :as state] - [status-im.ui.screens.chat.stickers.views :as stickers] - [status-im.ui.screens.chat.styles.main :as style] - [status-im.ui.screens.chat.toolbar-content :as toolbar-content] - [status-im.utils.platform :as platform] - [status-im.utils.utils :as utils] - [status-im2.navigation.state :as navigation.state] - [utils.debounce :as debounce])) + (:require + [clojure.string :as string] + [quo.animated :as animated] + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo.react :as quo.react] + [quo.react-native :as rn] + [re-frame.core :as re-frame] + re-frame.db + [reagent.core :as reagent] + [status-im.constants :as constants] + [status-im.i18n.i18n :as i18n] + [status-im.react-native.resources :as resources] + [status-im.ui.components.chat-icon.screen :as chat-icon.screen] + [status-im.ui.components.connectivity.view :as connectivity] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.list.views :as list] + [status-im.ui.components.react :as react] + [status-im.ui.components.toolbar :as toolbar] + [status-im.ui.screens.chat.audio-message.views :as audio-message] + [status-im.ui.screens.chat.components.accessory :as accessory] + [status-im.ui.screens.chat.components.contact-request :as contact-request] + [status-im.ui.screens.chat.components.edit :as edit] + [status-im.ui.screens.chat.components.input :as components] + [status-im.ui.screens.chat.components.reply :as reply] + [status-im.ui.screens.chat.extensions.views :as extensions] + [status-im.ui.screens.chat.group :as chat.group] + [status-im.ui.screens.chat.image.views :as image] + [status-im.ui.screens.chat.message.datemark :as message-datemark] + [status-im.ui.screens.chat.message.gap :as gap] + [status-im.ui.screens.chat.message.message :as message] + [status-im.ui.screens.chat.sheets :as sheets] + [status-im.ui.screens.chat.state :as state] + [status-im.ui.screens.chat.stickers.views :as stickers] + [status-im.ui.screens.chat.styles.main :as style] + [status-im.ui.screens.chat.toolbar-content :as toolbar-content] + [status-im.utils.platform :as platform] + [status-im.utils.utils :as utils] + [status-im2.navigation.state :as navigation.state] + [utils.debounce :as debounce])) (defn invitation-requests [chat-id admins] diff --git a/src/status_im/ui/screens/communities/community.cljs b/src/status_im/ui/screens/communities/community.cljs index 698d149c2a..3de8adc258 100644 --- a/src/status_im/ui/screens/communities/community.cljs +++ b/src/status_im/ui/screens/communities/community.cljs @@ -1,29 +1,30 @@ (ns status-im.ui.screens.communities.community - (:require [i18n.i18n :as i18n] - [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo2.components.community.style :as styles] ;; TODO reimplement with quo2 library and new - ;; designs - [quo2.components.navigation.floating-shell-button :as floating-shell-button] - [react-native.core :as rn] - [status-im.chat.models.link-preview :as link-preview] - [status-im.communities.core :as communities] - [status-im.constants :as constants] - [status-im.react-native.resources :as resources] - [status-im.ui.components.accordion :as accordion] - [status-im.ui.components.chat-icon.screen :as chat-icon.screen] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.list.views :as list] - [status-im.ui.components.plus-button :as components.plus-button] - [status-im.ui.components.react :as react] - [status-im.ui.components.toolbar :as toolbar] - [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.chat.photos :as photos] - [status-im.ui.screens.chat.sheets :as sheets] - [status-im.ui.screens.home.views.inner-item :as inner-item] - [status-im.utils.core :as utils] - [status-im.utils.datetime :as datetime] - [utils.re-frame :as rf])) + (:require + [i18n.i18n :as i18n] + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo2.components.community.style :as styles] ;; TODO reimplement with quo2 library and new + ;; designs + [quo2.components.navigation.floating-shell-button :as floating-shell-button] + [react-native.core :as rn] + [status-im.chat.models.link-preview :as link-preview] + [status-im.communities.core :as communities] + [status-im.constants :as constants] + [status-im.react-native.resources :as resources] + [status-im.ui.components.accordion :as accordion] + [status-im.ui.components.chat-icon.screen :as chat-icon.screen] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.list.views :as list] + [status-im.ui.components.plus-button :as components.plus-button] + [status-im.ui.components.react :as react] + [status-im.ui.components.toolbar :as toolbar] + [status-im.ui.components.topbar :as topbar] + [status-im.ui.screens.chat.photos :as photos] + [status-im.ui.screens.chat.sheets :as sheets] + [status-im.ui.screens.home.views.inner-item :as inner-item] + [status-im.utils.core :as utils] + [status-im.utils.datetime :as datetime] + [utils.re-frame :as rf])) (def request-cooldown-ms (* 24 60 60 1000)) diff --git a/src/status_im/ui/screens/communities/reorder_categories.cljs b/src/status_im/ui/screens/communities/reorder_categories.cljs index a9da9799bf..1d1e8be109 100644 --- a/src/status_im/ui/screens/communities/reorder_categories.cljs +++ b/src/status_im/ui/screens/communities/reorder_categories.cljs @@ -150,16 +150,16 @@ (defn reset-data [categories chats] (reset! data - (if (categories-tab?) - categories - (walk/postwalk-replace - {:chat-id :id} - (reduce (fn [acc category] - (-> acc - (conj category) - (into (get chats (:id category))))) - [] - categories))))) + (if (categories-tab?) + categories + (walk/postwalk-replace + {:chat-id :id} + (reduce (fn [acc category] + (-> acc + (conj category) + (into (get chats (:id category))))) + [] + categories))))) (defn draggable-list [] diff --git a/src/status_im/ui/screens/communities/requests_to_join.cljs b/src/status_im/ui/screens/communities/requests_to_join.cljs index c3fdc84916..f0c2700bde 100644 --- a/src/status_im/ui/screens/communities/requests_to_join.cljs +++ b/src/status_im/ui/screens/communities/requests_to_join.cljs @@ -54,7 +54,8 @@ [] (let [{:keys [community-id]} (rf/sub [:get-screen-params])] (fn [] - (let [requests (rf/sub [:communities/requests-to-join-for-community community-id]) + (let [requests (rf/sub [:communities/requests-to-join-for-community + community-id]) {:keys [can-manage-users?]} (rf/sub [:communities/community community-id])] [:<> [topbar/topbar diff --git a/src/status_im/ui/screens/ens/views.cljs b/src/status_im/ui/screens/ens/views.cljs index 1e2eca5895..ab9ef47305 100644 --- a/src/status_im/ui/screens/ens/views.cljs +++ b/src/status_im/ui/screens/ens/views.cljs @@ -1,32 +1,33 @@ (ns status-im.ui.screens.ens.views - (:require [clojure.string :as string] - [quo.core :as quo] - [quo.design-system.colors :as colors] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.constants :as constants] - [status-im.ens.core :as ens] - [status-im.ethereum.core :as ethereum] - [status-im.ethereum.ens :as ethereum.ens] - [status-im.ethereum.stateofus :as stateofus] - [status-im.ethereum.tokens :as tokens] - [status-im.i18n.i18n :as i18n] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.react-native.resources :as resources] - [status-im.ui.components.chat-icon.screen :as chat-icon] - [status-im.ui.components.checkbox.view :as checkbox] - [status-im.ui.components.common.common :as components.common] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.react :as react] - [status-im.ui.components.toolbar :as toolbar] - [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.chat.message.message :as message] - [status-im.ui.screens.chat.photos :as photos] - [status-im.ui.screens.chat.utils :as chat.utils] - [status-im.ui.screens.profile.components.views :as profile.components] - [status-im.ui.screens.wallet.send.sheets :as sheets] - [status-im.utils.utils :as utils] - [utils.debounce :as debounce]) + (:require + [clojure.string :as string] + [quo.core :as quo] + [quo.design-system.colors :as colors] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.constants :as constants] + [status-im.ens.core :as ens] + [status-im.ethereum.core :as ethereum] + [status-im.ethereum.ens :as ethereum.ens] + [status-im.ethereum.stateofus :as stateofus] + [status-im.ethereum.tokens :as tokens] + [status-im.i18n.i18n :as i18n] + [status-im.multiaccounts.core :as multiaccounts] + [status-im.react-native.resources :as resources] + [status-im.ui.components.chat-icon.screen :as chat-icon] + [status-im.ui.components.checkbox.view :as checkbox] + [status-im.ui.components.common.common :as components.common] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.react :as react] + [status-im.ui.components.toolbar :as toolbar] + [status-im.ui.components.topbar :as topbar] + [status-im.ui.screens.chat.message.message :as message] + [status-im.ui.screens.chat.photos :as photos] + [status-im.ui.screens.chat.utils :as chat.utils] + [status-im.ui.screens.profile.components.views :as profile.components] + [status-im.ui.screens.wallet.send.sheets :as sheets] + [status-im.utils.utils :as utils] + [utils.debounce :as debounce]) (:require-macros [status-im.utils.views :as views])) (defn- link diff --git a/src/status_im/ui/screens/home/views.cljs b/src/status_im/ui/screens/home/views.cljs index aa5cc19fcd..fb013faf4f 100644 --- a/src/status_im/ui/screens/home/views.cljs +++ b/src/status_im/ui/screens/home/views.cljs @@ -1,33 +1,34 @@ (ns status-im.ui.screens.home.views - (:require [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo2.components.buttons.button :as quo2.button] - [quo2.components.markdown.text :as quo2.text] - [quo2.foundations.colors :as quo2.colors] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.add-new.core :as new-chat] - [status-im.add-new.db :as db] - [status-im.i18n.i18n :as i18n] - [status-im.qr-scanner.core :as qr-scanner] - [status-im.react-native.resources :as resources] - [status-im.ui.components.chat-icon.screen :as chat-icon.screen] - [status-im.ui.components.chat-icon.styles :as chat-icon.styles] - [status-im.ui.components.connectivity.view :as connectivity] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.invite.views :as invite] - [status-im.ui.components.list.views :as list] - [status-im.ui.components.plus-button :as components.plus-button] - [status-im.ui.components.react :as react] - [status-im.ui.components.search-input.view :as search-input] - [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.chat.sheets :as sheets] - [status-im.ui.screens.communities.views :as communities.views] - [status-im.ui.screens.home.styles :as styles] - [status-im.ui.screens.home.views.inner-item :as inner-item] - [status-im.utils.utils :as utils] - [status-im2.setup.config :as config] - [utils.debounce :as debounce]) + (:require + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo2.components.buttons.button :as quo2.button] + [quo2.components.markdown.text :as quo2.text] + [quo2.foundations.colors :as quo2.colors] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.add-new.core :as new-chat] + [status-im.add-new.db :as db] + [status-im.i18n.i18n :as i18n] + [status-im.qr-scanner.core :as qr-scanner] + [status-im.react-native.resources :as resources] + [status-im.ui.components.chat-icon.screen :as chat-icon.screen] + [status-im.ui.components.chat-icon.styles :as chat-icon.styles] + [status-im.ui.components.connectivity.view :as connectivity] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.invite.views :as invite] + [status-im.ui.components.list.views :as list] + [status-im.ui.components.plus-button :as components.plus-button] + [status-im.ui.components.react :as react] + [status-im.ui.components.search-input.view :as search-input] + [status-im.ui.components.topbar :as topbar] + [status-im.ui.screens.chat.sheets :as sheets] + [status-im.ui.screens.communities.views :as communities.views] + [status-im.ui.screens.home.styles :as styles] + [status-im.ui.screens.home.views.inner-item :as inner-item] + [status-im.utils.utils :as utils] + [status-im2.setup.config :as config] + [utils.debounce :as debounce]) (:require-macros [status-im.utils.views :as views])) (defn home-tooltip-view diff --git a/src/status_im/ui/screens/profile/visibility_status/views.cljs b/src/status_im/ui/screens/profile/visibility_status/views.cljs index 40252b9c06..636b1e6419 100644 --- a/src/status_im/ui/screens/profile/visibility_status/views.cljs +++ b/src/status_im/ui/screens/profile/visibility_status/views.cljs @@ -167,11 +167,11 @@ update? (reagent/atom nil) request-close (fn [] (reset! clear-timeout - (js/setTimeout - #(do (reset! current-popover nil) - (re-frame/dispatch - [:hide-visibility-status-popover])) - 200)) + (js/setTimeout + #(do (reset! current-popover nil) + (re-frame/dispatch + [:hide-visibility-status-popover])) + 200)) (hide-options) true) on-show (fn [] diff --git a/src/status_im/ui/screens/rpc_usage_info.cljs b/src/status_im/ui/screens/rpc_usage_info.cljs index 1361d35169..776a2ae6f2 100644 --- a/src/status_im/ui/screens/rpc_usage_info.cljs +++ b/src/status_im/ui/screens/rpc_usage_info.cljs @@ -156,7 +156,7 @@ {:component-did-mount (fn [] (reset! rpc-refresh-interval - (utils/set-interval #(re-frame/dispatch [::get-stats]) rpc-usage-refresh-interval-ms))) + (utils/set-interval #(re-frame/dispatch [::get-stats]) rpc-usage-refresh-interval-ms))) :component-will-unmount (fn [] (utils/clear-interval @rpc-refresh-interval) diff --git a/src/status_im/ui/screens/signing/views.cljs b/src/status_im/ui/screens/signing/views.cljs index 532f76fd10..6230311cf5 100644 --- a/src/status_im/ui/screens/signing/views.cljs +++ b/src/status_im/ui/screens/signing/views.cljs @@ -1,32 +1,33 @@ (ns status-im.ui.screens.signing.views (:require-macros [status-im.utils.views :as views]) - (:require [clojure.string :as string] - [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo.gesture-handler :as gh] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.ethereum.tokens :as tokens] - [status-im.i18n.i18n :as i18n] - [status-im.keycard.common :as keycard.common] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.react-native.resources :as resources] - [status-im.signing.eip1559 :as eip1559] - [status-im.ui.components.bottom-panel.views :as bottom-panel] - [status-im.ui.components.chat-icon.screen :as chat-icon] - [status-im.ui.components.copyable-text :as copyable-text] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.react :as react] - [status-im.ui.screens.keycard.keycard-interaction :as keycard-sheet] - [status-im.ui.screens.keycard.pin.views :as pin.views] - [status-im.ui.screens.signing.sheets :as sheets] - [status-im.ui.screens.signing.styles :as styles] - [status-im.ui.screens.wallet.components.views :as wallet.components] - [status-im.utils.platform :as platform] - [status-im.utils.types :as types] - [status-im.utils.utils :as utils] - [status-im.wallet.utils :as wallet.utils] - [utils.security.core :as security])) + (:require + [clojure.string :as string] + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo.gesture-handler :as gh] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.ethereum.tokens :as tokens] + [status-im.i18n.i18n :as i18n] + [status-im.keycard.common :as keycard.common] + [status-im.multiaccounts.core :as multiaccounts] + [status-im.react-native.resources :as resources] + [status-im.signing.eip1559 :as eip1559] + [status-im.ui.components.bottom-panel.views :as bottom-panel] + [status-im.ui.components.chat-icon.screen :as chat-icon] + [status-im.ui.components.copyable-text :as copyable-text] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.react :as react] + [status-im.ui.screens.keycard.keycard-interaction :as keycard-sheet] + [status-im.ui.screens.keycard.pin.views :as pin.views] + [status-im.ui.screens.signing.sheets :as sheets] + [status-im.ui.screens.signing.styles :as styles] + [status-im.ui.screens.wallet.components.views :as wallet.components] + [status-im.utils.platform :as platform] + [status-im.utils.types :as types] + [status-im.utils.utils :as utils] + [status-im.wallet.utils :as wallet.utils] + [utils.security.core :as security])) (defn separator [] diff --git a/src/status_im/ui/screens/wallet/account/views.cljs b/src/status_im/ui/screens/wallet/account/views.cljs index e006f4774c..d9261db5e7 100644 --- a/src/status_im/ui/screens/wallet/account/views.cljs +++ b/src/status_im/ui/screens/wallet/account/views.cljs @@ -1,28 +1,29 @@ (ns status-im.ui.screens.wallet.account.views - (:require [quo.core :as quo] - [quo.design-system.colors :as colors] - [quo.design-system.spacing :as spacing] - [quo2.components.buttons.button :as quo2.button] - [quo2.components.markdown.text :as quo2.text] - [quo2.components.tabs.tabs :as quo2.tabs] - [quo2.foundations.colors :as quo2.colors] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.ethereum.core :as ethereum] - [status-im.i18n.i18n :as i18n] - [status-im.ui.components.animation :as animation] - [status-im.ui.components.icons.icons :as icons] - [status-im.ui.components.react :as react] - [status-im.ui.components.tabs :as tabs] - [status-im.ui.components.topbar :as topbar] - [status-im.ui.screens.wallet.account.styles :as styles] - [status-im.ui.screens.wallet.accounts.common :as common] - [status-im.ui.screens.wallet.accounts.sheets :as sheets] - [status-im.ui.screens.wallet.buy-crypto.views :as buy-crypto] - [status-im.ui.screens.wallet.collectibles.views :as collectibles.views] - [status-im.ui.screens.wallet.transactions.views :as history] - [status-im.utils.config :as config] - [utils.re-frame :as rf]) + (:require + [quo.core :as quo] + [quo.design-system.colors :as colors] + [quo.design-system.spacing :as spacing] + [quo2.components.buttons.button :as quo2.button] + [quo2.components.markdown.text :as quo2.text] + [quo2.components.tabs.tabs :as quo2.tabs] + [quo2.foundations.colors :as quo2.colors] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.ethereum.core :as ethereum] + [status-im.i18n.i18n :as i18n] + [status-im.ui.components.animation :as animation] + [status-im.ui.components.icons.icons :as icons] + [status-im.ui.components.react :as react] + [status-im.ui.components.tabs :as tabs] + [status-im.ui.components.topbar :as topbar] + [status-im.ui.screens.wallet.account.styles :as styles] + [status-im.ui.screens.wallet.accounts.common :as common] + [status-im.ui.screens.wallet.accounts.sheets :as sheets] + [status-im.ui.screens.wallet.buy-crypto.views :as buy-crypto] + [status-im.ui.screens.wallet.collectibles.views :as collectibles.views] + [status-im.ui.screens.wallet.transactions.views :as history] + [status-im.utils.config :as config] + [utils.re-frame :as rf]) (:require-macros [status-im.utils.views :as views])) (def state (reagent/atom {:tab :assets})) diff --git a/src/status_im/ui/screens/wallet/accounts_manage/views.cljs b/src/status_im/ui/screens/wallet/accounts_manage/views.cljs index 2e1aeff538..ee9328af6d 100644 --- a/src/status_im/ui/screens/wallet/accounts_manage/views.cljs +++ b/src/status_im/ui/screens/wallet/accounts_manage/views.cljs @@ -25,7 +25,8 @@ :disabled wallet :title name :subtitle (utils/get-shortened-checksum-address address) - :on-press #(rf/dispatch [:wallet.accounts/save-account account {:hidden (not hidden)}])}])})) + :on-press #(rf/dispatch [:wallet.accounts/save-account account + {:hidden (not hidden)}])}])})) (defn manage [] diff --git a/src/status_im/ui/screens/wallet/collectibles/views.cljs b/src/status_im/ui/screens/wallet/collectibles/views.cljs index b74aea702f..56fecfbf6f 100644 --- a/src/status_im/ui/screens/wallet/collectibles/views.cljs +++ b/src/status_im/ui/screens/wallet/collectibles/views.cljs @@ -150,7 +150,8 @@ (defn nft-assets [{:keys [num-assets address collectible-slug]}] - (let [assets (rf/sub [:wallet/collectible-assets-by-collection-and-address address collectible-slug]) + (let [assets (rf/sub [:wallet/collectible-assets-by-collection-and-address address + collectible-slug]) fetching? (rf/sub [:wallet/fetching-assets-by-collectible-slug collectible-slug])] [react/view {:flex 1 diff --git a/src/status_im/ui2/screens/chat/composer/input.cljs b/src/status_im/ui2/screens/chat/composer/input.cljs index 2528e9a176..c5cb4c3847 100644 --- a/src/status_im/ui2/screens/chat/composer/input.cljs +++ b/src/status_im/ui2/screens/chat/composer/input.cljs @@ -89,13 +89,13 @@ ;; typing. Timeout might be canceled on `on-change`. (when platform/ios? (reset! - timeout-id - (utils.utils/set-timeout - #(rf/dispatch [::mentions/on-selection-change - {:start start - :end end} - mentionable-users]) - 50))) + timeout-id + (utils.utils/set-timeout + #(rf/dispatch [::mentions/on-selection-change + {:start start + :end end} + mentionable-users]) + 50))) ;; NOTE(rasom): on Android we dispatch event only in case if there ;; was no text changes during last 50ms. `on-selection-change` is ;; dispatched after `on-change`, that's why there is no another way @@ -218,7 +218,7 @@ (.-RNSelectableTextInputManager ^js (.-NativeModules react-native)))) (defonce rn-selectable-text-input - (reagent/adapt-react-class (.requireNativeComponent react-native "RNSelectableTextInput"))) + (reagent/adapt-react-class (.requireNativeComponent react-native "RNSelectableTextInput"))) (declare first-level-menu-items second-level-menu-items) diff --git a/src/status_im/ui2/screens/chat/composer/mentions.cljs b/src/status_im/ui2/screens/chat/composer/mentions.cljs index cc4e0ec201..97d9248e5a 100644 --- a/src/status_im/ui2/screens/chat/composer/mentions.cljs +++ b/src/status_im/ui2/screens/chat/composer/mentions.cljs @@ -15,29 +15,29 @@ ;;TODO quo2 item should be used [list-item/list-item (cond-> - {:icon [photos/member-photo public-key] - :size :small - :text-size :small - :title - [text/text - {:weight :medium - :ellipsize-mode :tail - :number-of-lines 1 - :size :small} - (if nickname - nickname - name) - (when nickname - [text/text - {:weight :regular - :color :secondary - :ellipsize-mode :tail - :size :small} - " " - (when ens-name? - "@") - name])] - :title-text-weight :medium} + {:icon [photos/member-photo public-key] + :size :small + :text-size :small + :title + [text/text + {:weight :medium + :ellipsize-mode :tail + :number-of-lines 1 + :size :small} + (if nickname + nickname + name) + (when nickname + [text/text + {:weight :regular + :color :secondary + :ellipsize-mode :tail + :size :small} + " " + (when ens-name? + "@") + name])] + :title-text-weight :medium} ens-name? (assoc :subtitle alias))]])) diff --git a/src/status_im/ui2/screens/chat/composer/view.cljs b/src/status_im/ui2/screens/chat/composer/view.cljs index f2e77ae56d..eb2130b0a8 100644 --- a/src/status_im/ui2/screens/chat/composer/view.cljs +++ b/src/status_im/ui2/screens/chat/composer/view.cljs @@ -56,7 +56,8 @@ mentions-height)] (when (or (< y max-y) should-translate?) mentions-translate-value))) -(defn get-y-value [context min-y max-y added-value max-height chat-id suggestions reply edit images set-bg-opacity] +(defn get-y-value + [context min-y max-y added-value max-height chat-id suggestions reply edit images set-bg-opacity] (let [y (calculate-y context min-y max-y added-value chat-id set-bg-opacity) y-with-mentions (calculate-y-with-mentions y max-y max-height chat-id suggestions reply)] (+ y (when (seq suggestions) y-with-mentions) (when (seq images) 80) (when edit 38)))) @@ -66,9 +67,11 @@ (clean-and-minimize-composer context chat-id refs min-y false)) ([context chat-id refs min-y edit?] (input/clear-input chat-id refs) - (swap! context assoc :y (if edit? - (- min-y 38) - min-y)) + (swap! context assoc + :y + (if edit? + (- min-y 38) + min-y)) (swap! context assoc :clear true :state :min))) (defn get-bottom-sheet-gesture @@ -105,7 +108,9 @@ (set-bg-opacity 0) (rf/dispatch [:dismiss-keyboard])))))))) -(defn get-input-content-change [context translate-y shared-height max-height set-bg-opacity keyboard-shown min-y max-y blank-composer? initial-value] +(defn get-input-content-change + [context translate-y shared-height max-height set-bg-opacity keyboard-shown min-y max-y blank-composer? + initial-value] (fn [evt] (when-not (or blank-composer? (some? initial-value)) (swap! context assoc :clear false)) @@ -119,7 +124,9 @@ (set-bg-opacity 0)) (when (not= (:state @context) :max) (let [offset-value (if platform/ios? 22 40) - new-y (+ min-y (- (max (oget evt "nativeEvent" "contentSize" "height") offset-value) offset-value))] + new-y (+ min-y + (- (max (oget evt "nativeEvent" "contentSize" "height") offset-value) + offset-value))] (if (< new-y max-y) (do (if (> (- max-y new-y) 120) @@ -156,7 +163,8 @@ :min-y min-y ;minimum y value :dy 0 ;used for gesture :pdy 0 ;used for gesture - :state :min ;:min, :custom-chat-available, :custom-chat-unavailable, :max + :state :min ;:min, :custom-chat-available, + ;:custom-chat-unavailable, :max :clear false :minimized-from-handlebar? false}) keyboard-was-shown? (atom false) @@ -308,16 +316,18 @@ :size 32} :i/reaction]] [rn/view {:flex 1}] ;;SEND button - [rn/view {:ref send-ref - :style (when (seq images) - {:width 0 - :right -100})} - [quo2.button/button {:icon true - :size 32 - :accessibility-label :send-message-button - :on-press #(do (clean-and-minimize-composer-fn false) - (scroll-to-bottom) - (rf/dispatch [:chat.ui/send-current-message]))} + [rn/view + {:ref send-ref + :style (when (seq images) + {:width 0 + :right -100})} + [quo2.button/button + {:icon true + :size 32 + :accessibility-label :send-message-button + :on-press #(do (clean-and-minimize-composer-fn false) + (scroll-to-bottom) + (rf/dispatch [:chat.ui/send-current-message]))} :i/arrow-up]]]) ;black background [reanimated/view diff --git a/src/status_im/ui2/screens/chat/messages/message.cljs b/src/status_im/ui2/screens/chat/messages/message.cljs index be8a6ff513..cf49957580 100644 --- a/src/status_im/ui2/screens/chat/messages/message.cljs +++ b/src/status_im/ui2/screens/chat/messages/message.cljs @@ -1,36 +1,37 @@ (ns status-im.ui2.screens.chat.messages.message - (:require [quo.design-system.colors :as quo.colors] - [quo.react-native :as rn] - [quo2.components.avatars.user-avatar :as user-avatar] - [quo2.components.icon :as icons] - [quo2.components.markdown.text :as text] - [quo2.foundations.colors :as colors] - [quo2.foundations.typography :as typography] - [re-frame.core :as re-frame] - [reagent.core :as reagent] - [status-im.constants :as constants] - [status-im.i18n.i18n :as i18n] - [status-im.react-native.resources :as resources] - [status-im.ui.components.fast-image :as fast-image] - [status-im.ui.components.react :as react] - [status-im.ui.screens.chat.image.preview.views :as preview] - [status-im.ui.screens.chat.message.audio :as message.audio] - [status-im.ui.screens.chat.message.command :as message.command] - [status-im.ui.screens.chat.message.gap :as message.gap] - [status-im.ui.screens.chat.message.link-preview :as link-preview] - [status-im.ui.screens.chat.sheets :as sheets] - [status-im.ui.screens.chat.styles.message.message :as style] - [status-im.ui.screens.chat.utils :as chat.utils] - [status-im.ui.screens.communities.icon :as communities.icon] - [status-im.ui2.screens.chat.components.reply :as components.reply] - [status-im.utils.config :as config] - [status-im.utils.datetime :as time] - [status-im.utils.utils :as utils] - [status-im2.contexts.chat.home.chat-list-item.view :as home.chat-list-item] - [status-im2.contexts.chat.messages.delete-message-for-me.events] - [status-im2.contexts.chat.messages.delete-message.events] - [utils.re-frame :as rf] - [quo2.core :as quo]) + (:require + [quo.design-system.colors :as quo.colors] + [quo.react-native :as rn] + [quo2.components.avatars.user-avatar :as user-avatar] + [quo2.components.icon :as icons] + [quo2.components.markdown.text :as text] + [quo2.foundations.colors :as colors] + [quo2.foundations.typography :as typography] + [re-frame.core :as re-frame] + [reagent.core :as reagent] + [status-im.constants :as constants] + [status-im.i18n.i18n :as i18n] + [status-im.react-native.resources :as resources] + [status-im.ui.components.fast-image :as fast-image] + [status-im.ui.components.react :as react] + [status-im.ui.screens.chat.image.preview.views :as preview] + [status-im.ui.screens.chat.message.audio :as message.audio] + [status-im.ui.screens.chat.message.command :as message.command] + [status-im.ui.screens.chat.message.gap :as message.gap] + [status-im.ui.screens.chat.message.link-preview :as link-preview] + [status-im.ui.screens.chat.sheets :as sheets] + [status-im.ui.screens.chat.styles.message.message :as style] + [status-im.ui.screens.chat.utils :as chat.utils] + [status-im.ui.screens.communities.icon :as communities.icon] + [status-im.ui2.screens.chat.components.reply :as components.reply] + [status-im.utils.config :as config] + [status-im.utils.datetime :as time] + [status-im.utils.utils :as utils] + [status-im2.contexts.chat.home.chat-list-item.view :as home.chat-list-item] + [status-im2.contexts.chat.messages.delete-message-for-me.events] + [status-im2.contexts.chat.messages.delete-message.events] + [utils.re-frame :as rf] + [quo2.core :as quo]) (:require-macros [status-im.utils.views :refer [defview letsubs]])) (def edited-at-text (str " ⌫ " (i18n/label :t/edited))) @@ -133,10 +134,10 @@ [rn/view {:flex-direction :row} [rn/text {:style (style/message-status-text)} (str "[" - (if edited-at - "edited" - (or outgoing-status "")) - " DEBUG]")]])) + (if edited-at + "edited" + (or outgoing-status "")) + " DEBUG]")]])) (defn quoted-message [{:keys [message-id chat-id]} reply pin?] diff --git a/src/status_im/visibility_status_updates/core.cljs b/src/status_im/visibility_status_updates/core.cljs index b2efa0800a..922eca97b7 100644 --- a/src/status_im/visibility_status_updates/core.cljs +++ b/src/status_im/visibility_status_updates/core.cljs @@ -123,10 +123,10 @@ [{:keys [db] :as cofx} status-type] (let [events-to-dispatch-later (cond-> - [{:ms 10 - :dispatch - [:visibility-status-updates/update-visibility-status - status-type]}] + [{:ms 10 + :dispatch + [:visibility-status-updates/update-visibility-status + status-type]}] (and (= status-type constants/visibility-status-inactive) (> (:peers-count db) 0)) diff --git a/src/status_im/waku/core.cljs b/src/status_im/waku/core.cljs index ad9dafc367..42c96c7dde 100644 --- a/src/status_im/waku/core.cljs +++ b/src/status_im/waku/core.cljs @@ -28,11 +28,11 @@ {:events [:wakuv2.ui/input-changed]} [{:keys [db] :as cofx} input-key value] {:db (assoc-in db - [:wakuv2-nodes/manage input-key] - {:value value - :error (case input-key - :name (string/blank? value) - :address (when value (not (valid-address? value))))})}) + [:wakuv2-nodes/manage input-key] + {:value value + :error (case input-key + :name (string/blank? value) + :address (when value (not (valid-address? value))))})}) (rf/defn enter-settings {:events [:wakuv2.ui/enter-settings-pressed] diff --git a/src/status_im/wallet/accounts/core.cljs b/src/status_im/wallet/accounts/core.cljs index 454f1be961..5f86957ce9 100644 --- a/src/status_im/wallet/accounts/core.cljs +++ b/src/status_im/wallet/accounts/core.cljs @@ -1,29 +1,30 @@ (ns status-im.wallet.accounts.core - (:require [clojure.string :as string] - [quo.design-system.colors :as colors] - [re-frame.core :as re-frame] - [status-im.constants :as constants] - [status-im.ens.core :as ens.core] - [status-im.ethereum.core :as ethereum] - [status-im.ethereum.eip55 :as eip55] - [status-im.ethereum.eip681 :as eip681] - [status-im.ethereum.mnemonic :as mnemonic] - [status-im.ethereum.stateofus :as stateofus] - [status-im.i18n.i18n :as i18n] - [status-im.multiaccounts.core :as multiaccounts] - [status-im.multiaccounts.key-storage.core :as key-storage] - [status-im.multiaccounts.update.core :as multiaccounts.update] - [status-im.native-module.core :as status] - [status-im.ui.components.list-selection :as list-selection] - [utils.re-frame :as rf] - [status-im.utils.hex :as hex] - [status-im.utils.mobile-sync :as utils.mobile-sync] - [status-im.utils.types :as types] - [status-im.wallet.core :as wallet] - [status-im.wallet.prices :as prices] - [status-im2.navigation.events :as navigation] - [taoensso.timbre :as log] - [utils.security.core :as security])) + (:require + [clojure.string :as string] + [quo.design-system.colors :as colors] + [re-frame.core :as re-frame] + [status-im.constants :as constants] + [status-im.ens.core :as ens.core] + [status-im.ethereum.core :as ethereum] + [status-im.ethereum.eip55 :as eip55] + [status-im.ethereum.eip681 :as eip681] + [status-im.ethereum.mnemonic :as mnemonic] + [status-im.ethereum.stateofus :as stateofus] + [status-im.i18n.i18n :as i18n] + [status-im.multiaccounts.core :as multiaccounts] + [status-im.multiaccounts.key-storage.core :as key-storage] + [status-im.multiaccounts.update.core :as multiaccounts.update] + [status-im.native-module.core :as status] + [status-im.ui.components.list-selection :as list-selection] + [utils.re-frame :as rf] + [status-im.utils.hex :as hex] + [status-im.utils.mobile-sync :as utils.mobile-sync] + [status-im.utils.types :as types] + [status-im.wallet.core :as wallet] + [status-im.wallet.prices :as prices] + [status-im2.navigation.events :as navigation] + [taoensso.timbre :as log] + [utils.security.core :as security])) (rf/defn start-adding-new-account {:events [:wallet.accounts/start-adding-new-account]} diff --git a/src/status_im/wallet/core.cljs b/src/status_im/wallet/core.cljs index c5b663df5b..d867a75e16 100644 --- a/src/status_im/wallet/core.cljs +++ b/src/status_im/wallet/core.cljs @@ -1,35 +1,36 @@ (ns status-im.wallet.core - (:require [clojure.set :as clojure.set] - [clojure.string :as string] - [re-frame.core :as re-frame] - [status-im.async-storage.core :as async-storage] - [status-im.bottom-sheet.core :as bottom-sheet] - [status-im.contact.db :as contact.db] - [status-im.ethereum.core :as ethereum] - [status-im.ethereum.eip55 :as eip55] - [status-im.ethereum.ens :as ens] - [status-im.ethereum.stateofus :as stateofus] - [status-im.ethereum.tokens :as tokens] - [status-im.i18n.i18n :as i18n] - [status-im.multiaccounts.update.core :as multiaccounts.update] - [status-im.popover.core :as popover.core] - [status-im.qr-scanner.core :as qr-scaner] - [status-im.signing.eip1559 :as eip1559] - [status-im.signing.gas :as signing.gas] - [status-im.utils.config :as config] - [status-im.utils.core :as utils.core] - [status-im.utils.datetime :as datetime] - [utils.re-frame :as rf] - [status-im.utils.mobile-sync :as mobile-network-utils] - [status-im.utils.money :as money] - [status-im.utils.utils :as utils.utils] - [status-im.wallet.db :as wallet.db] - [status-im.wallet.prices :as prices] - status-im.wallet.recipient.core - [status-im.wallet.utils :as wallet.utils] - [status-im2.common.json-rpc.events :as json-rpc] - [status-im2.navigation.events :as navigation] - [taoensso.timbre :as log])) + (:require + [clojure.set :as clojure.set] + [clojure.string :as string] + [re-frame.core :as re-frame] + [status-im.async-storage.core :as async-storage] + [status-im.bottom-sheet.core :as bottom-sheet] + [status-im.contact.db :as contact.db] + [status-im.ethereum.core :as ethereum] + [status-im.ethereum.eip55 :as eip55] + [status-im.ethereum.ens :as ens] + [status-im.ethereum.stateofus :as stateofus] + [status-im.ethereum.tokens :as tokens] + [status-im.i18n.i18n :as i18n] + [status-im.multiaccounts.update.core :as multiaccounts.update] + [status-im.popover.core :as popover.core] + [status-im.qr-scanner.core :as qr-scaner] + [status-im.signing.eip1559 :as eip1559] + [status-im.signing.gas :as signing.gas] + [status-im.utils.config :as config] + [status-im.utils.core :as utils.core] + [status-im.utils.datetime :as datetime] + [utils.re-frame :as rf] + [status-im.utils.mobile-sync :as mobile-network-utils] + [status-im.utils.money :as money] + [status-im.utils.utils :as utils.utils] + [status-im.wallet.db :as wallet.db] + [status-im.wallet.prices :as prices] + status-im.wallet.recipient.core + [status-im.wallet.utils :as wallet.utils] + [status-im2.common.json-rpc.events :as json-rpc] + [status-im2.navigation.events :as navigation] + [taoensso.timbre :as log])) (defn get-balance [{:keys [address on-success on-error]}] @@ -286,8 +287,8 @@ {:events [::update-balance-success]} [{:keys [db]} address balance] {:db (assoc-in db - [:wallet :accounts (eip55/address->checksum address) :balance :ETH] - (money/bignumber balance))}) + [:wallet :accounts (eip55/address->checksum address) :balance :ETH] + (money/bignumber balance))}) (rf/defn set-cached-balances {:events [::set-cached-balances]} @@ -328,18 +329,18 @@ [{:keys [db]} balances] (let [accounts (get-in db [:wallet :accounts])] {:db (assoc-in db - [:wallet :accounts] - (reduce (fn [acc [address balances]] - (assoc-in acc - [address :balance] - (reduce (fn [acc [token-symbol balance]] - (assoc acc - token-symbol - (money/bignumber balance))) - (get-in accounts [address :balance]) - balances))) - accounts - balances))})) + [:wallet :accounts] + (reduce (fn [acc [address balances]] + (assoc-in acc + [address :balance] + (reduce (fn [acc [token-symbol balance]] + (assoc acc + token-symbol + (money/bignumber balance))) + (get-in accounts [address :balance]) + balances))) + accounts + balances))})) (rf/defn set-zero-balances [cofx {:keys [address]}] @@ -873,8 +874,8 @@ {:events [:wallet.transactions/add-all-filters]} [{:keys [db]}] {:db (assoc-in db - [:wallet :filters] - wallet.db/default-wallet-filters)}) + [:wallet :filters] + wallet.db/default-wallet-filters)}) (rf/defn settings-navigate-back-pressed {:events [:wallet.settings.ui/navigate-back-pressed]} diff --git a/src/status_im/wallet/custom_tokens/core.cljs b/src/status_im/wallet/custom_tokens/core.cljs index eb6f7a7fd3..a50796831c 100644 --- a/src/status_im/wallet/custom_tokens/core.cljs +++ b/src/status_im/wallet/custom_tokens/core.cljs @@ -77,8 +77,8 @@ :color (rand-nth colors/chat-colors)}] (rf/merge cofx {:db (assoc-in db - [:wallet/all-tokens contract] - (assoc new-token :custom? true)) + [:wallet/all-tokens contract] + (assoc new-token :custom? true)) :json-rpc/call [{:method "wallet_addCustomToken" :params [new-token] :on-success #()}]} @@ -121,5 +121,5 @@ (when (field-exists? db field-key (keyword value)) (i18n/label :t/you-already-have-an-asset {:value value}))})} :decimals {:db (assoc-in db - [:wallet/custom-token-screen :decimals] - value)})) + [:wallet/custom-token-screen :decimals] + value)})) diff --git a/src/status_im2/common/not_implemented.cljs b/src/status_im2/common/not_implemented.cljs index bbbd47e508..ebb4bdc6fb 100644 --- a/src/status_im2/common/not_implemented.cljs +++ b/src/status_im2/common/not_implemented.cljs @@ -1,6 +1,7 @@ (ns status-im2.common.not-implemented (:require [react-native.core :as rn])) -(defn not-implemented [content] +(defn not-implemented + [content] [rn/view {:border-color :red :border-width 1} content]) diff --git a/src/status_im2/contexts/chat/messages/content/deleted/view.cljs b/src/status_im2/contexts/chat/messages/content/deleted/view.cljs index 48c2003a6a..b307c9987a 100644 --- a/src/status_im2/contexts/chat/messages/content/deleted/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/deleted/view.cljs @@ -2,7 +2,8 @@ (:require [quo2.core :as quo] [i18n.i18n :as i18n])) -(defn deleted-message [{:keys [deleted? deleted-undoable-till timestamp-str deleted-for-me-undoable-till]}] +(defn deleted-message + [{:keys [deleted? deleted-undoable-till timestamp-str deleted-for-me-undoable-till]}] [quo/system-message {:type :deleted :label (if deleted? :message-deleted :message-deleted-for-you) diff --git a/src/status_im2/contexts/chat/messages/content/pin/view.cljs b/src/status_im2/contexts/chat/messages/content/pin/view.cljs index b46d437b15..fe69637f35 100644 --- a/src/status_im2/contexts/chat/messages/content/pin/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/pin/view.cljs @@ -8,38 +8,46 @@ [status-im.ui2.screens.chat.messages.message :as old-message] [status-im.ui.screens.chat.styles.message.message :as old-style])) -(defn pinned-by-view [pinned-by] +(defn pinned-by-view + [pinned-by] (let [{:keys [public-key]} (rf/sub [:multiaccount/contact]) - contact-names (rf/sub [:contacts/contact-two-names-by-identity pinned-by]) - author-name (if (= pinned-by public-key) (i18n/label :t/You) (first contact-names))] - [rn/view {:style style/pin-indicator-container - :accessibility-label :pinned-by} + contact-names (rf/sub [:contacts/contact-two-names-by-identity pinned-by]) + author-name (if (= pinned-by public-key) (i18n/label :t/You) (first contact-names))] + [rn/view + {:style style/pin-indicator-container + :accessibility-label :pinned-by} [quo/icon :i/pin {:color colors/primary-50 :size 16}] - [quo/text {:size :label - :weight :medium - :style style/pin-author-text} + [quo/text + {:size :label + :weight :medium + :style style/pin-author-text} author-name]])) -(defn system-message [{:keys [from in-popover? timestamp-str chat-id] :as message}] - (let [response-to (:response-to (:content message)) +(defn system-message + [{:keys [from in-popover? timestamp-str chat-id] :as message}] + (let [response-to (:response-to (:content message)) default-size 36] - [rn/touchable-opacity {:on-press #(rf/dispatch [:bottom-sheet/show-sheet :pinned-messages-list chat-id]) - :active-opacity 1 - :style (merge {:flex-direction :row :margin-vertical 8} (old-style/message-wrapper message))} - [rn/view {:style {:width default-size - :height default-size - :margin-right 16 - :border-radius default-size - :justify-content :center - :align-items :center - :background-color colors/primary-50-opa-10} - :accessibility-label :content-type-pin-icon} + [rn/touchable-opacity + {:on-press #(rf/dispatch [:bottom-sheet/show-sheet :pinned-messages-list chat-id]) + :active-opacity 1 + :style (merge {:flex-direction :row :margin-vertical 8} + (old-style/message-wrapper message))} + [rn/view + {:style {:width default-size + :height default-size + :margin-right 16 + :border-radius default-size + :justify-content :center + :align-items :center + :background-color colors/primary-50-opa-10} + :accessibility-label :content-type-pin-icon} [quo/icon :i/pin {:color colors/primary-50 :size 16}]] [rn/view [rn/view {:style {:flex-direction :row :align-items :center}} - [rn/touchable-opacity {:style old-style/message-author-touchable - :disabled in-popover? - :on-press #(rf/dispatch [:chat.ui/show-profile from])} + [rn/touchable-opacity + {:style old-style/message-author-touchable + :disabled in-popover? + :on-press #(rf/dispatch [:chat.ui/show-profile from])} [old-message/message-author-name from {} 20]] [rn/text {:style {:font-size 13}} (str " " (i18n/label :t/pinned-a-message))] [rn/text @@ -49,4 +57,5 @@ (old-style/message-timestamp-text)) :accessibility-label :message-timestamp} timestamp-str]] - [old-message/quoted-message {:message-id response-to :chat-id chat-id} (:quoted-message message) true]]])) + [old-message/quoted-message {:message-id response-to :chat-id chat-id} (:quoted-message message) + true]]])) diff --git a/src/status_im2/contexts/chat/messages/content/reactions/view.cljs b/src/status_im2/contexts/chat/messages/content/reactions/view.cljs index c0d618269f..a5c7b52115 100644 --- a/src/status_im2/contexts/chat/messages/content/reactions/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/reactions/view.cljs @@ -5,24 +5,27 @@ [utils.re-frame :as rf] [status-im2.contexts.chat.messages.drawers.view :as drawers])) -(defn message-reactions-row [chat-id message-id] +(defn message-reactions-row + [chat-id message-id] (let [reactions (rf/sub [:chats/message-reactions message-id chat-id])] (when (seq reactions) [rn/view {:margin-left 52 :margin-bottom 12 :flex-direction :row} (for [{:keys [own emoji-id quantity emoji-reaction-id] :as emoji-reaction} reactions] ^{:key (str emoji-reaction)} [rn/view {:style {:margin-right 6}} - [quo/reaction {:emoji (get constants/reactions emoji-id) - :neutral? own - :clicks quantity - :on-press (if own - #(rf/dispatch [:models.reactions/send-emoji-reaction-retraction - {:message-id message-id - :emoji-id emoji-id - :emoji-reaction-id emoji-reaction-id}]) - #(rf/dispatch [:models.reactions/send-emoji-reaction - {:message-id message-id - :emoji-id emoji-id}])) - :accessibility-label (str "emoji-reaction-" emoji-id)}]]) - [quo/add-reaction {:on-press #(rf/dispatch [:bottom-sheet/show-sheet - {:content (fn [] [drawers/reactions chat-id message-id])}])}]]))) + [quo/reaction + {:emoji (get constants/reactions emoji-id) + :neutral? own + :clicks quantity + :on-press (if own + #(rf/dispatch [:models.reactions/send-emoji-reaction-retraction + {:message-id message-id + :emoji-id emoji-id + :emoji-reaction-id emoji-reaction-id}]) + #(rf/dispatch [:models.reactions/send-emoji-reaction + {:message-id message-id + :emoji-id emoji-id}])) + :accessibility-label (str "emoji-reaction-" emoji-id)}]]) + [quo/add-reaction + {:on-press #(rf/dispatch [:bottom-sheet/show-sheet + {:content (fn [] [drawers/reactions chat-id message-id])}])}]]))) diff --git a/src/status_im2/contexts/chat/messages/content/status/view.cljs b/src/status_im2/contexts/chat/messages/content/status/view.cljs index 0f06db0fc3..ba70189765 100644 --- a/src/status_im2/contexts/chat/messages/content/status/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/status/view.cljs @@ -1,5 +1,6 @@ (ns status-im2.contexts.chat.messages.content.status.view (:require [status-im.ui2.screens.chat.messages.message :as old-message])) -(defn status [message-data] +(defn status + [message-data] [old-message/message-status message-data]) diff --git a/src/status_im2/contexts/chat/messages/content/style.cljs b/src/status_im2/contexts/chat/messages/content/style.cljs index 942dbb5119..1db71378ee 100644 --- a/src/status_im2/contexts/chat/messages/content/style.cljs +++ b/src/status_im2/contexts/chat/messages/content/style.cljs @@ -1,7 +1,8 @@ (ns status-im2.contexts.chat.messages.content.style (:require [quo2.foundations.colors :as colors])) -(defn message-container [in-pinned-view? pinned mentioned last-in-group?] +(defn message-container + [in-pinned-view? pinned mentioned last-in-group?] (merge (when (and (not in-pinned-view?) (or mentioned pinned)) {:background-color colors/primary-50-opa-5 :margin-bottom 4}) diff --git a/src/status_im2/contexts/chat/messages/content/system/text/view.cljs b/src/status_im2/contexts/chat/messages/content/system/text/view.cljs index 1737232bbb..e0eca33bdc 100644 --- a/src/status_im2/contexts/chat/messages/content/system/text/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/system/text/view.cljs @@ -2,6 +2,7 @@ (:require [react-native.core :as rn] [status-im.ui2.screens.chat.messages.message :as old-message])) -(defn text-content [message-data] +(defn text-content + [message-data] [rn/view {:accessibility-label :chat-item} [old-message/render-parsed-text message-data]]) diff --git a/src/status_im2/contexts/chat/messages/content/text/view.cljs b/src/status_im2/contexts/chat/messages/content/text/view.cljs index 9737d4ef98..1fd60810f2 100644 --- a/src/status_im2/contexts/chat/messages/content/text/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/text/view.cljs @@ -1,5 +1,6 @@ (ns status-im2.contexts.chat.messages.content.text.view (:require [status-im.ui2.screens.chat.messages.message :as old-message])) -(defn text-content [message-data] +(defn text-content + [message-data] [old-message/render-parsed-text message-data]) diff --git a/src/status_im2/contexts/chat/messages/content/view.cljs b/src/status_im2/contexts/chat/messages/content/view.cljs index 67785cd1fc..645f6f62d5 100644 --- a/src/status_im2/contexts/chat/messages/content/view.cljs +++ b/src/status_im2/contexts/chat/messages/content/view.cljs @@ -51,11 +51,14 @@ [not-implemented/not-implemented [pin/system-message message-data]] (case content-type - constants/content-type-system-text [not-implemented/not-implemented [system.text/text-content message-data]] + constants/content-type-system-text [not-implemented/not-implemented + [system.text/text-content message-data]] - constants/content-type-community [not-implemented/not-implemented [old-message/community message-data]] + constants/content-type-community [not-implemented/not-implemented + [old-message/community message-data]] - constants/content-type-contact-request [not-implemented/not-implemented [old-message/system-contact-request message-data]]))) + constants/content-type-contact-request [not-implemented/not-implemented + [old-message/system-contact-request message-data]]))) (defn user-message-content [{:keys [content-type quoted-message content] :as message-data} @@ -76,15 +79,20 @@ [author message-data] (case content-type - constants/content-type-text [not-implemented/not-implemented [content.text/text-content message-data]] + constants/content-type-text [not-implemented/not-implemented + [content.text/text-content message-data]] - constants/content-type-emoji [not-implemented/not-implemented [old-message/emoji message-data]] + constants/content-type-emoji [not-implemented/not-implemented + [old-message/emoji message-data]] - constants/content-type-sticker [not-implemented/not-implemented [old-message/sticker message-data]] + constants/content-type-sticker [not-implemented/not-implemented + [old-message/sticker message-data]] - constants/content-type-image [not-implemented/not-implemented [old-message/message-content-image message-data]] + constants/content-type-image [not-implemented/not-implemented + [old-message/message-content-image message-data]] - constants/content-type-audio [not-implemented/not-implemented [old-message/audio message-data]] + constants/content-type-audio [not-implemented/not-implemented + [old-message/audio message-data]] [not-implemented/not-implemented [content.unknown/unknown-content message-data]]) [status/status message-data]]]]])) diff --git a/src/status_im2/contexts/chat/messages/list/view.cljs b/src/status_im2/contexts/chat/messages/list/view.cljs index dfa4aaebd9..b53a90d011 100644 --- a/src/status_im2/contexts/chat/messages/list/view.cljs +++ b/src/status_im2/contexts/chat/messages/list/view.cljs @@ -114,7 +114,8 @@ [rn/view {:style (when platform/android? {:scaleY -1})} [chat.group/group-chat-footer chat-id invitation-admin]])) -(defn render-fn [{:keys [type value deleted? deleted-for-me? content-type] :as message-data} _ _ context] +(defn render-fn + [{:keys [type value deleted? deleted-for-me? content-type] :as message-data} _ _ context] [rn/view {:style (when platform/android? {:scaleY -1})} (if (= type :datemark) [quo/divider-date value] @@ -126,9 +127,10 @@ [content.deleted/deleted-message message-data] [message/message-with-reactions message-data context])]))]) -(defn messages-list [{:keys [chat - pan-responder - show-input?]}] +(defn messages-list + [{:keys [chat + pan-responder + show-input?]}] (let [{:keys [group-chat chat-type chat-id public? community-id admins]} chat mutual-contact-requests-enabled? (rf/sub [:mutual-contact-requests/enabled?]) messages (rf/sub [:chats/raw-chat-messages-stream chat-id]) diff --git a/src/status_im2/contexts/chat/messages/pin/events.cljs b/src/status_im2/contexts/chat/messages/pin/events.cljs index 22546aea10..0865d3284c 100644 --- a/src/status_im2/contexts/chat/messages/pin/events.cljs +++ b/src/status_im2/contexts/chat/messages/pin/events.cljs @@ -67,12 +67,12 @@ {:db (cond-> db pinned (-> - (update-in [:pin-message-lists chat-id] message-list/add message) - (assoc-in [:pin-messages chat-id message-id] message)) + (update-in [:pin-message-lists chat-id] message-list/add message) + (assoc-in [:pin-messages chat-id message-id] message)) (not pinned) (-> - (update-in [:pin-message-lists chat-id] message-list/remove-message pin-message) - (update-in [:pin-messages chat-id] dissoc message-id)))} + (update-in [:pin-message-lists chat-id] message-list/remove-message pin-message) + (update-in [:pin-messages chat-id] dissoc message-id)))} (data-store.pin-messages/send-pin-message {:chat-id (pin-message :chat-id) :message_id (pin-message :message-id) :pinned (pin-message :pinned)}) diff --git a/src/status_im2/contexts/chat/messages/pin/list/view.cljs b/src/status_im2/contexts/chat/messages/pin/list/view.cljs index c290e0b9e3..87161330d2 100644 --- a/src/status_im2/contexts/chat/messages/pin/list/view.cljs +++ b/src/status_im2/contexts/chat/messages/pin/list/view.cljs @@ -27,10 +27,11 @@ :timestamp-str (time/timestamp->time whisper-timestamp) :edit-enabled edit-enabled}]) -(defn pinned-messages-list [chat-id] +(defn pinned-messages-list + [chat-id] (let [pinned-messages (vec (vals (rf/sub [:chats/pinned chat-id]))) - current-chat (rf/sub [:chats/current-chat]) - community (rf/sub [:communities/community (:community-id current-chat)])] + current-chat (rf/sub [:chats/current-chat]) + community (rf/sub [:communities/community (:community-id current-chat)])] [rn/view {:accessibility-label :pinned-messages-list} ;; TODO (flexsurfer) this should be a component in quo2 ;; https://github.com/status-im/status-mobile/issues/14529 diff --git a/src/status_im2/contexts/chat/messages/view.cljs b/src/status_im2/contexts/chat/messages/view.cljs index 57222eb0ee..ec6ed4b53f 100644 --- a/src/status_im2/contexts/chat/messages/view.cljs +++ b/src/status_im2/contexts/chat/messages/view.cljs @@ -53,11 +53,12 @@ :right-section-buttons [{:on-press #() - :style {:border-width 1 :border-color :red} + :style {:border-width 1 :border-color :red} :icon :i/options :accessibility-label :options-button}]}])) -(defn chat-render [] +(defn chat-render + [] (let [;;NOTE: we want to react only on these fields, do not use full chat map here {:keys [chat-id show-input?] :as chat} (rf/sub [:chats/current-chat-chat-view])] [rn/keyboard-avoiding-view {:style {:flex 1}} diff --git a/src/status_im2/contexts/communities/discover/view.cljs b/src/status_im2/contexts/communities/discover/view.cljs index 0a083ed0ee..be890b20ac 100644 --- a/src/status_im2/contexts/communities/discover/view.cljs +++ b/src/status_im2/contexts/communities/discover/view.cljs @@ -34,12 +34,13 @@ (get mock-community-item-data :data) {:featured featured?})] (if (= view-type :card-view) - [quo/community-card-view-item (assoc item :width width) #(rf/dispatch [:navigate-to :community-overview (:id item)])] + [quo/community-card-view-item (assoc item :width width) + #(rf/dispatch [:navigate-to :community-overview (:id item)])] [quo/communities-list-view-item {:on-press (fn [] (rf/dispatch [:communities/load-category-states (:id item)]) (rf/dispatch [:dismiss-keyboard]) - (rf/dispatch [:navigate-to :community (:id item)])) + (rf/dispatch [:navigate-to :community (:id item)])) :on-long-press #(rf/dispatch [:bottom-sheet/show-sheet {:content (fn [] ;; TODO implement with quo2 @@ -93,8 +94,8 @@ :width "100%" :margin-bottom 24} :on-layout #(swap! view-size - (fn [] - (oops/oget % "nativeEvent.layout.width")))} + (fn [] + (oops/oget % "nativeEvent.layout.width")))} (when-not (= @view-size 0) [rn/flat-list {:key-fn :id @@ -125,8 +126,8 @@ [] (let [view-type (reagent/atom :card-view)] (fn [] - (let [communities (rf/sub [:communities/sorted-communities]) - featured-communities (rf/sub [:communities/featured-communities]) + (let [communities (rf/sub [:communities/sorted-communities]) + featured-communities (rf/sub [:communities/featured-communities]) featured-communities-count (count featured-communities)] [safe-area/consumer (fn [] diff --git a/src/status_im2/contexts/communities/overview/style.cljs b/src/status_im2/contexts/communities/overview/style.cljs index 9b1eb18228..6863eef87e 100644 --- a/src/status_im2/contexts/communities/overview/style.cljs +++ b/src/status_im2/contexts/communities/overview/style.cljs @@ -20,15 +20,16 @@ :margin-left :auto :margin-right :auto}) -(defn scroll-view-container [border-radius] - {:position :absolute - :top -48 - :overflow :scroll +(defn scroll-view-container + [border-radius] + {:position :absolute + :top -48 + :overflow :scroll :border-radius border-radius - :height "100%"}) + :height "100%"}) (def review-notice - {:color colors/neutral-50 - :margin-top 12 - :margin-left :auto + {:color colors/neutral-50 + :margin-top 12 + :margin-left :auto :margin-right :auto}) diff --git a/src/status_im2/contexts/quo_preview/drawers/action_drawers.cljs b/src/status_im2/contexts/quo_preview/drawers/action_drawers.cljs index b507eb7d61..7a39e6198c 100644 --- a/src/status_im2/contexts/quo_preview/drawers/action_drawers.cljs +++ b/src/status_im2/contexts/quo_preview/drawers/action_drawers.cljs @@ -29,24 +29,24 @@ :background-color (colors/theme-colors colors/white colors/neutral-95)} [quo2/action-drawer (cond-> - [[{:icon :i/friend - :label "View channel members and details" - :on-press #(js/alert "View channel members and details")} - {:icon :i/communities - :label "Mark as read" - :on-press #(js/alert "Mark as read")} - {:icon :i/muted - :label (if (:muted? @state) "Unmute channel" "Mute channel") - :on-press #(js/alert (if (:muted? @state) "Unmute channel" "Mute channel")) - :right-icon :i/chevron-right - :sub-label (when (:muted? @state) "Muted for 15 min")} - {:icon :i/scan - :on-press #(js/alert "Fetch messages") - :right-icon :i/chevron-right - :label "Fetch messages"} - {:icon :i/add-user - :on-press #(js/alert "Share link to the channel") - :label "Share link to the channel"}]] + [[{:icon :i/friend + :label "View channel members and details" + :on-press #(js/alert "View channel members and details")} + {:icon :i/communities + :label "Mark as read" + :on-press #(js/alert "Mark as read")} + {:icon :i/muted + :label (if (:muted? @state) "Unmute channel" "Mute channel") + :on-press #(js/alert (if (:muted? @state) "Unmute channel" "Mute channel")) + :right-icon :i/chevron-right + :sub-label (when (:muted? @state) "Muted for 15 min")} + {:icon :i/scan + :on-press #(js/alert "Fetch messages") + :right-icon :i/chevron-right + :label "Fetch messages"} + {:icon :i/add-user + :on-press #(js/alert "Share link to the channel") + :label "Share link to the channel"}]] (:show-red-options? @state) (conj options-with-consequences))]]) diff --git a/src/status_im2/contexts/quo_preview/tags/context_tags.cljs b/src/status_im2/contexts/quo_preview/tags/context_tags.cljs index ede5ccd480..231fb3eabf 100644 --- a/src/status_im2/contexts/quo_preview/tags/context_tags.cljs +++ b/src/status_im2/contexts/quo_preview/tags/context_tags.cljs @@ -42,9 +42,9 @@ (defn cool-preview [] - (let [state (reagent/atom {:label "Name" + (let [state (reagent/atom {:label "Name" :channel-name "Channel" - :type :group-avatar})] + :type :group-avatar})] (fn [] (let [contacts {example-pk {:public-key example-pk :names {:three-words-name @@ -93,7 +93,8 @@ :justify-content :center} (case (:type @state) :context-tag - [quo2/context-tag group-avatar-default-params {:uri example-photo2} (:label @state) (:channel-name @state)] + [quo2/context-tag group-avatar-default-params {:uri example-photo2} (:label @state) + (:channel-name @state)] :group-avatar [quo2/group-avatar-tag (:label @state) group-avatar-default-params] :public-key diff --git a/src/status_im2/setup/core.cljs b/src/status_im2/setup/core.cljs index 7bb2542c0c..f7190c02e1 100644 --- a/src/status_im2/setup/core.cljs +++ b/src/status_im2/setup/core.cljs @@ -1,28 +1,29 @@ (ns status-im2.setup.core - (:require [i18n.i18n :as i18n] - [re-frame.core :as re-frame] - [re-frame.interop :as interop] - [react-native.core :as rn] - [react-native.languages :as react-native-languages] - [react-native.platform :as platform] - [react-native.shake :as react-native-shake] - [reagent.impl.batching :as batching] - [status-im.async-storage.core :as async-storage] - status-im.events - [status-im.native-module.core :as status] - [status-im.notifications.local :as notifications] - [status-im.utils.universal-links.core :as utils.universal-links] - [status-im2.contexts.shell.animation :as animation] ;; TODO (14/11/22 flexsurfer move to - ;; status-im2 namespace - status-im2.contexts.syncing.events - status-im2.navigation.core - [status-im2.setup.config :as config] - [status-im2.setup.dev :as dev] - status-im2.setup.events - [status-im2.setup.global-error :as global-error] - [status-im2.setup.i18n-resources :as i18n-resources] - [status-im2.setup.log :as log] - status-im2.subs.root)) + (:require + [i18n.i18n :as i18n] + [re-frame.core :as re-frame] + [re-frame.interop :as interop] + [react-native.core :as rn] + [react-native.languages :as react-native-languages] + [react-native.platform :as platform] + [react-native.shake :as react-native-shake] + [reagent.impl.batching :as batching] + [status-im.async-storage.core :as async-storage] + status-im.events + [status-im.native-module.core :as status] + [status-im.notifications.local :as notifications] + [status-im.utils.universal-links.core :as utils.universal-links] + [status-im2.contexts.shell.animation :as animation] ;; TODO (14/11/22 flexsurfer move to + ;; status-im2 namespace + status-im2.contexts.syncing.events + status-im2.navigation.core + [status-im2.setup.config :as config] + [status-im2.setup.dev :as dev] + status-im2.setup.events + [status-im2.setup.global-error :as global-error] + [status-im2.setup.i18n-resources :as i18n-resources] + [status-im2.setup.log :as log] + status-im2.subs.root)) ;;;; re-frame RN setup (set! interop/next-tick js/setTimeout) diff --git a/src/status_im2/subs/communities_test.cljs b/src/status_im2/subs/communities_test.cljs index dac0293bbe..cb6f24d4fb 100644 --- a/src/status_im2/subs/communities_test.cljs +++ b/src/status_im2/subs/communities_test.cljs @@ -120,17 +120,17 @@ [sub-name] (testing "Empty communities list" (swap! rf-db/app-db assoc - :communities/enabled? true - :communities {}) + :communities/enabled? true + :communities {}) (is (= [] (rf/sub [sub-name])))) (testing "communities sorted by name" (swap! rf-db/app-db assoc - :communities/enabled? true - :communities - {"0x1" {:id "0x1" :name "Civilized monkeys"} - "0x2" {:id "0x2" :name "Civilized rats"} - "0x3" {:id "0x3" :name "Civilized dolphins"}}) + :communities/enabled? true + :communities + {"0x1" {:id "0x1" :name "Civilized monkeys"} + "0x2" {:id "0x2" :name "Civilized rats"} + "0x3" {:id "0x3" :name "Civilized dolphins"}}) (is (= [{:id "0x3" :name "Civilized dolphins"} {:id "0x1" :name "Civilized monkeys"} {:id "0x2" :name "Civilized rats"}] diff --git a/src/status_im2/subs/root.cljs b/src/status_im2/subs/root.cljs index 391f82051e..cefd767f2d 100644 --- a/src/status_im2/subs/root.cljs +++ b/src/status_im2/subs/root.cljs @@ -1,28 +1,29 @@ (ns status-im2.subs.root - (:require [re-frame.core :as re-frame] - status-im2.subs.activity-center - status-im2.subs.bootnodes - status-im2.subs.browser - status-im2.subs.chat.chats - status-im2.subs.chat.messages - status-im2.subs.communities - status-im2.subs.contact - status-im2.subs.ens - status-im2.subs.general - status-im2.subs.home - status-im2.subs.keycard - status-im2.subs.mailservers - status-im2.subs.multiaccount - status-im2.subs.networks - status-im2.subs.onboarding - status-im2.subs.pairing - status-im2.subs.search - status-im2.subs.shell - status-im2.subs.stickers - status-im2.subs.toasts - status-im2.subs.wallet.signing - status-im2.subs.wallet.transactions - status-im2.subs.wallet.wallet)) + (:require + [re-frame.core :as re-frame] + status-im2.subs.activity-center + status-im2.subs.bootnodes + status-im2.subs.browser + status-im2.subs.chat.chats + status-im2.subs.chat.messages + status-im2.subs.communities + status-im2.subs.contact + status-im2.subs.ens + status-im2.subs.general + status-im2.subs.home + status-im2.subs.keycard + status-im2.subs.mailservers + status-im2.subs.multiaccount + status-im2.subs.networks + status-im2.subs.onboarding + status-im2.subs.pairing + status-im2.subs.search + status-im2.subs.shell + status-im2.subs.stickers + status-im2.subs.toasts + status-im2.subs.wallet.signing + status-im2.subs.wallet.transactions + status-im2.subs.wallet.wallet)) (defn reg-root-key-sub [sub-name db-key]