migrate datetime to utils and finish i18n migration (#14604)
chore move datetime to common and update imports chore: move i18n tests and update imports, adjust i18n so translations are loading correctly
This commit is contained in:
parent
ef21312162
commit
1677574a6a
|
@ -1,14 +1,78 @@
|
|||
(ns i18n.i18n
|
||||
(:require ["i18n-js" :as i18n]
|
||||
[clojure.string :as string]
|
||||
[status-im.goog.i18n :as goog.i18n]))
|
||||
[status-im.goog.i18n :as goog.i18n]
|
||||
[react-native.languages :as react-native-languages]))
|
||||
|
||||
(def default-device-language (react-native-languages/get-lang-keyword))
|
||||
|
||||
(def languages
|
||||
#{:ar :bn :de :el :en :es :es_419 :es_AR :fil :fr :hi :id :in :it :ja :ko :ms :nl :pl :pt :pt_BR :ru
|
||||
:tr :vi :zh :zh_Hant :zh_TW})
|
||||
|
||||
(defn valid-language
|
||||
[lang]
|
||||
(if (contains? languages lang)
|
||||
(keyword lang)
|
||||
(let [parts (string/split (name lang) #"[\-\_]")
|
||||
short-lang (keyword (str (first parts) "_" (second parts)))
|
||||
shortest-lang (keyword (first parts))]
|
||||
(if (and (> (count parts) 2) (contains? languages short-lang))
|
||||
short-lang
|
||||
(when (contains? languages shortest-lang)
|
||||
shortest-lang)))))
|
||||
|
||||
(defn require-translation
|
||||
[lang-key]
|
||||
(when-let [lang (valid-language (keyword lang-key))]
|
||||
(case lang
|
||||
:ar (js/require "../translations/ar.json")
|
||||
:bn (js/require "../translations/bn.json")
|
||||
:de (js/require "../translations/de.json")
|
||||
:el (js/require "../translations/el.json")
|
||||
:en (js/require "../translations/en.json")
|
||||
:es (js/require "../translations/es.json")
|
||||
:es_419 (js/require "../translations/es_419.json")
|
||||
:es_AR (js/require "../translations/es_AR.json")
|
||||
:fil (js/require "../translations/fil.json")
|
||||
:fr (js/require "../translations/fr.json")
|
||||
:hi (js/require "../translations/hi.json")
|
||||
:id (js/require "../translations/id.json")
|
||||
:in (js/require "../translations/id.json")
|
||||
:it (js/require "../translations/it.json")
|
||||
:ja (js/require "../translations/ja.json")
|
||||
:ko (js/require "../translations/ko.json")
|
||||
:ms (js/require "../translations/ms.json")
|
||||
:nl (js/require "../translations/nl.json")
|
||||
:pl (js/require "../translations/pl.json")
|
||||
:pt (js/require "../translations/pt.json")
|
||||
:pt_BR (js/require "../translations/pt_BR.json")
|
||||
:ru (js/require "../translations/ru.json")
|
||||
:tr (js/require "../translations/tr.json")
|
||||
:vi (js/require "../translations/vi.json")
|
||||
:zh (js/require "../translations/zh.json")
|
||||
:zh_Hant (js/require "../translations/zh_hant.json")
|
||||
:zh_TW (js/require "../translations/zh_TW.json"))))
|
||||
|
||||
(def translations-by-locale
|
||||
(cond-> {:en (require-translation :en)}
|
||||
(not= :en default-device-language)
|
||||
(assoc default-device-language
|
||||
(require-translation (-> (name default-device-language)
|
||||
(string/replace "-" "_")
|
||||
keyword)))))
|
||||
|
||||
(set! (.-fallbacks i18n) true)
|
||||
(set! (.-defaultSeparator i18n) "/")
|
||||
(set! (.-locale i18n) (name default-device-language))
|
||||
(set! (.-translations i18n) (clj->js translations-by-locale))
|
||||
|
||||
(defn init
|
||||
[default-device-language translations-by-locale]
|
||||
[]
|
||||
(set! (.-fallbacks i18n) true)
|
||||
(set! (.-defaultSeparator i18n) "/")
|
||||
(set! (.-locale i18n) default-device-language)
|
||||
(set! (.-translations i18n) translations-by-locale))
|
||||
(set! (.-locale i18n) (name default-device-language))
|
||||
(set! (.-translations i18n) (clj->js translations-by-locale)))
|
||||
|
||||
(defn get-translations
|
||||
[]
|
||||
|
@ -70,3 +134,12 @@
|
|||
(.-locale i18n))
|
||||
|
||||
(def format-currency goog.i18n/format-currency)
|
||||
|
||||
(defn load-language
|
||||
[lang loaded-languages]
|
||||
(when-let [lang-key (valid-language (keyword lang))]
|
||||
(when-not (contains? @loaded-languages lang-key)
|
||||
(aset (i18n/get-translations)
|
||||
lang
|
||||
(require-translation lang-key))
|
||||
(swap! loaded-languages conj lang-key))))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
[quo2.components.markdown.text :as text]
|
||||
[quo2.components.tags.token-tag :as token-tag]
|
||||
[quo2.foundations.colors :as colors]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.fast-image :as fast-image]))
|
||||
|
||||
(def ^:private token-tag-horizontal-spacing 7)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
[quo2.foundations.colors :as colors]
|
||||
[react-native.core :as rn]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]))
|
||||
[i18n.i18n :as i18n]))
|
||||
|
||||
(def ^:private max-reply-length
|
||||
280)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.ens :as ens]
|
||||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.router.core :as router]
|
||||
[status-im.utils.db :as utils.db]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.bootnodes.core
|
||||
(:require [clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im2.navigation.events :as navigation]))
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
[status-im.constants :as constants]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.ens :as ens]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.browser.permissions
|
||||
(:require [status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.qr-scanner.core :as qr-scanner]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im2.navigation.events :as navigation]))
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
[status-im.constants :as constants]
|
||||
[status-im.data-store.chats :as chats-store]
|
||||
[status-im.data-store.contacts :as contacts-store]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.mailserver.core :as mailserver]
|
||||
[status-im.multiaccounts.model :as multiaccounts.model]
|
||||
[status-im.ui.screens.chat.state :as chat.state]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.chat.models :as chat]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.permissions :as permissions]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.utils.config :as config]
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
[status-im.chat.models.message :as chat.message]
|
||||
[status-im.chat.models.message-content :as message-content]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.utils.datetime :as datetime]
|
||||
[utils.re-frame :as rf]
|
||||
[i18n.i18n :as i18n]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im.utils.utils :as utils]
|
||||
[taoensso.timbre :as log]))
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [cljs.test :refer-macros [deftest is testing]]
|
||||
[status-im.chat.constants :as constants]
|
||||
[status-im.chat.models.input :as input]
|
||||
[status-im.utils.datetime :as datetime]))
|
||||
[utils.datetime :as datetime]))
|
||||
|
||||
(deftest text->emoji
|
||||
(is (nil? (input/text->emoji nil)))
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
(ns status-im.chat.models.message-list
|
||||
(:require ["functional-red-black-tree" :as rb-tree]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.utils.datetime :as time]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.re-frame :as rf]
|
||||
[utils.datetime :as datetime]))
|
||||
|
||||
(defn- add-datemark
|
||||
[{:keys [whisper-timestamp] :as msg}]
|
||||
;;TODO this is slow
|
||||
(assoc msg :datemark (time/day-relative whisper-timestamp)))
|
||||
(assoc msg :datemark (datetime/day-relative whisper-timestamp)))
|
||||
|
||||
(defn- add-timestamp
|
||||
[{:keys [whisper-timestamp] :as msg}]
|
||||
(assoc msg :timestamp-str (time/timestamp->time whisper-timestamp)))
|
||||
(assoc msg :timestamp-str (datetime/timestamp->time whisper-timestamp)))
|
||||
|
||||
(defn prepare-message
|
||||
[{:keys [message-id
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
[status-im.ethereum.ens :as ens]
|
||||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.utils.datetime :as datetime]
|
||||
[utils.re-frame :as rf]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im.utils.random :as random]
|
||||
[status-im2.navigation.events :as navigation]))
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
status-im.ethereum.subscriptions
|
||||
status-im.fleet.core
|
||||
status-im.http.core
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.core :as keycard]
|
||||
status-im.log-level.core
|
||||
status-im.mailserver.constants
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.fleet.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.node.core :as node]
|
||||
[status-im.utils.config :as config]
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.chat.models :as models.chat]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[utils.re-frame :as rf]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im2.contexts.activity-center.events :as activity-center]
|
||||
[status-im2.navigation.events :as navigation]))
|
||||
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
(ns status-im.i18n.i18n
|
||||
(:require ["i18n-js" :as i18n]
|
||||
[clojure.string :as string]
|
||||
[status-im.goog.i18n :as goog.i18n]
|
||||
[status-im.i18n.i18n-resources :as i18n-resources]))
|
||||
;;TODO (14/11/22 flexsurfer) this namespace has been moved to the root level, we keep this only for old
|
||||
;;(status 1.0) code,
|
||||
;; can be removed with old code later
|
||||
|
||||
(set! (.-locale i18n) (name i18n-resources/default-device-language))
|
||||
(set! (.-fallbacks i18n) true)
|
||||
(set! (.-defaultSeparator i18n) "/")
|
||||
|
||||
(set! (.-translations i18n)
|
||||
(clj->js i18n-resources/translations-by-locale))
|
||||
|
||||
(defn set-language
|
||||
[lang]
|
||||
(i18n-resources/load-language lang)
|
||||
(set! (.-locale i18n) lang))
|
||||
|
||||
;;:zh, :zh-hans-xx, :zh-hant-xx have been added until this bug will be fixed
|
||||
;;https://github.com/fnando/i18n-js/issues/460
|
||||
|
||||
(def delimeters
|
||||
"This function is a hack: mobile Safari doesn't support toLocaleString(), so we need to pass
|
||||
this map to WKWebView to make number formatting work."
|
||||
(let [n (.toLocaleString ^js (js/Number 1000.1))
|
||||
delimiter? (= (count n) 7)]
|
||||
(if delimiter?
|
||||
{:delimiter (subs n 1 2)
|
||||
:separator (subs n 5 6)}
|
||||
{:delimiter ""
|
||||
:separator (subs n 4 5)})))
|
||||
|
||||
(defn label-number
|
||||
[number]
|
||||
(when number
|
||||
(let [{:keys [delimiter separator]} delimeters]
|
||||
(.toNumber i18n
|
||||
(string/replace number #"," ".")
|
||||
(clj->js {:precision 10
|
||||
:strip_insignificant_zeros true
|
||||
:delimiter delimiter
|
||||
:separator separator})))))
|
||||
|
||||
(def default-option-value "<no value>")
|
||||
|
||||
(defn label-options
|
||||
[options]
|
||||
;; i18n ignores nil value, leading to misleading messages
|
||||
(into {} (for [[k v] options] [k (or v default-option-value)])))
|
||||
|
||||
(defn label-fn
|
||||
([path] (label-fn path {}))
|
||||
([path options]
|
||||
(if (exists? (.t i18n))
|
||||
(let [options (update options :amount label-number)]
|
||||
(.t i18n (name path) (clj->js (label-options options))))
|
||||
(name path))))
|
||||
|
||||
(def label (memoize label-fn))
|
||||
|
||||
(defn label-pluralize
|
||||
[count path & options]
|
||||
(if (exists? (.t i18n))
|
||||
(.p i18n count (name path) (clj->js options))
|
||||
(name path)))
|
||||
|
||||
(def locale
|
||||
(.-locale i18n))
|
||||
|
||||
(def format-currency goog.i18n/format-currency)
|
|
@ -1,84 +0,0 @@
|
|||
(ns status-im.i18n.i18n-resources
|
||||
(:require ["i18n-js" :as i18n-js]
|
||||
["react-native-languages" :default react-native-languages]
|
||||
[clojure.string :as string]))
|
||||
;;TODO (14/11/22 flexsurfer) this namespace has been moved to the status-im2 namespace, we keep this
|
||||
;;only
|
||||
;;for old (status 1.0) code,
|
||||
;; can be removed with old code later
|
||||
|
||||
(def get-keyword
|
||||
(if js/global.__TEST__ str keyword))
|
||||
|
||||
(def default-device-language
|
||||
(get-keyword (.-language react-native-languages)))
|
||||
|
||||
(def languages
|
||||
#{:ar :bn :de :el :en :es :es_419 :es_AR :fil :fr :hi :id :in :it :ja :ko :ms :nl :pl :pt :pt_BR :ru
|
||||
:tr :vi :zh :zh_Hant :zh_TW})
|
||||
|
||||
(defonce loaded-languages
|
||||
(atom
|
||||
(conj #{:en} default-device-language)))
|
||||
|
||||
(defn valid-language
|
||||
[lang]
|
||||
(if (contains? languages lang)
|
||||
(get-keyword lang)
|
||||
(let [parts (string/split (name lang) #"[\-\_]")
|
||||
short-lang (get-keyword (str (first parts) "_" (second parts)))
|
||||
shortest-lang (get-keyword (first parts))]
|
||||
(if (and (> (count parts) 2) (contains? languages short-lang))
|
||||
short-lang
|
||||
(when (contains? languages shortest-lang)
|
||||
shortest-lang)))))
|
||||
|
||||
(defn require-translation
|
||||
[lang-key]
|
||||
(when-let [lang (valid-language (get-keyword lang-key))]
|
||||
(case lang
|
||||
:ar (js/require "../translations/ar.json")
|
||||
:bn (js/require "../translations/bn.json")
|
||||
:de (js/require "../translations/de.json")
|
||||
:el (js/require "../translations/el.json")
|
||||
:en (js/require "../translations/en.json")
|
||||
:es (js/require "../translations/es.json")
|
||||
:es_419 (js/require "../translations/es_419.json")
|
||||
:es_AR (js/require "../translations/es_AR.json")
|
||||
:fil (js/require "../translations/fil.json")
|
||||
:fr (js/require "../translations/fr.json")
|
||||
:hi (js/require "../translations/hi.json")
|
||||
:id (js/require "../translations/id.json")
|
||||
:in (js/require "../translations/id.json")
|
||||
:it (js/require "../translations/it.json")
|
||||
:ja (js/require "../translations/ja.json")
|
||||
:ko (js/require "../translations/ko.json")
|
||||
:ms (js/require "../translations/ms.json")
|
||||
:nl (js/require "../translations/nl.json")
|
||||
:pl (js/require "../translations/pl.json")
|
||||
:pt (js/require "../translations/pt.json")
|
||||
:pt_BR (js/require "../translations/pt_BR.json")
|
||||
:ru (js/require "../translations/ru.json")
|
||||
:tr (js/require "../translations/tr.json")
|
||||
:vi (js/require "../translations/vi.json")
|
||||
:zh (js/require "../translations/zh.json")
|
||||
:zh_Hant (js/require "../translations/zh_hant.json")
|
||||
:zh_TW (js/require "../translations/zh_TW.json"))))
|
||||
|
||||
;; translations
|
||||
(def translations-by-locale
|
||||
(cond-> {:en (require-translation :en)}
|
||||
(not= :en default-device-language)
|
||||
(assoc default-device-language
|
||||
(require-translation (-> (name default-device-language)
|
||||
(string/replace "-" "_")
|
||||
get-keyword)))))
|
||||
|
||||
(defn load-language
|
||||
[lang]
|
||||
(when-let [lang-key (valid-language (get-keyword lang))]
|
||||
(when-not (contains? @loaded-languages lang-key)
|
||||
(aset (.-translations i18n-js)
|
||||
lang
|
||||
(require-translation lang-key))
|
||||
(swap! loaded-languages conj lang-key))))
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.keycard.backup-key
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.ethereum.mnemonic :as mnemonic]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.common :as common]
|
||||
[status-im.multiaccounts.recover.core :as multiaccounts.recover]
|
||||
[status-im.signing.core :as signing.core]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
(ns status-im.keycard.change-pin
|
||||
(:require [status-im.i18n.i18n :as i18n]
|
||||
(:require [i18n.i18n :as i18n]
|
||||
[status-im.keycard.common :as common]
|
||||
[status-im.keycard.onboarding :as onboarding]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.bottom-sheet.core :as bottom-sheet]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.nfc :as nfc]
|
||||
[status-im.popover.core :as popover]
|
||||
[status-im.ui.screens.keycard.keycard-interaction :as keycard-sheet]
|
||||
[status-im.utils.datetime :as utils.datetime]
|
||||
[utils.re-frame :as rf]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im.utils.keychain.core :as keychain]
|
||||
[status-im.utils.platform :as platform]
|
||||
[status-im.utils.types :as types]
|
||||
|
@ -429,7 +429,7 @@
|
|||
|
||||
(rf/defn update-pairings
|
||||
[{:keys [db]} instance-uid pairing]
|
||||
(let [paired-on (utils.datetime/timestamp)
|
||||
(let [paired-on (datetime/timestamp)
|
||||
pairings (-> (get-in db [:keycard :pairings])
|
||||
(assoc instance-uid {:pairing pairing :paired-on paired-on}))]
|
||||
{:keycard/persist-pairings pairings
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.keycard.core
|
||||
(:require [re-frame.db]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
status-im.keycard.backup-key
|
||||
[status-im.keycard.card :as card]
|
||||
[status-im.keycard.change-pin :as change-pin]
|
||||
|
@ -16,8 +16,8 @@
|
|||
[status-im.keycard.wallet :as wallet]
|
||||
[status-im.multiaccounts.recover.core :as multiaccounts.recover]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.utils.datetime :as utils.datetime]
|
||||
[utils.re-frame :as rf]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im2.navigation.events :as navigation]
|
||||
[taoensso.timbre :as log]))
|
||||
|
||||
|
@ -485,7 +485,7 @@
|
|||
flow (get-in db [:keycard :flow])
|
||||
instance-uid (get-in db [:keycard :application-info :instance-uid])
|
||||
multiaccount (common/find-multiaccount-by-keycard-instance-uid db instance-uid)
|
||||
paired-on (utils.datetime/timestamp)
|
||||
paired-on (datetime/timestamp)
|
||||
pairings (-> (get-in db [:keycard :pairings])
|
||||
(dissoc (keyword instance-uid))
|
||||
(assoc instance-uid {:pairing pairing :paired-on paired-on}))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.common :as common]
|
||||
status-im.keycard.fx
|
||||
[status-im.keycard.mnemonic :as mnemonic]
|
||||
|
|
|
@ -5,15 +5,15 @@
|
|||
[status-im.constants :as constants]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.eip55 :as eip55]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.common :as common]
|
||||
status-im.keycard.fx
|
||||
[status-im.multiaccounts.create.core :as multiaccounts.create]
|
||||
[status-im.multiaccounts.model :as multiaccounts.model]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.popover.core :as popover]
|
||||
[status-im.utils.datetime :as utils.datetime]
|
||||
[utils.re-frame :as rf]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im.utils.keychain.core :as keychain]
|
||||
[status-im.utils.platform :as platform]
|
||||
[status-im.utils.types :as types]
|
||||
|
@ -40,7 +40,7 @@
|
|||
:keycard.onboarding.pair.ui/next-pressed]}
|
||||
[{:keys [db] :as cofx}]
|
||||
(let [pairing (get-in db [:keycard :secrets :pairing])
|
||||
paired-on (get-in db [:keycard :secrets :paired-on] (utils.datetime/timestamp))]
|
||||
paired-on (get-in db [:keycard :secrets :paired-on] (datetime/timestamp))]
|
||||
(rf/merge cofx
|
||||
(if pairing
|
||||
{:db (-> db
|
||||
|
@ -369,7 +369,7 @@
|
|||
(assoc-in [:keycard :pin :status] :verifying)
|
||||
(assoc-in [:keycard :secrets]
|
||||
{:pairing pairing'
|
||||
:paired-on (utils.datetime/timestamp)}))
|
||||
:paired-on (datetime/timestamp)}))
|
||||
:keycard/import-keys
|
||||
{:pin pin
|
||||
:on-success :keycard.callback/on-generate-and-load-key-success}})))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[re-frame.db :as re-frame.db]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.keycard :as keycard]
|
||||
[status-im.multiaccounts.create.core :as multiaccounts.create]
|
||||
[status-im.native-module.core :as status]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.keycard.unpair
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.common :as common]
|
||||
[status-im.multiaccounts.key-storage.core :as key-storage]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.log-level.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.node.core :as node]
|
||||
[utils.re-frame :as rf]))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns ^{:doc "Mailserver events and API"} status-im.mailserver.core
|
||||
(:require [clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.node.core :as node]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require ["react-native-touch-id" :default touchid]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.popover.core :as popover]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[status-im.data-store.settings :as data-store.settings]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.eip55 :as eip55]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.node.core :as node]
|
||||
[status-im.utils.config :as config]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[status-im.bottom-sheet.core :as bottom-sheet]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.mnemonic :as mnemonic]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.backup-key :as keycard.backup]
|
||||
[status-im.keycard.common :as common]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
[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]
|
||||
[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]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.multiaccounts.logout.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.notifications.core :as notifications]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[status-im.constants :as constants]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.mnemonic :as mnemonic]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.nfc :as nfc]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
[status-im.multiaccounts.create.core :as multiaccounts.create]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [clojure.string :as string]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.node.core :as node]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im.utils.http :as http]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
[status-im.chat.models :as chat.models]
|
||||
[status-im.ethereum.decode :as decode]
|
||||
[status-im.ethereum.tokens :as tokens]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.notifications.android :as pn-android]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im.utils.money :as money]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.pairing.core
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.update.core :as multiaccounts.update]
|
||||
[status-im.utils.config :as config]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[status-im.chat.models :as chat]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.group-chats.core :as group-chats]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.router.core :as router]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im.utils.utils :as utils]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [status-im.chat.models.link-preview :as link.preview]
|
||||
[status-im.chat.models.message :as models.message]
|
||||
[status-im.ethereum.subscriptions :as ethereum.subscriptions]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.mailserver.core :as mailserver]
|
||||
[status-im.multiaccounts.login.core :as login]
|
||||
[status-im.notifications.local :as local-notifications]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.ethereum.eip55 :as eip55]
|
||||
[status-im.ethereum.tokens :as tokens]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.keycard.card :as keycard.card]
|
||||
[status-im.keycard.common :as keycard.common]
|
||||
[status-im.native-module.core :as status]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.bottom-sheet.core :as bottom-sheet]
|
||||
[status-im.ethereum.core :as ethereum]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.popover.core :as popover]
|
||||
[status-im.signing.eip1559 :as eip1559]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.signing.keycard
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.native-module.core :as status]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im.utils.types :as types]
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
[clojure.string :as string]
|
||||
[shadow.test :as st]
|
||||
[shadow.test.env :as env]
|
||||
[utils.re-frame :as rf]))
|
||||
[utils.re-frame :as rf]
|
||||
[i18n.i18n :as i18n]))
|
||||
|
||||
(i18n/init)
|
||||
|
||||
(defonce repl? (atom false))
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.ui.components.action-sheet
|
||||
(:require ["react-native" :refer (ActionSheetIOS)]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.utils.core :as utils]))
|
||||
|
||||
(defn- callback
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.ui.components.badge
|
||||
(:require [quo.design-system.colors :as colors]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
||||
(defn badge
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.ui.components.common.common
|
||||
(:require [reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.common.styles :as styles]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react])
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.animation :as animation]
|
||||
[status-im.ui.components.react :as react])
|
||||
(:require-macros [status-im.utils.views :as views :refer [defview letsubs]]))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.components.copyable-text
|
||||
(:require [quo.design-system.colors :as colors]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.animation :as animation]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.ui.components.invite.events
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.react :as react]
|
||||
[utils.re-frame :as rf]
|
||||
[status-im.utils.universal-links.utils :as universal-links]))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.components.invite.views
|
||||
(:require [quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.invite.events :as invite.events]))
|
||||
|
||||
(defn button
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns status-im.ui.components.list-selection
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.action-sheet :as action-sheet]
|
||||
[status-im.ui.components.dialog :as dialog]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
(SafeAreaProvider SafeAreaInsetsContext)]
|
||||
[quo.design-system.colors :as colors]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.typography :as typography]
|
||||
[status-im.utils.platform :as platform]
|
||||
[status-im.utils.utils :as utils])
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[quo2.foundations.colors :as quo2.colors]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]))
|
||||
[i18n.i18n :as i18n]))
|
||||
|
||||
(defn search-input
|
||||
[{:keys [search-active?]}]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :refer [principles-link privacy-policy-link terms-of-service-link]]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.copyable-text :as copyable-text]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.ethereum.ens :as ens]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.add-new.db :as db]
|
||||
[status-im.chat.models :as chat.models]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[status-im.i18n.i18n-resources :as i18n-resources]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.react-native.resources :as resources]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react])
|
||||
|
@ -74,8 +73,8 @@
|
|||
|
||||
(defn get-language-topic
|
||||
[]
|
||||
(let [lang (subs (name i18n-resources/default-device-language) 0 2)
|
||||
lang3 (subs (name i18n-resources/default-device-language) 0 3)
|
||||
(let [lang (subs (name i18n/default-device-language) 0 2)
|
||||
lang3 (subs (name i18n/default-device-language) 0 3)
|
||||
lang-name (or (get lang-names lang3) (get lang-names lang))]
|
||||
(when-not (= lang "en")
|
||||
(or lang-name (str "status-" lang)))))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.advanced-settings.views
|
||||
(:require [quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
[status-im2.setup.config :as config])
|
||||
(:require-macros [status-im.utils.views :as views]))
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.react-native.resources :as resources]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.utils.config :as config]))
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.utils.datetime :as datetime]))
|
||||
[utils.datetime :as datetime]))
|
||||
|
||||
(defn perform-backup!
|
||||
[]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.biometric.core :as biometric]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [clojure.string :as string]
|
||||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.qr-scanner.core :as qr-scanner]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.bootnodes-settings.views
|
||||
(:require-macros [status-im.utils.views :as views])
|
||||
(:require [re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.components.topbar :as topbar]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.browser.accounts
|
||||
(:require [quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.keyboard-avoid-presentation :as kb-presentation]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[status-im.ui.components.copyable-text :as copyable-text]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.network.core :as network]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.react-native.resources :as resources]
|
||||
[status-im.ui.components.common.common :as components.common]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.browser.core :as browser]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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.icons.icons :as icons]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.browser.permissions :as browser.permissions]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.animation :as anim]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.screens.browser.site-blocked.styles :as styles])
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
[reagent.core :as reagent]
|
||||
[status-im.browser.core :as browser]
|
||||
[status-im.browser.webview-ref :as webview-ref]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[quo.react-native :as react-native]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.topbar :as topbar]))
|
||||
|
||||
(defn bug-report
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.audio.core :as audio]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.native-module.core :as status]
|
||||
[status-im.ui.components.animation :as anim]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
[quo.react-native :as rn]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.screens.chat.components.style :as styles])
|
||||
(:require-macros [status-im.utils.views :refer [defview letsubs]]))
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[quo.react :as quo.react]
|
||||
[quo.react-native :as rn]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.screens.chat.components.style :as styles]))
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
[reagent.core :as reagent]
|
||||
[status-im.chat.constants :as chat.constants]
|
||||
[status-im.chat.models.mentions :as mentions]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
[quo.react-native :as rn]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.screens.chat.components.style :as styles]))
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.chat.extensions.views
|
||||
(:require [quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.list-selection :as list-selection]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.screens.chat.styles.main :as style]
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.permissions :as permissions]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[status-im.commands.core :as commands]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.ethereum.transactions.core :as transactions]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
(:require-macros [status-im.utils.views :as views])
|
||||
(:require [quo2.core :as quo2]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.screens.chat.styles.input.gap :as style]
|
||||
[status-im.utils.datetime :as datetime]))
|
||||
[utils.datetime :as datetime]))
|
||||
|
||||
(defn on-press
|
||||
[chat-id gap-ids]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[re-frame.core :as re-frame]
|
||||
[status-im.chat.models.link-preview :as link-preview]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.react-native.resources :as resources]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.screens.chat.message.styles :as styles]
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
[reagent.core :as reagent]
|
||||
[status-im.chat.models.images :as images]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.screens.chat.message.message :as message]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.react :as quo.react]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.connectivity.view :as connectivity]
|
||||
[status-im.ui.components.list.views :as list]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
@ -12,7 +12,7 @@
|
|||
[status-im.ui.screens.chat.message.message :as message]
|
||||
[status-im.ui.screens.chat.styles.main :as style]
|
||||
[status-im.ui.screens.chat.views :as chat]
|
||||
[status-im.utils.datetime :as time]
|
||||
[utils.datetime :as datetime]
|
||||
[status-im.utils.platform :as platform]))
|
||||
|
||||
(defn pins-topbar
|
||||
|
@ -81,7 +81,7 @@
|
|||
:edit-enabled edit-enabled
|
||||
:display-username? (not outgoing)
|
||||
:pinned true
|
||||
:timestamp-str (time/timestamp->time whisper-timestamp))
|
||||
:timestamp-str (datetime/timestamp->time whisper-timestamp))
|
||||
space-keeper]])
|
||||
|
||||
(defn pinned-messages-view
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon]
|
||||
[status-im.ui.components.list-selection :as list-selection]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[re-frame.core :as re-frame]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.fast-image :as fast-image]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [quo.react-native :as rn]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.chat-icon.screen :as chat-icon.screen]
|
||||
[status-im.ui.screens.chat.styles.main :as st]))
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.chat.utils
|
||||
(:require [quo.design-system.colors :as colors]
|
||||
[status-im.ethereum.stateofus :as stateofus]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.multiaccounts.core :as multiaccounts]
|
||||
[status-im.ui.components.react :as react]))
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
re-frame.db
|
||||
[reagent.core :as reagent]
|
||||
[status-im.constants :as constants]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.core :as quo]
|
||||
[re-frame.core :as re-frame]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.profile-header.view :as profile-header]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
[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.datetime :as datetime]
|
||||
[utils.re-frame :as rf]))
|
||||
|
||||
(def request-cooldown-ms (* 24 60 60 1000))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
[quo.design-system.colors :as colors]
|
||||
[quo.react-native :as rn]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.icons.icons :as icons]
|
||||
[status-im.ui.components.react :as react]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.core :as quo]
|
||||
[reagent.core :as reagent]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[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]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
[quo.core :as quo]
|
||||
[quo.react-native :as rn]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.emoji-thumbnail.preview :as emoji-thumbnail-preview]
|
||||
[status-im.ui.components.emoji-thumbnail.styles :as styles]
|
||||
[status-im.ui.components.keyboard-avoid-presentation :as kb-presentation]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns status-im.ui.screens.communities.edit
|
||||
(:require [quo.core :as quo]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
[status-im.ui.screens.communities.create :as community.create]
|
||||
[utils.re-frame :as rf]))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
(:require [clojure.string :as string]
|
||||
[quo.core :as quo]
|
||||
[status-im.communities.core :as communities]
|
||||
[status-im.i18n.i18n :as i18n]
|
||||
[i18n.i18n :as i18n]
|
||||
[status-im.ui.components.toolbar :as toolbar]
|
||||
[status-im.ui.screens.communities.create-channel :as create-channel]
|
||||
[utils.re-frame :as rf]
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue