diff --git a/android/app/build.gradle b/android/app/build.gradle index e942a4deba..eeecc16d04 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -296,6 +296,10 @@ dependencies { implementation jscFlavor } + // react-native-screens + implementation 'androidx.appcompat:appcompat:1.1.0-rc01' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02' + implementation 'androidx.multidex:multidex:2.0.1' // only needed if minSdkVersion is less than 21 (https://developer.android.com/studio/build/multidex) implementation project(':react-native-dialogs') // Force using exact RN version instead of relying on gradle dependency resolution diff --git a/clj-rn.conf.edn b/clj-rn.conf.edn index af0853dadd..9e82b7f798 100644 --- a/clj-rn.conf.edn +++ b/clj-rn.conf.edn @@ -34,8 +34,10 @@ "react-native/Libraries/vendor/emitter/EventEmitter" "react-native-background-timer" "react-native-fetch-polyfill" - "react-navigation" - "react-native-navigation-twopane" + "@react-navigation/native" + "@react-navigation/stack" + "@react-navigation/bottom-tabs" + ;; "react-native-navigation-twopane" "hi-base32" "functional-red-black-tree" "react-native-mail" @@ -74,9 +76,8 @@ "react-native-desktop-notification" "react-native-desktop-gesture-handler" "web3-utils" - "react-navigation" "functional-red-black-tree" - "react-native-navigation-twopane" + ;; "react-native-navigation-twopane" "hi-base32"] ;; Resoures diff --git a/components/src/status_im/ui/components/react.cljs b/components/src/status_im/ui/components/react.cljs index 541c8f6b4f..5af59c0a9c 100644 --- a/components/src/status_im/ui/components/react.cljs +++ b/components/src/status_im/ui/components/react.cljs @@ -246,10 +246,9 @@ ;; KeyboardAvoidingView (defn keyboard-avoiding-view [props & children] - (let [view-element (if platform/ios? - [keyboard-avoiding-view-class (merge {:behavior :padding} props)] - [view props])] - (vec (concat view-element children)))) + (into [keyboard-avoiding-view-class + (merge (when platform/ios? {:behavior :padding}) props)] + children)) (defn scroll-view [props & children] (vec (conj children props scroll-view-class))) @@ -271,51 +270,7 @@ [activity-indicator {:animating true}]]) comp))) -(defn navigation-wrapper - "Wraps component so that it will be shown only when current-screen is one of views" - [{:keys [component views current-view hide?] - :or {hide? false}}] - (let [current-view? (if (set? views) - (views current-view) - (= views current-view)) - - style (if current-view? - {:flex 1 - :zIndex 0} - {:opacity 0 - :flex 0 - :zIndex -1}) - - component' (if (fn? component) [component] component)] - - (when (or (not hide?) (and hide? current-view?)) - (if hide? - component' - [view style (if (fn? component) [component] component)])))) - -(defn with-empty-preview [comp] - [with-activity-indicator - {:preview [view {}]} - comp]) - (def safe-area-provider (adapt-class (object/get js-dependencies/safe-area-context "SafeAreaProvider"))) (def safe-area-consumer (adapt-class (object/get js-dependencies/safe-area-context "SafeAreaConsumer"))) -(defn create-main-screen-view [current-view] - (fn [props & children] - (apply - vector - (adapt-class (object/get js-dependencies/safe-area-context "SafeAreaView")) - (cond-> props - (= current-view :qr-scanner) - (assoc :background-color :black)) - children))) - -(defn main-screen-modal-view [current-view & components] - [(create-main-screen-view current-view) - styles/flex - [keyboard-avoiding-view - (merge {:flex 1 :flex-direction :column} - (when platform/android? - {:background-color :white})) - (apply vector view styles/flex components)]]) +(def safe-area-view (adapt-class (object/get js-dependencies/safe-area-context "SafeAreaView"))) diff --git a/deps.edn b/deps.edn index ea5cd57491..248d87766b 100644 --- a/deps.edn +++ b/deps.edn @@ -8,12 +8,12 @@ :sha "b0d3b0f016f217c6a397a54e5eba9486471fb172" :deps/manifest :deps} com.andrewmcveigh/cljs-time {:mvn/version "0.5.2"} + binaryage/oops {:mvn/version "0.7.0"} status-im/timbre {:mvn/version "4.10.0-2-status"} com.taoensso/encore {:mvn/version "2.94.0"} hickory {:mvn/version "0.7.1"} cljs-bean {:mvn/version "1.3.0"} - mvxcvi/alphabase {:mvn/version "1.0.0"} - rasom/cljs-react-navigation {:mvn/version "0.1.4"}} + mvxcvi/alphabase {:mvn/version "1.0.0"}} :aliases {:dev {:extra-deps diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 30164992d4..b6226b4c06 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -244,9 +244,11 @@ PODS: - React-cxxreact (= 0.61.5) - React-jsi (= 0.61.5) - ReactCommon/jscallinvoker (= 0.61.5) + - RNCMaskedView (0.1.6): + - React - RNFS (2.14.1): - React - - RNGestureHandler (1.5.2): + - RNGestureHandler (1.5.3): - React - RNImageCropPicker (0.25.3): - QBImagePickerController @@ -257,7 +259,9 @@ PODS: - React - RNLanguages (3.0.2): - React - - RNScreens (1.0.0-alpha.23): + - RNReanimated (1.7.0): + - React + - RNScreens (2.0.0-alpha.25): - React - RNSVG (9.11.1): - React @@ -310,11 +314,13 @@ DEPENDENCIES: - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`) - RNKeychain (from `../node_modules/react-native-keychain`) - RNLanguages (from `../node_modules/react-native-languages`) + - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - RNSVG (from `../node_modules/react-native-svg`) - SQLCipher (~> 3.0) @@ -399,6 +405,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/Libraries/Vibration" ReactCommon: :path: "../node_modules/react-native/ReactCommon" + RNCMaskedView: + :path: "../node_modules/@react-native-community/masked-view" RNFS: :path: "../node_modules/react-native-fs" RNGestureHandler: @@ -409,6 +417,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-keychain" RNLanguages: :path: "../node_modules/react-native-languages" + RNReanimated: + :path: "../node_modules/react-native-reanimated" RNScreens: :path: "../node_modules/react-native-screens" RNSVG: @@ -455,12 +465,14 @@ SPEC CHECKSUMS: React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd + RNCMaskedView: a88953beefbd347a29072d9eba90e42945fe291e RNFS: a8fbe7060fa49157d819466404794ad9c58e58cf - RNGestureHandler: 946a7691e41df61e2c4b1884deab41a4cdc3afff + RNGestureHandler: 02905abe54e1f6e59c081a10b4bd689721e17aa6 RNImageCropPicker: bfb3ea9c8622f290532e2fe63f369e0d5a52f597 RNKeychain: 216f37338fcb9e5c3a2530f1e3295f737a690cb1 RNLanguages: 962e562af0d34ab1958d89bcfdb64fafc37c513e - RNScreens: f28b48b8345f2f5f39ed6195518291515032a788 + RNReanimated: 031fe8d9ea93c2bd689a40f05320ef9d96f74d7f + RNScreens: 031d10e2b648afc9546f16b6a786d2efc6870310 RNSVG: be27aa7c58819f97399388ae53d7fa0572f32c7f RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990 diff --git a/mobile/js_files/package.json b/mobile/js_files/package.json index c0ba6aa56b..247652bb19 100644 --- a/mobile/js_files/package.json +++ b/mobile/js_files/package.json @@ -6,7 +6,11 @@ "start": "react-native start" }, "dependencies": { + "@react-native-community/masked-view": "^0.1.6", "@react-native-community/netinfo": "^4.4.0", + "@react-navigation/bottom-tabs": "^5.1.1", + "@react-navigation/native": "^5.0.9", + "@react-navigation/stack": "^5.1.1", "bignumber.js": "git+https://github.com/status-im/bignumber.js.git#v4.0.2-status", "buffer": "^5.4.2", "chance": "^1.1.0", @@ -27,15 +31,16 @@ "react-native-dialogs": "^1.0.4", "react-native-fetch-polyfill": "^1.1.2", "react-native-fs": "^2.14.1", - "react-native-gesture-handler": "^1.3.0", + "react-native-gesture-handler": "^1.5.3", "react-native-image-crop-picker": "^0.25.0", "react-native-image-resizer": "git+https://github.com/status-im/react-native-image-resizer.git#1.0.0-1-status", "react-native-keychain": "git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-status", "react-native-languages": "^3.0.2", "react-native-mail": "git+https://github.com/status-im/react-native-mail.git#v4.0.0-status", "react-native-navigation-twopane": "git+https://github.com/status-im/react-native-navigation-twopane.git#v0.0.2-status", - "react-native-safe-area-context": "^0.6.0", - "react-native-screens": "^1.0.0-alpha.23", + "react-native-reanimated": "^1.7.0", + "react-native-safe-area-context": "^0.7.3", + "react-native-screens": "^2.0.0-alpha.25", "react-native-shake": "^3.3.1", "react-native-splash-screen": "^3.2.0", "react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#v2.5.20", @@ -43,7 +48,6 @@ "react-native-touch-id": "^4.4.1", "react-native-webview": "^6.11.1", "react-native-webview-bridge": "git+https://github.com/status-im/react-native-webview-bridge.git#fix/community-webview", - "react-navigation": "^3.11.0", "web3-utils": "^1.2.1" }, "devDependencies": { diff --git a/mobile/js_files/yarn.lock b/mobile/js_files/yarn.lock index 64de98eb9e..5aa6db1e9d 100644 --- a/mobile/js_files/yarn.lock +++ b/mobile/js_files/yarn.lock @@ -1004,29 +1004,57 @@ wcwidth "^1.0.1" ws "^1.1.0" +"@react-native-community/masked-view@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@react-native-community/masked-view/-/masked-view-0.1.6.tgz#c7f2ac187c1f25aa8c30d11baa8f4398eca3bb84" + integrity sha512-PpMoeXwPUoldCRKDuSi+zK5rT+sJTW6ri6RdGPkSKRzU77Q1d9IaR0O5IKvBj0XSdL3p+dcOa05gk35aGDffBQ== + "@react-native-community/netinfo@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@react-native-community/netinfo/-/netinfo-4.4.0.tgz#a18eb9ba082b6aca6add004b4a918250ad7d13bc" integrity sha512-qqNWMOsrDjj/daqV21ID2T8mNUjZD4pdx3PuWyE65gzKh2w+oMnzKb+J0NbLyZPn3wwLwU1+Cpf58A0ff5szjQ== -"@react-navigation/core@~3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.5.1.tgz#7a2339fca3496979305fb3a8ab88c2ca8d8c214d" - integrity sha512-q7NyhWVYOhVIWqL2GZKa6G78YarXaVTTtOlSDkvy4ZIggo40wZzamlnrJRvsaQX46gsgw45FAWb5SriHh8o7eA== +"@react-navigation/bottom-tabs@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@react-navigation/bottom-tabs/-/bottom-tabs-5.1.1.tgz#04636a6b0c2105228f81d6b05aab285a1fcc7ff9" + integrity sha512-3eKoLgBsRKXFQoWv9co6bXr2DjlRDtgaS1XZ/2LpOs27lDthShGdVkWzTVaFZ6aGf6pOhUaeKtd8wX+jkUXk0A== dependencies: - hoist-non-react-statics "^3.3.0" - path-to-regexp "^1.7.0" - query-string "^6.4.2" - react-is "^16.8.6" + color "^3.1.2" + react-native-iphone-x-helper "^1.2.1" -"@react-navigation/native@~3.6.2": - version "3.6.2" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.6.2.tgz#3634697b6350cc5189657ae4551f2d52b57fbbf0" - integrity sha512-Cybeou6N82ZeRmgnGlu+wzlV3z5BZQR2dmYaNFV1TNLUGHqtvv8E7oNw9uYcz9Ox5LFbiX+FdNTn2d6ZPlK0kg== +"@react-navigation/core@^5.2.1": + version "5.2.1" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-5.2.1.tgz#8fae1b40b3fbaeb70c6182e00899a2e4d281a12f" + integrity sha512-fRezZDtVFMfPtCkFUXFZlhrtECXuuFE9t2LnSyZdm3hZXBf7Gp6KvcMrlzAVXC/n8YCDSqhtDYz7EbF2gX6DJg== dependencies: - hoist-non-react-statics "^3.0.1" - react-native-safe-area-view "^0.14.1" - react-native-screens "^1.0.0 || ^1.0.0-alpha" + "@react-navigation/routers" "^5.1.0" + escape-string-regexp "^2.0.0" + query-string "^6.10.1" + react-is "^16.12.0" + shortid "^2.2.15" + use-subscription "^1.3.0" + +"@react-navigation/native@^5.0.9": + version "5.0.9" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-5.0.9.tgz#bbd22928f0fbe808a96dd525ebeb9a1aa0b82900" + integrity sha512-iiCBWKv5zQ/PdvGhUEqMyDU30KK8PL2yXIG0j0CCTXriwRebJ1GPhBtfJdDFkSzzFt9Mhxgmok/+GJV8HqvJqA== + dependencies: + "@react-navigation/core" "^5.2.1" + +"@react-navigation/routers@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@react-navigation/routers/-/routers-5.1.0.tgz#ec741e734d501b7024120bef3d109b17f69a7b6b" + integrity sha512-sY+eCIcWheflQIfGMSnWomnjP8d+7ZPmH1dKZ1pRezTqLWVlCFntQfQSr2FfM5LLVWty4gZ/K9D+o6UT4ntc3w== + dependencies: + shortid "^2.2.15" + +"@react-navigation/stack@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@react-navigation/stack/-/stack-5.1.1.tgz#4fff1dc3fec66d7b71cfc31691d6e83d8777d5f8" + integrity sha512-tQV4SNESAeqViItGFT8bLrCGWxYfSjw4uXGrCokzSBOMtrdUwINwXDqo40LZt/KZOT0kVN6MdzHq57ILB1LsGA== + dependencies: + color "^3.1.2" + react-native-iphone-x-helper "^1.2.1" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.1" @@ -1724,7 +1752,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -1736,11 +1764,32 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colorette@^1.0.7: version "1.1.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.1.0.tgz#1f943e5a357fac10b4e0f5aaef3b14cdc1af6ec7" @@ -2203,6 +2252,11 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + eslint-plugin-jsx-a11y@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz#5c96bb5186ca14e94db1095ff59b3e2bd94069b1" @@ -2817,18 +2871,11 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^2.3.1, hoist-non-react-statics@^2.5.0: +hoist-non-react-statics@^2.3.1: version "2.5.5" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== -hoist-non-react-statics@^3.0.1, hoist-non-react-statics@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" - integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== - dependencies: - react-is "^16.7.0" - home-or-tmp@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" @@ -2982,6 +3029,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -3128,11 +3180,6 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -4060,6 +4107,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -4552,13 +4604,6 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - path-type@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" @@ -4681,7 +4726,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -4742,10 +4787,10 @@ query-string@^5.0.1: object-assign "^4.1.0" strict-uri-encode "^1.0.0" -query-string@^6.4.2: - version "6.8.3" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.3.tgz#fd9fb7ffb068b79062b43383685611ee47777d4b" - integrity sha512-llcxWccnyaWlODe7A9hRjkvdCKamEKTh+wH8ITdTc3OhchaqUZteiSCX/2ablWHVrkVIe04dntnaZJ7BdyW0lQ== +query-string@^6.10.1: + version "6.11.0" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.11.0.tgz#dc27a05733d1be66f16d0f83dfa957270f45f66d" + integrity sha512-jS+me8X3OEGFTsF6kF+vUUMFG/d3WUCvD7bHhfZP5784nOq1pjj8yau/u86nfOncmcN6ZkSWKWkKAvv/MGxzLA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -4789,16 +4834,16 @@ react-dom@^16.4.2: prop-types "^15.6.2" scheduler "^0.16.2" -react-is@^16.7.0, react-is@^16.8.4, react-is@^16.8.6: - version "16.10.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" - integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== - -react-is@^16.8.1: +react-is@^16.12.0, react-is@^16.8.1: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-is@^16.8.4: + version "16.10.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz#984120fd4d16800e9a738208ab1fba422d23b5ab" + integrity sha512-INBT1QEgtcCCgvccr5/86CfD71fw9EPmDxgiJX4I2Ddr6ZsV6iFXsuby+qWJPtmNuMY0zByTsG4468P7nHuNWA== + react-native-background-timer@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.1.1.tgz#9a2489681ab2f8033c213c73272e9d4c47572cd5" @@ -4833,10 +4878,10 @@ react-native-fs@^2.14.1: base-64 "^0.1.0" utf8 "^2.1.1" -react-native-gesture-handler@^1.3.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.5.2.tgz#281111550bf1eee10b7feba5278d142169892731" - integrity sha512-Xp03dq4XYVTD0xmWx4DW4eX+ox1NQLjHmbykspTdS5FCNIVIOekVXRLFCw1698/v8dYUHApNo6K3s3BCD8fqPA== +react-native-gesture-handler@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-1.5.3.tgz#191b44701fab7ba54c27a2438cb5eaa252666e66" + integrity sha512-y2/jw0uHAQtEPR02PHAah6tdMymrVtZFoHqjlEWdhK807w2sgU5CySYINK/nOTczd+zB4GMX+9euA3VfbGJ5aA== dependencies: hammerjs "^2.0.8" hoist-non-react-statics "^2.3.1" @@ -4852,6 +4897,11 @@ react-native-image-crop-picker@^0.25.0: version "1.0.0" resolved "git+https://github.com/status-im/react-native-image-resizer.git#dcbe2e1c461b0dbc265435bfb873f0257c1a1c4a" +react-native-iphone-x-helper@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772" + integrity sha512-/VbpIEp8tSNNHIvstuA3Swx610whci1Zpc9mqNkqn14DkMbw+ORviln2u0XyHG1kPvvwTNGZY6QpeFwxYaSdbQ== + "react-native-keychain@git+https://github.com/status-im/react-native-keychain.git#v.3.0.0-status": version "3.0.0-rc.3" resolved "git+https://github.com/status-im/react-native-keychain.git#43e5512cabb8ee064fd9e503be943dcf2c7d7669" @@ -4869,22 +4919,20 @@ react-native-languages@^3.0.2: version "0.0.2" resolved "git+https://github.com/status-im/react-native-navigation-twopane.git#04ed5fddfb46a6a3ee30776987acb4d3b11c27d4" -react-native-safe-area-context@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.6.0.tgz#f53f5a5bcafb462a8798a26b145e68946389ad60" - integrity sha512-blY0akr3ZLTuZFdUotmjV+7LVXpBnd5CGFlNhTiarNNGJoHu79K42IJpUpmtg75iC9aWbSW7QHstlP0xz11V0A== +react-native-reanimated@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-1.7.0.tgz#896db2576552ac59d288a1f6c7f00afc171f240c" + integrity sha512-FQWSqP605eQVJumuK2HpR+7heF0ZI+qfy4jNguv3Xv8nPFHeIgZaRTXHCEQL2AcuSIj50zy8jGJf5l134QMQWQ== -react-native-safe-area-view@^0.14.1: - version "0.14.8" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.8.tgz#ef33c46ff8164ae77acad48c3039ec9c34873e5b" - integrity sha512-MtRSIcZNstxv87Jet+UsPhEd1tpGe8cVskDXlP657x6rHpSrbrc+y13ZNXrwAgGNNhqQNX7UJT68ZIq//ZRmvw== - dependencies: - hoist-non-react-statics "^2.3.1" +react-native-safe-area-context@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-0.7.3.tgz#ad6bd4abbabe195332c53810e4ce5851eb21aa2a" + integrity sha512-9Uqu1vlXPi+2cKW/CW6OnHxA76mWC4kF3wvlqzq4DY8hn37AeiXtLFs2WkxH4yXQRrnJdP6ivc65Lz+MqwRZAA== -"react-native-screens@^1.0.0 || ^1.0.0-alpha", react-native-screens@^1.0.0-alpha.23: - version "1.0.0-alpha.23" - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0" - integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw== +react-native-screens@^2.0.0-alpha.25: + version "2.0.0-alpha.25" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-2.0.0-alpha.25.tgz#790d273b41d8dde37aa3e43bc662444aff18cd20" + integrity sha512-IxKOqPxIWwyJhFOvfkxU/NSFzM5PRiyWWL8g0WCPozVU1KNEtJQp7j0sONkTLGQDkGwLbDu0kuGawT1zXMnE5A== dependencies: debounce "^1.2.0" @@ -4909,13 +4957,6 @@ react-native-svg@^9.8.4: resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-9.11.1.tgz#b1ccf48de413ff8c4f476f202aaa3893f4c8b59a" integrity sha512-BmNCM81SSzhj1+N5rYiy7sxrkmybgiT8Cu8yVRB7zVoWze/i1lbCWJah+Gk0OHHwR35ZA31oVKf5jtO4G1n94Q== -react-native-tab-view@^1.2.0, react-native-tab-view@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz#f113cd87485808f0c991abec937f70fa380478b9" - integrity sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ== - dependencies: - prop-types "^15.6.1" - react-native-touch-id@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/react-native-touch-id/-/react-native-touch-id-4.4.1.tgz#8b1bb2d04c30bac36bb9696d2d723e719c4a8b08" @@ -4972,40 +5013,6 @@ react-native@0.61.5: stacktrace-parser "^0.1.3" whatwg-fetch "^3.0.0" -react-navigation-drawer@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.4.0.tgz#70f3dd83e3da9cd4ea6e2739526502c823d466b9" - integrity sha512-ZyWBozcjB2aZ7vwCALv90cYA2NpDjM+WALaiYRshvPvue8l7cqynePbHK8GhlMGyJDwZqp4MxQmu8u1XAKp3Bw== - dependencies: - react-native-tab-view "^1.2.0" - -react-navigation-stack@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.5.3.tgz#cdc9f5a6dbdc55509a15f60d765722573dec1997" - integrity sha512-MQcwDVbZUYsTtDJb5cFOSm+K+e7KpUCoROaGoUOR+JHWE3uuaJ3pd/Nu+32a57J98TNBf4qq0+2TPJWl6z6IBg== - dependencies: - prop-types "^15.7.2" - -react-navigation-tabs@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-1.2.0.tgz#602c147029bb4f1c569b26479ddba534fe3ebb19" - integrity sha512-I6vq3XX4ub9KhWQzcrggznls+2Z2C6w2ro46vokDGGvJ02CBpQRar7J0ETV29Ot5AJY67HucNUmZdH3yDFckmQ== - dependencies: - hoist-non-react-statics "^2.5.0" - prop-types "^15.6.1" - react-native-tab-view "^1.4.1" - -react-navigation@^3.11.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.13.0.tgz#e802bb5174c1ec8b727c69f8e4409ff1351a5250" - integrity sha512-r64bTImY2aNye8wtd39ubouVB6ZMJqjVQYKxH4LFmOav4FsI59fQTDN7sZzyJa29owowYw/wVkh+NWGT+tdD1A== - dependencies: - "@react-navigation/core" "~3.5.1" - "@react-navigation/native" "~3.6.2" - react-navigation-drawer "~1.4.0" - react-navigation-stack "1.5.3" - react-navigation-tabs "~1.2.0" - react-refresh@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.4.2.tgz#54a277a6caaac2803d88f1d6f13c1dcfbd81e334" @@ -5438,6 +5445,13 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +shortid@^2.2.15: + version "2.2.15" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.15.tgz#2b902eaa93a69b11120373cd42a1f1fe4437c122" + integrity sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw== + dependencies: + nanoid "^2.1.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -5466,6 +5480,13 @@ simple-plist@^1.0.0: bplist-parser "0.1.1" plist "^3.0.1" +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + slash@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" @@ -6039,6 +6060,13 @@ url-set-query@^1.0.0: resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= +use-subscription@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.3.0.tgz#3df13a798e826c8d462899423293289a3362e4e6" + integrity sha512-buZV7FUtnbOr+65dN7PHK7chHhQGfk/yjgqfpRLoWuHIAc4klAD/rdot2FsPNtFthN1ZydvA8tR/mWBMQ+/fDQ== + dependencies: + object-assign "^4.1.1" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" diff --git a/nix/lein/lein-project-deps-maven-inputs.txt b/nix/lein/lein-project-deps-maven-inputs.txt index ff07078397..ab10c76386 100644 --- a/nix/lein/lein-project-deps-maven-inputs.txt +++ b/nix/lein/lein-project-deps-maven-inputs.txt @@ -1,5 +1,6 @@ https://repo.clojars.org/binaryage/devtools/0.9.10/devtools-0.9.10 https://repo.clojars.org/binaryage/env-config/0.2.2/env-config-0.2.2 +https://repo.clojars.org/binaryage/oops/0.7.0/oops-0.7.0 https://repo.clojars.org/clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5 https://repo.clojars.org/clj-time/clj-time/0.11.0/clj-time-0.11.0 https://repo.clojars.org/clj-time/clj-time/0.6.0/clj-time-0.6.0 @@ -49,11 +50,9 @@ https://repo.clojars.org/meta-merge/meta-merge/1.0.0/meta-merge-1.0.0 https://repo.clojars.org/mvxcvi/alphabase/1.0.0/alphabase-1.0.0 https://repo.clojars.org/net/cgrand/macrovich/0.2.0/macrovich-0.2.0 https://repo.clojars.org/quoin/quoin/0.1.2/quoin-0.1.2 -https://repo.clojars.org/rasom/cljs-react-navigation/0.1.4/cljs-react-navigation-0.1.4 https://repo.clojars.org/rasom/lein-githooks/0.1.5/lein-githooks-0.1.5 https://repo.clojars.org/re-com/re-com/2.1.0/re-com-2.1.0 https://repo.clojars.org/re-frame/re-frame/0.10.1/re-frame-0.10.1 -https://repo.clojars.org/re-frame/re-frame/0.10.4/re-frame-0.10.4 https://repo.clojars.org/re-frisk-shell/re-frisk-shell/0.5.2/re-frisk-shell-0.5.2 https://repo.clojars.org/re-frisk-sidecar/re-frisk-sidecar/0.5.7/re-frisk-sidecar-0.5.7 https://repo.clojars.org/re-frisk/re-frisk/0.5.4/re-frisk-0.5.4 diff --git a/nix/lein/lein-project-deps.nix b/nix/lein/lein-project-deps.nix index b4d5dff8cc..171c701079 100644 --- a/nix/lein/lein-project-deps.nix +++ b/nix/lein/lein-project-deps.nix @@ -20,6 +20,1213 @@ let }; in { + "https://repo.clojars.org/binaryage/devtools/0.9.10/devtools-0.9.10" = + { + host = repositories.clojars; + path = + "binaryage/devtools/0.9.10/devtools-0.9.10"; + type = "jar"; + pom = { + sha1 = "faad859cbbc8d004b1fbceb634db246cc52b18f7"; + sha256 = "166nv38z5y2hifh1jjnybzfsfi6d7wsc0sdz7sflwwwjwlvnwnpy"; + }; + jar = { + sha1 = "7a340dde53603f246ceb79081e0ca70c0ed5d996"; + sha256 = "05xlaf8pf5xvqaaxjwcmmfm1q8fq8fiz1hwlwnwfkmnryib19syp"; + }; + }; + "https://repo.clojars.org/binaryage/env-config/0.2.2/env-config-0.2.2" = + { + host = repositories.clojars; + path = + "binaryage/env-config/0.2.2/env-config-0.2.2"; + type = "jar"; + pom = { + sha1 = "8a8f0d726bb150b074dbaa92da5470f6144adb76"; + sha256 = "07x1a046xcg9bbzwwgls8i036lzryv5ix29c8m0hf3pp742xa49v"; + }; + jar = { + sha1 = "ac36173f1802a5d7225be41faebedbf12949ae59"; + sha256 = "11j1bls84d8hn8gviawvxkbbnb0hcg1lvw6qqcjj356ap6xzxfic"; + }; + }; + "https://repo.clojars.org/binaryage/oops/0.7.0/oops-0.7.0" = + { + host = repositories.clojars; + path = + "binaryage/oops/0.7.0/oops-0.7.0"; + type = "jar"; + pom = { + sha1 = "de223223c4272ce9ee75c81f8764e894029630b4"; + sha256 = "0sz21344v8lxd6mjlrb8r8yyz934h4lnkwqlpg3csgsi11mppya3"; + }; + jar = { + sha1 = "9729401b4c6551f6becf44cf0818d04255410099"; + sha256 = "0jkdybj37q3a4vvay3asj47ms7l3qjpidhkk30293w0zc7jk18k8"; + }; + }; + "https://repo.clojars.org/clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5" = + { + host = repositories.clojars; + path = + "clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5"; + type = "jar"; + pom = { + sha1 = "c4d8726888bedd0ff415f1a90eb326edc0772d84"; + sha256 = "00wvqa548pmfhkbkf8lx7325pmgqxdm8jmk8ph76w3gwlkwalpqn"; + }; + jar = { + sha1 = "1d811ed4a7eeee8ffe08e140eddb38429f4e6cdd"; + sha256 = "1h4wc8iw87cqp20l1wfkh7kxa1ik64ybdw5zh97wxhcsa7bchhzg"; + }; + }; + "https://repo.clojars.org/clj-time/clj-time/0.11.0/clj-time-0.11.0" = + { + host = repositories.clojars; + path = + "clj-time/clj-time/0.11.0/clj-time-0.11.0"; + type = "jar"; + pom = { + sha1 = "7659f6919759c1c7a41eddd09fe108d39656d965"; + sha256 = "0yaibpy2caf3dj9z23f0acd2ai245zhhibsifm2058nj2mkpzd0a"; + }; + jar = { + sha1 = "04461c7c89d96d32cf25f6674576f62aecf2ab05"; + sha256 = "0x3sxp5b7dsq5qbsbkhjazk2fzg6iyddwk3p7v4fr063nhlgwx2s"; + }; + }; + "https://repo.clojars.org/clj-time/clj-time/0.6.0/clj-time-0.6.0" = + { + host = repositories.clojars; + path = + "clj-time/clj-time/0.6.0/clj-time-0.6.0"; + type = "jar"; + pom = { + sha1 = "09b7a8e6f0b71ba43ac66c07910c03e5dac10eb3"; + sha256 = "1jpmdc889mfj22mwga5bl8hxfqnsbv0151qcgbszjnknx35bsm4l"; + }; + jar = { + sha1 = "a922fbc265cf1e8fc01f811b6f7e106f85172cc3"; + sha256 = "1bipx3rdm473v7v03qxjqqvshbikj5786w1x9sd1in3wjfb115cf"; + }; + }; + "https://repo.clojars.org/clj-time/clj-time/0.9.0/clj-time-0.9.0" = + { + host = repositories.clojars; + path = + "clj-time/clj-time/0.9.0/clj-time-0.9.0"; + type = "jar"; + pom = { + sha1 = "bc847a283f8f95ae32c5e5679ef6a3a96d7da595"; + sha256 = "033cynzp6yll05byhz9p0q7zwfii7b074a5qbv56278gxyrp8bmf"; + }; + jar = { + sha1 = "e276b52745750ae4548cd7239cd9a4f338843dd7"; + sha256 = "0mknvi2sn6i7pbn81xyvrbf9xbi65ymv4aavyw24hd4yniim0sbq"; + }; + }; + "https://repo.clojars.org/cljfmt/cljfmt/0.5.7/cljfmt-0.5.7" = + { + host = repositories.clojars; + path = + "cljfmt/cljfmt/0.5.7/cljfmt-0.5.7"; + type = "jar"; + pom = { + sha1 = "3e368e434c19c97811ec501226ade1089c81d199"; + sha256 = "1djm9wiq96ghd2v697m8vwkxxfv9js7168y5xclmsbhgxgp43wh4"; + }; + jar = { + sha1 = "f6bf9e4e21c824fafe19a67e3001e38c6d98c18f"; + sha256 = "0302s3kyc2p1rbrq58dqhjinq46i6rcivn7afk0lkd213dpnxr1b"; + }; + }; + "https://repo.clojars.org/cljs-bean/cljs-bean/1.3.0/cljs-bean-1.3.0" = + { + host = repositories.clojars; + path = + "cljs-bean/cljs-bean/1.3.0/cljs-bean-1.3.0"; + type = "jar"; + pom = { + sha1 = "2920ec4ae47eaa47c8a8aeecb4670a42cd412aab"; + sha256 = "0xamxny72ymyjfnmzjbnxfc0b19rbbzsmxgm6x2d5z2fbsgv3hz7"; + }; + jar = { + sha1 = "eef0aae8057df9c538bf009fd82766d5e86848c7"; + sha256 = "0c6wlpyc1k5aavw5dixllycdnmr64rrhpc4q57wfyfymixz87d7w"; + }; + }; + "https://repo.clojars.org/cljsbuild/cljsbuild/1.1.7/cljsbuild-1.1.7" = + { + host = repositories.clojars; + path = + "cljsbuild/cljsbuild/1.1.7/cljsbuild-1.1.7"; + type = "jar"; + pom = { + sha1 = "16ffd768ec441b967b533aac54c221bd49636bee"; + sha256 = "0bsnlcwv1mg5rc1ga7df3arjkhl23p39vjxjn06lvka7z0gj8azn"; + }; + jar = { + sha1 = "b83ee61540c18c694dee53edd8b53354e560c260"; + sha256 = "0xj9k8n3b31aavlf3fdrbqjflkdmqlvl34fz7s1iv8ff0kvb3aa6"; + }; + }; + "https://repo.clojars.org/cljsjs/create-react-class/15.5.3-0/create-react-class-15.5.3-0" = + { + host = repositories.clojars; + path = + "cljsjs/create-react-class/15.5.3-0/create-react-class-15.5.3-0"; + type = "jar"; + pom = { + sha1 = "e5573c52881879c656158b260d7c58ae32d74095"; + sha256 = "04ig36rbznyn77nzfliklvnh7l0k4sf11c4ihdyi0jj2vmq4malb"; + }; + jar = { + sha1 = "2e22539e6c2cef6aae9b3df7f05e55c59ad92102"; + sha256 = "1mvzyg2cwzq5an6h17qn0wad2vl70cn0mszds7kvsin920mf9rzy"; + }; + }; + "https://repo.clojars.org/cljsjs/highlight/9.6.0-0/highlight-9.6.0-0" = + { + host = repositories.clojars; + path = + "cljsjs/highlight/9.6.0-0/highlight-9.6.0-0"; + type = "jar"; + pom = { + sha1 = "d625f79b4598015cba3f2db3f34aa13ade142e22"; + sha256 = "0pkfxmqy2vq0y2wqjagp2y1wysrd9vxp81q5vj5851v04qd2izx0"; + }; + jar = { + sha1 = "bae98bcc3b252f6894f3f3ba74a3b335a91faf53"; + sha256 = "12f7ng70xlacznv8c3i3sh0dpz41aal5y270bsj5qjxh1y00mqpc"; + }; + }; + "https://repo.clojars.org/cljsjs/prop-types/15.6.0-0/prop-types-15.6.0-0" = + { + host = repositories.clojars; + path = + "cljsjs/prop-types/15.6.0-0/prop-types-15.6.0-0"; + type = "jar"; + pom = { + sha1 = "91b9fb5b780b66fedc42be8be477206c97ad3709"; + sha256 = "0q674ybnkkmfzvzaciy5kg7jlnwwz36aaq65r8vz0k3qwxs957cd"; + }; + jar = { + sha1 = "9ed805014d0aae261b389721e76facecef72a970"; + sha256 = "1sc7a517avw464nabmnqcwhf8vja28j01nhxamscy8lgb2mahkdl"; + }; + }; + "https://repo.clojars.org/cljsjs/react-dom-server/15.2.1-0/react-dom-server-15.2.1-0" = + { + host = repositories.clojars; + path = + "cljsjs/react-dom-server/15.2.1-0/react-dom-server-15.2.1-0"; + type = "jar"; + pom = { + sha1 = "47054f02ecfa8c80404de01e253de975dece45f6"; + sha256 = "1vm9wgzjp8mimgjjfazr68p22nj1vdsnqq6rxrsw9s5gz0rmg6a3"; + }; + jar = { + sha1 = "d7b36527ad1d47113b83d0714636ffbca6cdb63e"; + sha256 = "0j778j1gxn7j8ih497r7k6mwdych4p9li8ag6abig8lmk0bfpb5i"; + }; + }; + "https://repo.clojars.org/cljsjs/react-dom-server/15.5.4-0/react-dom-server-15.5.4-0" = + { + host = repositories.clojars; + path = + "cljsjs/react-dom-server/15.5.4-0/react-dom-server-15.5.4-0"; + type = "jar"; + pom = { + sha1 = "5ab1fe74d65fb0573b32abcf853bb8fadfb19d6e"; + sha256 = "001jks8kqbnj0dzx1x6qjgrsggp0hc8iibg3k68jjhxxphplcfbz"; + }; + jar = { + sha1 = "c9e320aa9b53a37c100f966d18f58802ed56a0d4"; + sha256 = "0av92sbdwadig50b1ljxy7n3rvpk2hy3c67rh57vqfc4jids6ank"; + }; + }; + "https://repo.clojars.org/cljsjs/react-dom/15.2.1-0/react-dom-15.2.1-0" = + { + host = repositories.clojars; + path = + "cljsjs/react-dom/15.2.1-0/react-dom-15.2.1-0"; + type = "jar"; + pom = { + sha1 = "637a50afa14d06c647f94a90b73fffca98a34aba"; + sha256 = "199nynjdvm2p789y7ms88y5plba9lp2nhx18xg63wy6g235r00f3"; + }; + jar = { + sha1 = "3983d1efcf168959e9575f1a64882d173a442a25"; + sha256 = "18dvzga66fnxhn5x9clqpmfhknm7h7jpn2xj5dh1slv4k2z9dhq8"; + }; + }; + "https://repo.clojars.org/cljsjs/react-dom/15.5.4-0/react-dom-15.5.4-0" = + { + host = repositories.clojars; + path = + "cljsjs/react-dom/15.5.4-0/react-dom-15.5.4-0"; + type = "jar"; + pom = { + sha1 = "4942103fbc65a2fb595d44b0f03e725bc5933815"; + sha256 = "1d9l3zyaic0kx5pa85zhbw9k137ldp5adqaj137x7hxr7j0rpnbb"; + }; + jar = { + sha1 = "a07113da072d94d9a6c15cc7ae8307950bcaeb1f"; + sha256 = "1qn5ycr9vsbbvq06clliwf89sk2838q6i86k35k2ghvvjwiwaxwl"; + }; + }; + "https://repo.clojars.org/cljsjs/react-flip-move/2.9.17-0/react-flip-move-2.9.17-0" = + { + host = repositories.clojars; + path = + "cljsjs/react-flip-move/2.9.17-0/react-flip-move-2.9.17-0"; + type = "jar"; + pom = { + sha1 = "099f6ebffe903c5eecd8e89a3de31d236f35cc8a"; + sha256 = "03yjx0j8hsf91psmisqxjzjh72jfzfx46cx0l6d5sbjbbk2454f3"; + }; + jar = { + sha1 = "28d60228d98d349104ae677d690fe8ed5f6212e9"; + sha256 = "0iwq6dwdyjaf6vhviv0vnyps5vly14vk5zcgkwx7z4hd0q4r5vhm"; + }; + }; + "https://repo.clojars.org/cljsjs/react-highlight/1.0.7-1/react-highlight-1.0.7-1" = + { + host = repositories.clojars; + path = + "cljsjs/react-highlight/1.0.7-1/react-highlight-1.0.7-1"; + type = "jar"; + pom = { + sha1 = "b226fa8557474d2696dab1d82c6fa35a8e9a748a"; + sha256 = "11snz3jn3salyn989gm00zq8s4fwskjrg31c63c21rb05b5wdvpr"; + }; + jar = { + sha1 = "1ca27cb92428584b96929e92175874b6cfc6baa6"; + sha256 = "1ppylfkkxxnpqb6khd6nj3dn8l0kwk671k11ncw3j6ncmn7ysxfr"; + }; + }; + "https://repo.clojars.org/cljsjs/react/15.2.1-0/react-15.2.1-0" = + { + host = repositories.clojars; + path = + "cljsjs/react/15.2.1-0/react-15.2.1-0"; + type = "jar"; + pom = { + sha1 = "2f3e6f6fdee7f18d845cec629f42d52cede174db"; + sha256 = "0k0b180rfz44mxs8gaaz1bkvx76lksls2hd6sxndj9vxg709fdqb"; + }; + jar = { + sha1 = "1eec9152ffaef3610623f81b7838dc0bb0a10d25"; + sha256 = "1v41lbaxwb9pvr1cxkw6hs8c40ga4x115jw4d97qi0rjj4lf1grq"; + }; + }; + "https://repo.clojars.org/cljsjs/react/15.5.4-0/react-15.5.4-0" = + { + host = repositories.clojars; + path = + "cljsjs/react/15.5.4-0/react-15.5.4-0"; + type = "jar"; + pom = { + sha1 = "7f8a71d7e3f56c6adfef75dc013ae3593386e135"; + sha256 = "0y96ndrsyv7il926n53znsqkglm6f7b3ck361wivbr1p55vsh8v5"; + }; + jar = { + sha1 = "1e9d79309e0aaa2c5da4470daab66776e74610e0"; + sha256 = "18p6bdmv09rkf9dg396770fb8h889132963233bd8bc2fs3knv6c"; + }; + }; + "https://repo.clojars.org/clout/clout/2.1.2/clout-2.1.2" = + { + host = repositories.clojars; + path = + "clout/clout/2.1.2/clout-2.1.2"; + type = "jar"; + pom = { + sha1 = "2c8aec1449373bfc2e7651b454104e4dc8d70168"; + sha256 = "1kphwll940nz53cjnfc9jlwxzbd0dkpzjfs5jaxrl4q95l0d845x"; + }; + jar = { + sha1 = "87cc1bd24ec39a8572e66103039955d7570ce077"; + sha256 = "1y3pp542ml5za3iyc5szqh2xn65dqmd8d6621mznmzg8bng1yscx"; + }; + }; + "https://repo.clojars.org/com/andrewmcveigh/cljs-time/0.4.0/cljs-time-0.4.0" = + { + host = repositories.clojars; + path = + "com/andrewmcveigh/cljs-time/0.4.0/cljs-time-0.4.0"; + type = "jar"; + pom = { + sha1 = "7c88ae083dbbd6f3e331453995b3e929cf4039ae"; + sha256 = "0ifj0kfvldy2ryk22v1mb739ijhzh1hmpnavkanhv2b3affdfvbv"; + }; + jar = { + sha1 = "5bd82832d01d7377fe0506d3773474c9a7718989"; + sha256 = "11gcnxsqi1f2lj0k8jc3la117qi2v1blf54xx1w3yfq7qb4yc73k"; + }; + }; + "https://repo.clojars.org/com/andrewmcveigh/cljs-time/0.5.2/cljs-time-0.5.2" = + { + host = repositories.clojars; + path = + "com/andrewmcveigh/cljs-time/0.5.2/cljs-time-0.5.2"; + type = "jar"; + pom = { + sha1 = "21a75819b0540486c66a48bd9119201c368221ba"; + sha256 = "035awyqyifbgn28faz0q90hm66vngdcl9x6jgbmkh5zjnp1xmpfi"; + }; + jar = { + sha1 = "7d4274be169f54a03d4afcc40ea95f40d44ca0a2"; + sha256 = "061cjh2a6qpkib5v5mdrsbwhvcbqvh1igvp3b7jhcfj05pgplm1x"; + }; + }; + "https://repo.clojars.org/com/taoensso/encore/2.79.1/encore-2.79.1" = + { + host = repositories.clojars; + path = + "com/taoensso/encore/2.79.1/encore-2.79.1"; + type = "jar"; + pom = { + sha1 = "fba62b0e3f1c9db8bdf19da316b53fe8e236c27f"; + sha256 = "1xffbp873vnhjad04lrc0gkrkmgyh8gcaqqzi03an6x7hbxpmvgp"; + }; + jar = { + sha1 = "82316444a66ea47642c6cca7800074eb468fe7f0"; + sha256 = "1afd604khns0rwb3xwxdfnl1ql8yzzsjm4rlq4id2f6awjrzxkm3"; + }; + }; + "https://repo.clojars.org/com/taoensso/encore/2.84.2/encore-2.84.2" = + { + host = repositories.clojars; + path = + "com/taoensso/encore/2.84.2/encore-2.84.2"; + type = "jar"; + pom = { + sha1 = "e9919d6d9fd8ee31da73b60f462651865e3064e1"; + sha256 = "0aga6s6d79lv62dhxjz87n3mbnz3hay75j7dfj266ip4hgnasvx1"; + }; + jar = { + sha1 = "443bfd382a5d87662a6f06db4cc8af4dfff50401"; + sha256 = "12f6fw32y4sj8k65qcnds30syklp96h6q179hq3l5dfnxd3yj46j"; + }; + }; + "https://repo.clojars.org/com/taoensso/encore/2.91.0/encore-2.91.0" = + { + host = repositories.clojars; + path = + "com/taoensso/encore/2.91.0/encore-2.91.0"; + type = "jar"; + pom = { + sha1 = "17b8d661cb1d3f14434af9934e1b5bf35dedf922"; + sha256 = "17g1sihagxmv33f8fs40dhw5ni3d25iwj7ipivfj4yzldqaifxz6"; + }; + jar = { + sha1 = "b3763f399395938eb66f0b125f8d9559976bf168"; + sha256 = "1a051xqn2k4gjnb9lvs6ma3qwdx14vqnq32z7qpqda6h3cyymvq5"; + }; + }; + "https://repo.clojars.org/com/taoensso/encore/2.94.0/encore-2.94.0" = + { + host = repositories.clojars; + path = + "com/taoensso/encore/2.94.0/encore-2.94.0"; + type = "jar"; + pom = { + sha1 = "73fed0c1c6bb76edf667bda84322dd41e478615c"; + sha256 = "1d87b3g6lpr6nnvyhlsx3zw6wm1ccmh3lqzi13q4y34cp0grcmdf"; + }; + jar = { + sha1 = "753c6e5510eaa9794d0bb092dd7c1f2f862a80e8"; + sha256 = "172f96w54311ckj6grs9kz0ddxgdqgdngqmzjg77qw5r3rsixyyh"; + }; + }; + "https://repo.clojars.org/com/taoensso/sente/1.11.0/sente-1.11.0" = + { + host = repositories.clojars; + path = + "com/taoensso/sente/1.11.0/sente-1.11.0"; + type = "jar"; + pom = { + sha1 = "64d73d8eed84074079d4a151575a78315a5045a7"; + sha256 = "07rkp2kimq5azpq88zfpvgzja8qcbi655a7s707hyhpvxkm29lkg"; + }; + jar = { + sha1 = "697acd708293e43d320f3048cdc0dfb46ddfecb1"; + sha256 = "02zlz3axsgh4x55hjz6gyabf9sxg28hywjs7q2n3cn6r98wivaz9"; + }; + }; + "https://repo.clojars.org/com/taoensso/timbre/4.7.4/timbre-4.7.4" = + { + host = repositories.clojars; + path = + "com/taoensso/timbre/4.7.4/timbre-4.7.4"; + type = "jar"; + pom = { + sha1 = "35b6fe994c66dcdbb16e0d5cd4fd92073a57ec50"; + sha256 = "165dz5mr8an8msc9hqgx79x8knkm57c685bc03b3sljr1x3b6j33"; + }; + jar = { + sha1 = "f3da3c2bdfc6f8db97004481dc340c41934c2082"; + sha256 = "1dzkqaj29ssspkphmnjqmnhq8w0pbfyh6i5fmpdk6ld93x6xnqam"; + }; + }; + "https://repo.clojars.org/com/taoensso/truss/1.3.5/truss-1.3.5" = + { + host = repositories.clojars; + path = + "com/taoensso/truss/1.3.5/truss-1.3.5"; + type = "jar"; + pom = { + sha1 = "9f45822ed0f8d1730b9165f2790659000e68c674"; + sha256 = "0n6p5hh7dj8jliqncp7ssymwygyyp6j9v8npvs777caa5n9idd9k"; + }; + jar = { + sha1 = "0f20a23062a6edcbd07b8d71363e6423abcfb742"; + sha256 = "0gpbpx65hkym6nz7x64nlqci9q6xrhfks8ik8rcrmcphy1khkqbr"; + }; + }; + "https://repo.clojars.org/com/taoensso/truss/1.3.6/truss-1.3.6" = + { + host = repositories.clojars; + path = + "com/taoensso/truss/1.3.6/truss-1.3.6"; + type = "jar"; + pom = { + sha1 = "addac012d81021995b31d6053bb4cfbb4f06f764"; + sha256 = "1ksknhx101vrzir6r7mmxq46w82zck9gp7idyhl8x91xmzh1jng2"; + }; + jar = { + sha1 = "c8f5ca5834f407b535d02813c6d2ba66b95da23b"; + sha256 = "18jwpm98vvijwvkz5wq44la2f4q23xfjh8lc36gc0p34snxr9r8y"; + }; + }; + "https://repo.clojars.org/com/taoensso/truss/1.5.0/truss-1.5.0" = + { + host = repositories.clojars; + path = + "com/taoensso/truss/1.5.0/truss-1.5.0"; + type = "jar"; + pom = { + sha1 = "dd64379ae860c87098eea582d30a48e887f9748e"; + sha256 = "01j47fp91zv5g8yd5ayhnfgm59zsiq5wcicyjjpnkhy9nsw5vl5h"; + }; + jar = { + sha1 = "ef3f595da76cbcbe40124ee0a858b7ca635d30f2"; + sha256 = "1a49slgn2py6mxghwmq70nm9k4s27kmvp3cgnv6v2fi5zvkphwrs"; + }; + }; + "https://repo.clojars.org/compojure/compojure/1.5.2/compojure-1.5.2" = + { + host = repositories.clojars; + path = + "compojure/compojure/1.5.2/compojure-1.5.2"; + type = "jar"; + pom = { + sha1 = "9e8da477b6682094d56802cb155291a2acb829bd"; + sha256 = "036z64iprypccz03iq7lqxvw99xjh4xlsfmfwbs37pmhfnfmbdnx"; + }; + jar = { + sha1 = "0b5258d0616ffc5f64c2b6d95f09de56d24df439"; + sha256 = "1s2k05lwnlm9a66mxnsss437i9gp70dny8y2rlfkl090s6mdqsaf"; + }; + }; + "https://repo.clojars.org/crypto-equality/crypto-equality/1.0.0/crypto-equality-1.0.0" = + { + host = repositories.clojars; + path = + "crypto-equality/crypto-equality/1.0.0/crypto-equality-1.0.0"; + type = "jar"; + pom = { + sha1 = "6b025f8fe474fb3a379230bcfe34b4766d00e051"; + sha256 = "0k7rdh1jrbd45igvx45747krdiv4s5bd8viqk83ng802rgw8x8aw"; + }; + jar = { + sha1 = "6728b7a444008fe576167fcadb92fea23bb17d42"; + sha256 = "1y9q8v245n4v3h6sh92a1rlf9rvi7j1akvb0cf47cgg6q60rrlbx"; + }; + }; + "https://repo.clojars.org/crypto-random/crypto-random/1.2.0/crypto-random-1.2.0" = + { + host = repositories.clojars; + path = + "crypto-random/crypto-random/1.2.0/crypto-random-1.2.0"; + type = "jar"; + pom = { + sha1 = "0cd21fd6f8b7f20a614580e0271474e94b8e8863"; + sha256 = "19cczijlkg4zk4r4wgvp27j3wahvwgj0ci8pbqhg3gmjri56396d"; + }; + jar = { + sha1 = "cd5ed1fa18919cc13f5ab5feabdff21cc4b0faf6"; + sha256 = "024dkz5vg6w0q4llw26v35mraai8x8hp0nii2c99szshn6pd0549"; + }; + }; + "https://repo.clojars.org/day8/re-frame/re-frame-10x/0.3.2/re-frame-10x-0.3.2" = + { + host = repositories.clojars; + path = + "day8/re-frame/re-frame-10x/0.3.2/re-frame-10x-0.3.2"; + type = "jar"; + pom = { + sha1 = "c3b6f9825d063dd0ca67620a7b7e66dd46b608a4"; + sha256 = "0m66q3b4jlbv9ig0v5cb8sfk3rwqgszsc2c8f5pi6q29yp7vvhy8"; + }; + jar = { + sha1 = "f215b20ed042cec2dcb9170e4a4170d9e3a0ae65"; + sha256 = "1vgjyq2nd8183qfi11am4d2c9ka99gnh4fhpgrxplx5x5g0339a9"; + }; + }; + "https://repo.clojars.org/fs/fs/1.1.2/fs-1.1.2" = + { + host = repositories.clojars; + path = + "fs/fs/1.1.2/fs-1.1.2"; + type = "jar"; + pom = { + sha1 = "5eca710d59b516b82f4add0f30b1751efffdb1e9"; + sha256 = "06c7qdmy4qknmiqfmjk8i1sl2sri061k36bqa026flrha3hzpqx5"; + }; + jar = { + sha1 = "bfbda6c3d0c91ae5a368a9465464a47840df44ef"; + sha256 = "1bd1yhmz16ja09r0j3g33dq5xzc9gsa0cbi2m5whv0bk1jafz36k"; + }; + }; + "https://repo.clojars.org/hiccup/hiccup/1.0.5/hiccup-1.0.5" = + { + host = repositories.clojars; + path = + "hiccup/hiccup/1.0.5/hiccup-1.0.5"; + type = "jar"; + pom = { + sha1 = "ad8dca6233e4c76cfa408a6857c0fcf9b4939b0f"; + sha256 = "0lp5q11li5wsr6gw70h801wklcqqcxcw54cpxabj4prbzva5jq1q"; + }; + jar = { + sha1 = "75940a400111bbb8f80e43325e23100b6e2227bc"; + sha256 = "1z07dh3qg9zzcwa8x31mnqxnkfsf2sbv315n43kxmnv1fkjagm0g"; + }; + }; + "https://repo.clojars.org/hickory/hickory/0.7.1/hickory-0.7.1" = + { + host = repositories.clojars; + path = + "hickory/hickory/0.7.1/hickory-0.7.1"; + type = "jar"; + pom = { + sha1 = "5730f6d94df251fc3082ee7d0610a1a6b5327859"; + sha256 = "0yhfpg8ivqyxg8615bvg3a0ljw0mxgqd2nis5gwhf9xn6p1id6x5"; + }; + jar = { + sha1 = "d9e6114592c434ca1df6022bbf4d5e97714666ee"; + sha256 = "021ag1b00821ma6mfl66ljyza1avjlpcld0zhnz1gvppwm5974xz"; + }; + }; + "https://repo.clojars.org/http-kit/http-kit/2.2.0/http-kit-2.2.0" = + { + host = repositories.clojars; + path = + "http-kit/http-kit/2.2.0/http-kit-2.2.0"; + type = "jar"; + pom = { + sha1 = "2ae358658936ae7d1bf5b929503e607d60c7d94c"; + sha256 = "1p8kmih1x4fm21haacz80f5as52lg3q8i02n8qzh709iwx7za5xa"; + }; + jar = { + sha1 = "70b17515f43a0e74937cdc0dea270d4ef13c7f32"; + sha256 = "1nnvadcqc7mabyp0gp2kbic85ipnxx499w36984is3ajw8k2c47p"; + }; + }; + "https://repo.clojars.org/instaparse/instaparse/1.4.0/instaparse-1.4.0" = + { + host = repositories.clojars; + path = + "instaparse/instaparse/1.4.0/instaparse-1.4.0"; + type = "jar"; + pom = { + sha1 = "55e534aa45dc4b6a84fce2c2ea342c66070d7c2b"; + sha256 = "0pjdm2js7rjgsbq6byrdbf8bqca66dg736jvw9imc3dzz9mvy4f6"; + }; + jar = { + sha1 = "ade13d743d1ec8a6c5103fd0f5701b0f997e2cc4"; + sha256 = "188325lqyc6p9fmrcsx5vwp4cydnaxf32034jqf2ch29mnax1gvh"; + }; + }; + "https://repo.clojars.org/io/aviso/pretty/0.1.30/pretty-0.1.30" = + { + host = repositories.clojars; + path = + "io/aviso/pretty/0.1.30/pretty-0.1.30"; + type = "jar"; + pom = { + sha1 = "e4ca5c261e2736e7df75106f044b54ce87cfcff0"; + sha256 = "0zfr4xyapzbajrzyqd0gbsf2qxbhy4blqfg4l6bcwr562sab8w36"; + }; + jar = { + sha1 = "80485ee4337502fc5380e95b3b9536623bc1bd2d"; + sha256 = "17yi35nd4qwb16n1llgdcknppc4axr5gngg3v8valpdk8qcf3pmh"; + }; + }; + "https://repo.clojars.org/io/aviso/pretty/0.1.33/pretty-0.1.33" = + { + host = repositories.clojars; + path = + "io/aviso/pretty/0.1.33/pretty-0.1.33"; + type = "jar"; + pom = { + sha1 = "bd20d3111649da92524569882f0f9925740aac3e"; + sha256 = "034rhbp6cqzbf9c4ql28n72vmqbxvh39ghf1b2axlnfza38w783b"; + }; + jar = { + sha1 = "2ebf75b7ff2a2260827453e7ea98e012a9eca3e2"; + sha256 = "06w7hpgccr7qy47cwzpq5h2fw27am1imc9cbpg3bc5bbydz9q4df"; + }; + }; + "https://repo.clojars.org/lein-cljfmt/lein-cljfmt/0.5.7/lein-cljfmt-0.5.7" = + { + host = repositories.clojars; + path = + "lein-cljfmt/lein-cljfmt/0.5.7/lein-cljfmt-0.5.7"; + type = "jar"; + pom = { + sha1 = "1130335a2e2dba720bb0779c4f05097bb0341b1f"; + sha256 = "14ra5xi3nsa1lkid3h1nnih9ihkz0772f82i70x4jljr40wn0cx1"; + }; + jar = { + sha1 = "9389a15fec0914dfcf48c08a69f44dd71133e62c"; + sha256 = "18xgma82lpmiqzs66jm41i1jq7sjv5ma6lnz6ksxyv08r75xhf8q"; + }; + }; + "https://repo.clojars.org/lein-cljsbuild/lein-cljsbuild/1.1.7/lein-cljsbuild-1.1.7" = + { + host = repositories.clojars; + path = + "lein-cljsbuild/lein-cljsbuild/1.1.7/lein-cljsbuild-1.1.7"; + type = "jar"; + pom = { + sha1 = "ef82f47435ac6af478571640ccf45f4fc019869d"; + sha256 = "00ikz9csmlw410pz8ilq0bz57icinczzlrw8hgx6zgbbqh57p297"; + }; + jar = { + sha1 = "925e24bd16c868457d1608f6a7d96951a9c12e7f"; + sha256 = "0ihj2dd3lpz3banpqm0pgcj8sd5wywkjy7mxyjyckgb6g48ahf3l"; + }; + }; + "https://repo.clojars.org/lein-re-frisk/lein-re-frisk/0.5.8/lein-re-frisk-0.5.8" = + { + host = repositories.clojars; + path = + "lein-re-frisk/lein-re-frisk/0.5.8/lein-re-frisk-0.5.8"; + type = "jar"; + pom = { + sha1 = "cc1915dac89ccd05359c408699b9abeeb4cca094"; + sha256 = "0kdhxk8pd94f6gb79ib26xizzgz9fmfq9vh3s71qcg29m1r41948"; + }; + jar = { + sha1 = "ab348771c3fb23c75ab225053338acdc04a91a3f"; + sha256 = "1is7bk4fy3gfz6rl9xws9c20a2aaxqcfig6i9nv31rs2q9ll1fw6"; + }; + }; + "https://repo.clojars.org/medley/medley/0.8.2/medley-0.8.2" = + { + host = repositories.clojars; + path = + "medley/medley/0.8.2/medley-0.8.2"; + type = "jar"; + pom = { + sha1 = "f59de194201b5e90166571ce4b3db1774fb576f4"; + sha256 = "1vhy2634m07a2asz354sds2i7g6gwm8bxfpsmp8dfbr4226hi4m3"; + }; + jar = { + sha1 = "0c05ef36ae49925af44c781108ecf8b704a83a8f"; + sha256 = "1hf1jd60jshd1p8yknfnimfsbiz9x1kg8x1gb6939xxx6sk953c8"; + }; + }; + "https://repo.clojars.org/meta-merge/meta-merge/1.0.0/meta-merge-1.0.0" = + { + host = repositories.clojars; + path = + "meta-merge/meta-merge/1.0.0/meta-merge-1.0.0"; + type = "jar"; + pom = { + sha1 = "5d5967dd4a746e4a9fd1927fc78098dd424ea576"; + sha256 = "0carx82c5anc6i0lbi40nhzwas1dynag6c8h6k8jpk6fixjj02mh"; + }; + jar = { + sha1 = "28cbe836fdf7de02801fe0bdbb30eb2fd842e8d9"; + sha256 = "1iq2xf10as0h1q4vqb51hq0xf211f6ijmrv28pjy01npwgiy5znp"; + }; + }; + "https://repo.clojars.org/mvxcvi/alphabase/1.0.0/alphabase-1.0.0" = + { + host = repositories.clojars; + path = + "mvxcvi/alphabase/1.0.0/alphabase-1.0.0"; + type = "jar"; + pom = { + sha1 = "2cd07338e4e0a8f7f20d26c8212e5a3333c7acac"; + sha256 = "1kan1lb3ckc0l447cj3l83lh6svz5bk514j0y9lxif6is07b2qxg"; + }; + jar = { + sha1 = "008785c0ff977d8132af4aaa931d88ffc44fca03"; + sha256 = "1g395and521h2q370vh7w0psx63a1zb5f2rcrafqgzw5s3nwlm4q"; + }; + }; + "https://repo.clojars.org/net/cgrand/macrovich/0.2.0/macrovich-0.2.0" = + { + host = repositories.clojars; + path = + "net/cgrand/macrovich/0.2.0/macrovich-0.2.0"; + type = "jar"; + pom = { + sha1 = "09d3f0c99504388c80484a949b216105664cfce3"; + sha256 = "1p5ly7ks8nlxqf4p0i4wvjfj49sm7hz1jl5i5nc9sclwr6zp15kq"; + }; + jar = { + sha1 = "a1638e75e55b1ed3aa63398e4f10e0222d311e9e"; + sha256 = "0xffg2cydhr9k548w9w6ii6hkw7adicxr6i5s3wa77iz6c95j1za"; + }; + }; + "https://repo.clojars.org/quoin/quoin/0.1.2/quoin-0.1.2" = + { + host = repositories.clojars; + path = + "quoin/quoin/0.1.2/quoin-0.1.2"; + type = "jar"; + pom = { + sha1 = "cdabd1b76f3a86c59260cd25be534a0a5b67c302"; + sha256 = "0wv7m5l9hafc0ysxg7g7fqmdq94dxmv13cj37il69wvagqskarhc"; + }; + jar = { + sha1 = "0dbbb28df3e337233f934468915eb327ff488172"; + sha256 = "0b5rc1cmbgg8qpl80jyvh0ldgs7dv86c0qxixazdnz05limmnpb5"; + }; + }; + "https://repo.clojars.org/rasom/lein-githooks/0.1.5/lein-githooks-0.1.5" = + { + host = repositories.clojars; + path = + "rasom/lein-githooks/0.1.5/lein-githooks-0.1.5"; + type = "jar"; + pom = { + sha1 = "ec0b1322dd8d9dba726dd0f95548a216094c488b"; + sha256 = "0zf7hv0hkpfjlvxbl274jm5m23avvrlj7wwpqpq019pnwssv2r5j"; + }; + jar = { + sha1 = "727bdd86ef414cd99f2f4f68c56348db898048ab"; + sha256 = "0jg72qqzfi7qf2yzwisjpbcw4a68lq7j5nra9zgjqw1h3nanwsgi"; + }; + }; + "https://repo.clojars.org/re-com/re-com/2.1.0/re-com-2.1.0" = + { + host = repositories.clojars; + path = + "re-com/re-com/2.1.0/re-com-2.1.0"; + type = "jar"; + pom = { + sha1 = "ce5f4fa769c8ab312d1bb8a3c52cb0c6deae1ee4"; + sha256 = "1rm8n0nx7a2q31qw9ay6sfj8n06cn0565lh7r2fj5z1czbx9clhi"; + }; + jar = { + sha1 = "081a88f9d0022df608ba5fc504080a2f05dbce40"; + sha256 = "1ffn63mnsyvllv97pns71r7ky1pjsml193ry6ai9ag8plj4wg51m"; + }; + }; + "https://repo.clojars.org/re-frame/re-frame/0.10.1/re-frame-0.10.1" = + { + host = repositories.clojars; + path = + "re-frame/re-frame/0.10.1/re-frame-0.10.1"; + type = "jar"; + pom = { + sha1 = "612e08afe9100f6e6610c56bc841a4cc1bd803e2"; + sha256 = "1lfr3p5dvr8vniwf44xgmsjlb1wnw92cf22cnxb1i8zwybl4vj9j"; + }; + jar = { + sha1 = "b0f2e1af4132dce56395da1eabac52ba2b9df264"; + sha256 = "0qb4dmyk10hcc88sl14jxq2s0yifrc0x71fxy76w2iqlql03ri6w"; + }; + }; + "https://repo.clojars.org/re-frisk-shell/re-frisk-shell/0.5.2/re-frisk-shell-0.5.2" = + { + host = repositories.clojars; + path = + "re-frisk-shell/re-frisk-shell/0.5.2/re-frisk-shell-0.5.2"; + type = "jar"; + pom = { + sha1 = "d27ccc127b72d7ad427508685d1844895d8e16e1"; + sha256 = "1rxyy1lx9iv3mzns0pws6rvz3xl9n21pd1qvqcrjnddvq6ljrn21"; + }; + jar = { + sha1 = "d0a05e08e9f50425b2d099184625cc3cc819a60e"; + sha256 = "1chmj5ixql2lbjx56cz2qdvrz1xzvvn7p4f19m2jk8j9wc3zzq0m"; + }; + }; + "https://repo.clojars.org/re-frisk-sidecar/re-frisk-sidecar/0.5.7/re-frisk-sidecar-0.5.7" = + { + host = repositories.clojars; + path = + "re-frisk-sidecar/re-frisk-sidecar/0.5.7/re-frisk-sidecar-0.5.7"; + type = "jar"; + pom = { + sha1 = "681bffb59922db7403b4d0113c38146cf0580fc2"; + sha256 = "15ym9fblhbvligxrxkd3gy1l1qcxdqnlmxypb02vc6gxfz44gyrv"; + }; + jar = { + sha1 = "a8ea46ac510802038288e8c92f170a9cea23df8e"; + sha256 = "1ijmyj8m1n189szrdppmhkrhi62r07gkwgrxc7yynv72gnc4vwmb"; + }; + }; + "https://repo.clojars.org/re-frisk/re-frisk/0.5.4/re-frisk-0.5.4" = + { + host = repositories.clojars; + path = + "re-frisk/re-frisk/0.5.4/re-frisk-0.5.4"; + type = "jar"; + pom = { + sha1 = "7b314a9821899d674abd923f0419002c63bd47f2"; + sha256 = "0i7h75a0ccy4i3s6s3c0acwabksly8c02ys53979q50mc4qacqf9"; + }; + jar = { + sha1 = "a7fe2c5fe6939bb78599c4c46493c7a62d7c7d48"; + sha256 = "1bxrvx0v5fhn7m1qhd3b5s2rq5v34sgwpp0ad7c7ijmfdjsrrafr"; + }; + }; + "https://repo.clojars.org/reagent/reagent/0.6.0/reagent-0.6.0" = + { + host = repositories.clojars; + path = + "reagent/reagent/0.6.0/reagent-0.6.0"; + type = "jar"; + pom = { + sha1 = "f1e00f7b084fd59167fa99077296bd4284161aac"; + sha256 = "124kijrmwsr8mypwqx8g0d2sdk1w97jb4w1civpzza1s4n1idjg3"; + }; + jar = { + sha1 = "d9e8e4fae72c65d8df23ed8687864f5a90965c45"; + sha256 = "0nrc4sxicgm29ah8dcdp99bh9vsxgq6pk917cnn7qw4l8m412c57"; + }; + }; + "https://repo.clojars.org/reagent/reagent/0.7.0/reagent-0.7.0" = + { + host = repositories.clojars; + path = + "reagent/reagent/0.7.0/reagent-0.7.0"; + type = "jar"; + pom = { + sha1 = "1d9d0bee8896bb3b4dfc770c6d93c506e903712d"; + sha256 = "1arybi02a4svi926sw4yljl3fc7qsjk1b0z8r5h74j3wqwczz3ba"; + }; + jar = { + sha1 = "5a4da4cfb9fc0e545ad64bb23fbde2c67dd1371b"; + sha256 = "19y0b1xkamrp6rj8p9is7fhz9zgzz1wpzdk59a24mxw4fiw5d1ls"; + }; + }; + "https://repo.clojars.org/rewrite-clj/rewrite-clj/0.5.2/rewrite-clj-0.5.2" = + { + host = repositories.clojars; + path = + "rewrite-clj/rewrite-clj/0.5.2/rewrite-clj-0.5.2"; + type = "jar"; + pom = { + sha1 = "82b78a539f4cedd824dbb74585118a03045abad7"; + sha256 = "1vfva7p1m17aga50s79w76gpc3wvkhf9fiqmhka7kv08yrqzn4z6"; + }; + jar = { + sha1 = "b41bc0697d82e686ea9b293d3f3adb2fc7be6737"; + sha256 = "1fm9bkd3wiqxalldqdfwh5n5cvlichp5an355c0lnkhi5l1hpfvl"; + }; + }; + "https://repo.clojars.org/rewrite-clj/rewrite-clj/0.6.0/rewrite-clj-0.6.0" = + { + host = repositories.clojars; + path = + "rewrite-clj/rewrite-clj/0.6.0/rewrite-clj-0.6.0"; + type = "jar"; + pom = { + sha1 = "fe825525b460e8502d615872588992cfb64f7d30"; + sha256 = "0ca3nbmipmm77h20db2h4q5x7qs2kckz1086z9crz3zwsb67cxy2"; + }; + jar = { + sha1 = "e7a747f74be82855afe7114d4178384b50165237"; + sha256 = "173wdcs6ksv4hzl3nnnsdw58lh1acrni4iz0gafjmydkzji4jiqz"; + }; + }; + "https://repo.clojars.org/rewrite-cljs/rewrite-cljs/0.4.3/rewrite-cljs-0.4.3" = + { + host = repositories.clojars; + path = + "rewrite-cljs/rewrite-cljs/0.4.3/rewrite-cljs-0.4.3"; + type = "jar"; + pom = { + sha1 = "9da639eac10f66ab57057b75e59ce87200457f54"; + sha256 = "1dn85fa8j4dni7lpzvvwk3y2lp69grpp7rjy0pla7j7l35a9nqpp"; + }; + jar = { + sha1 = "eddfed4a28f3865322e479ba77e84985421466bd"; + sha256 = "0gqsj9y66ssxm7qbgqps9548gvrmzdpd16zh6gr6jppqwxgwvawv"; + }; + }; + "https://repo.clojars.org/rewrite-cljs/rewrite-cljs/0.4.4/rewrite-cljs-0.4.4" = + { + host = repositories.clojars; + path = + "rewrite-cljs/rewrite-cljs/0.4.4/rewrite-cljs-0.4.4"; + type = "jar"; + pom = { + sha1 = "4e7a2542517a5b0231631305461603605bea1592"; + sha256 = "050imgkzw5q7200klwrkd4v32xxy1f4aghs8g4ma5dbg4rl4pgcd"; + }; + jar = { + sha1 = "dd14a371d0d09eedccb39f01e3edabefb2d1e64f"; + sha256 = "0hb07wg71i2bjn8wzs8q6w1nb3jb2s36nhr9kv9mc0gyrr6im244"; + }; + }; + "https://repo.clojars.org/ring-cors/ring-cors/0.1.8/ring-cors-0.1.8" = + { + host = repositories.clojars; + path = + "ring-cors/ring-cors/0.1.8/ring-cors-0.1.8"; + type = "jar"; + pom = { + sha1 = "b59382655c98377c9280fe227c442e2705088ad8"; + sha256 = "0qpagym9im5fjx1jmwc56abz4a9fpy7w4m0isv2lcbczy3g29k8i"; + }; + jar = { + sha1 = "4788dcaca6b2429bf823c1235dbb44cd5689584a"; + sha256 = "1382hxpgfpjdn0lcgq512yvbvq661skwd7lrakpnq9zs827jq9mc"; + }; + }; + "https://repo.clojars.org/ring/ring-anti-forgery/1.0.0/ring-anti-forgery-1.0.0" = + { + host = repositories.clojars; + path = + "ring/ring-anti-forgery/1.0.0/ring-anti-forgery-1.0.0"; + type = "jar"; + pom = { + sha1 = "4fb60d8eff3aa5fa61353ebcdf766951313137af"; + sha256 = "1wkwby0na28gmvwdkbkk0nmysfs14s1lzwam02sz3kyjx1yg62am"; + }; + jar = { + sha1 = "0bc44369a5e3fec2f7d6eda0a5968cc452f1d5ce"; + sha256 = "08ps755n16yk788k2vy92dg4agvbh6f89riwnd1frwl7dznc67lc"; + }; + }; + "https://repo.clojars.org/ring/ring-codec/1.0.0/ring-codec-1.0.0" = + { + host = repositories.clojars; + path = + "ring/ring-codec/1.0.0/ring-codec-1.0.0"; + type = "jar"; + pom = { + sha1 = "14a3c9e2541d4e03ed3158ffdcb9119417751f1e"; + sha256 = "0saaz8dq3zps5c2z8x24hqm3650kbj1455y8pbg4z8vh04rlcx2a"; + }; + jar = { + sha1 = "e2e0be35ee22202a6da3769b606c485e4154f6e9"; + sha256 = "0kw0l3ggvp4fknm28zvz2hbyrz7s28qlk7q2xbdg65s40cqs26q4"; + }; + }; + "https://repo.clojars.org/ring/ring-codec/1.0.1/ring-codec-1.0.1" = + { + host = repositories.clojars; + path = + "ring/ring-codec/1.0.1/ring-codec-1.0.1"; + type = "jar"; + pom = { + sha1 = "86c782a6276b50d0be94ee057d03e92df87a3cc4"; + sha256 = "1wax9nw26g79561llavn6b96gpqf97kl2n910afb0z88y9400k9r"; + }; + jar = { + sha1 = "521dbb3c2dec06909072248785a5b040bfb378be"; + sha256 = "192lnnla7rc1wyg4gwq9fadg1j40baqzfyvc57yjcdx77k0si4sv"; + }; + }; + "https://repo.clojars.org/ring/ring-core/1.3.0-RC1/ring-core-1.3.0-RC1" = + { + host = repositories.clojars; + path = + "ring/ring-core/1.3.0-RC1/ring-core-1.3.0-RC1"; + type = "jar"; + pom = { + sha1 = "0551907b083b658304fdae8193acdc9fa3e14b5c"; + sha256 = "1rag22wjb7hgbw3prpc62xmhhvqhghkc936f9nlp22ahcylyxx4r"; + }; + jar = { + sha1 = "f03e35b7fde3d2912a99a6815cc2cad53951f478"; + sha256 = "1ssz5g82yvcraqaysxh4r0kqs6dhg3xf4bkdk8z6hw8nc3mljf1l"; + }; + }; + "https://repo.clojars.org/ring/ring-core/1.3.2/ring-core-1.3.2" = + { + host = repositories.clojars; + path = + "ring/ring-core/1.3.2/ring-core-1.3.2"; + type = "jar"; + pom = { + sha1 = "e4e65fd352eb8c263e9ea328e8f1ea389d8474e4"; + sha256 = "0wcky7gkary0vkzf6knw14gd9czmmxwshzl00z2ymq2bsrzxriyk"; + }; + jar = { + sha1 = "125f8c05b4768d16e5da46dc8fb62b0e77e1289d"; + sha256 = "1b8aq9dl4z11fgld6y1b79v5a0js963c32xcamjv729hpsn9k0wm"; + }; + }; + "https://repo.clojars.org/ring/ring-core/1.4.0/ring-core-1.4.0" = + { + host = repositories.clojars; + path = + "ring/ring-core/1.4.0/ring-core-1.4.0"; + type = "jar"; + pom = { + sha1 = "b61b28707ea64a60542a89eaef7dabcfe4438a22"; + sha256 = "0iffny7wjbqpwr61hnzgg8v91lf69wgc9qhnxg25jf18frl8cz9x"; + }; + jar = { + sha1 = "6ac9a134048f031e7067bf834ab9085a0c840386"; + sha256 = "0l23bcil5hms1npm8wb3yll9i9flvw333kzrx4faxjk5y5cj8ldf"; + }; + }; + "https://repo.clojars.org/ring/ring-core/1.5.1/ring-core-1.5.1" = + { + host = repositories.clojars; + path = + "ring/ring-core/1.5.1/ring-core-1.5.1"; + type = "jar"; + pom = { + sha1 = "24f0400b10ca4ca9cbac9ba58a576e4f93948220"; + sha256 = "0790s4b1bccf7hbw5mmw797bgsggc0v3wigx0fkwnx0236hisbxb"; + }; + jar = { + sha1 = "4c7a99d821c93c2c38caeb74fdc2a1973551ed88"; + sha256 = "0ajrf2fkhdlyiv8y58l2z7g617mxbcx2yknwclk6c6q3a60ci9gv"; + }; + }; + "https://repo.clojars.org/ring/ring-defaults/0.1.5/ring-defaults-0.1.5" = + { + host = repositories.clojars; + path = + "ring/ring-defaults/0.1.5/ring-defaults-0.1.5"; + type = "jar"; + pom = { + sha1 = "472e3f4c23e881f6642217be22f90f2afc05f675"; + sha256 = "0jcxd3cxgq2jw0xnv2f4zlgk82d6jz7pdh4hqjjz8p818m106bf1"; + }; + jar = { + sha1 = "f50937815f88423a35780d9d7c62f729afc1a16d"; + sha256 = "0cf9pny0npsgzv3swifvrhb858jiax6yc1xdd6i92yh1m02x7gj0"; + }; + }; + "https://repo.clojars.org/ring/ring-headers/0.1.3/ring-headers-0.1.3" = + { + host = repositories.clojars; + path = + "ring/ring-headers/0.1.3/ring-headers-0.1.3"; + type = "jar"; + pom = { + sha1 = "dd1845641fa07ae18b4478ad697d53a8615b24d7"; + sha256 = "1z2a04hkxy0gmwbgyjzm0j187p1s1128n8kc2ai5myyxkrw1cppl"; + }; + jar = { + sha1 = "2a3e05706b6a6c834e96047a2d4b63b1ebb15fef"; + sha256 = "0p6mia366ky1n3zc3xa9m45vjg9mc7r6wij71n9zg5w51b33nb0l"; + }; + }; + "https://repo.clojars.org/ring/ring-ssl/0.2.1/ring-ssl-0.2.1" = + { + host = repositories.clojars; + path = + "ring/ring-ssl/0.2.1/ring-ssl-0.2.1"; + type = "jar"; + pom = { + sha1 = "130da83f25c5350e7e46d16eaf5c0f2158dc7cd9"; + sha256 = "1kkm2xjm8swkjf5rnnvi93xqfpkldqxhp8vnhyh6nr1ryhdjmhad"; + }; + jar = { + sha1 = "2e1ed5a4dae78ad35b1decaf486ea557e36f1218"; + sha256 = "0aiid67a7zl75xspx9naincb1ig8822ypdza2vpx18dmvc2pmfi3"; + }; + }; + "https://repo.clojars.org/status-im/re-frame/0.10.5/re-frame-0.10.5" = + { + host = repositories.clojars; + path = + "status-im/re-frame/0.10.5/re-frame-0.10.5"; + type = "jar"; + pom = { + sha1 = "3c18c5995d4facc049755e42ee371bbd25d544ac"; + sha256 = "12iqa4a4lbni8ynlzshwknc1zwh0vx9kkx7c8p63bd3zb2gkc2xp"; + }; + jar = { + sha1 = "26ff2f15eaf4ea6518adb1024bdb3f8ebd1945a9"; + sha256 = "1waddf88j3mc1pjipgmdkbs7943f7a2xy3n6b6hznp0fivyyhn38"; + }; + }; + "https://repo.clojars.org/status-im/timbre/4.10.0-2-status/timbre-4.10.0-2-status" = + { + host = repositories.clojars; + path = + "status-im/timbre/4.10.0-2-status/timbre-4.10.0-2-status"; + type = "jar"; + pom = { + sha1 = "a0ada642eec4fc748cc52988754ad5cdfa1865b1"; + sha256 = "1h7hhxq1kqpm2g0sk811zigi8c66si72l141gh964ly4pldpc940"; + }; + jar = { + sha1 = "e630bd13a422d7dbedeeb26f17aca0a473a9e5d3"; + sha256 = "1ipakbl438xkj1qhp6lrmjk25vihk15v86k69qba4ny7i0jhyj21"; + }; + }; + "https://repo.clojars.org/viebel/codox-klipse-theme/0.0.1/codox-klipse-theme-0.0.1" = + { + host = repositories.clojars; + path = + "viebel/codox-klipse-theme/0.0.1/codox-klipse-theme-0.0.1"; + type = "jar"; + pom = { + sha1 = "5e1a00ea2bbdfc8cae4083c41e12be5cf89c1449"; + sha256 = "1qxd30dl06yahcgqnypnc71mhqzijpmnq9imybbkbvzk65i6y4r8"; + }; + jar = { + sha1 = "09af0b348e6253dcf9fd567d0d22ffebdea46176"; + sha256 = "1qg2iyblykfkzmplc2c46916b9m0h5ad6lxmvrk5qn3pdxqr8vw0"; + }; + }; + "https://repo.clojars.org/zprint/zprint/0.4.7/zprint-0.4.7" = + { + host = repositories.clojars; + path = + "zprint/zprint/0.4.7/zprint-0.4.7"; + type = "jar"; + pom = { + sha1 = "5e996cdc0b07ce2d08bfd8a357dbd03ddb3b6a49"; + sha256 = "1kyhpl76870qvy56c4i7rxqwf6m1zjahpd4wcrdqh80b65k0wjmy"; + }; + jar = { + sha1 = "2ab68369b812a69d8b2257223c06168e883f33a4"; + sha256 = "1a667jc2q8jcchmnlwz31kngnlcjy4y4q9cf6ng7jlrb3lv74v0j"; + }; + }; + "https://repo1.maven.org/maven2/args4j/args4j-site/2.0.26/args4j-site-2.0.26" = + { + host = repositories.maven; + path = + "args4j/args4j-site/2.0.26/args4j-site-2.0.26"; + type = "jar"; + pom = { + sha1 = "d0b339416cfaa4ea16ddb0cd92711a8518892778"; + sha256 = "07icb97h7883z9mc5xdzlj31knymx8cqbpvvl6yajrrkbymis2hi"; + }; + }; + "https://repo1.maven.org/maven2/args4j/args4j-site/2.33/args4j-site-2.33" = + { + host = repositories.maven; + path = + "args4j/args4j-site/2.33/args4j-site-2.33"; + type = "jar"; + pom = { + sha1 = "09ba12fde00306694af3ce9f5ff302c858345edf"; + sha256 = "1vqqdkrnrbkgxad1sw4qwxqw6rvv86r93ndwakggdg1y5v869ggj"; + }; + }; "https://repo1.maven.org/maven2/args4j/args4j/2.0.26/args4j-2.0.26" = { host = repositories.maven; @@ -50,28 +1257,6 @@ in { sha256 = "1mlyqrqyhijwkjx4sv2zfn2ciqfwpc08qq8w55rcxb941fxfmpci"; }; }; - "https://repo1.maven.org/maven2/args4j/args4j-site/2.0.26/args4j-site-2.0.26" = - { - host = repositories.maven; - path = - "args4j/args4j-site/2.0.26/args4j-site-2.0.26"; - type = "jar"; - pom = { - sha1 = "d0b339416cfaa4ea16ddb0cd92711a8518892778"; - sha256 = "07icb97h7883z9mc5xdzlj31knymx8cqbpvvl6yajrrkbymis2hi"; - }; - }; - "https://repo1.maven.org/maven2/args4j/args4j-site/2.33/args4j-site-2.33" = - { - host = repositories.maven; - path = - "args4j/args4j-site/2.33/args4j-site-2.33"; - type = "jar"; - pom = { - sha1 = "09ba12fde00306694af3ce9f5ff302c858345edf"; - sha256 = "1vqqdkrnrbkgxad1sw4qwxqw6rvv86r93ndwakggdg1y5v869ggj"; - }; - }; "https://repo1.maven.org/maven2/com/cognitect/transit-clj/0.8.290/transit-clj-0.8.290" = { host = repositories.maven; @@ -285,6 +1470,17 @@ in { sha256 = "1iyh53li6y4b8gp8bl52fagqp8iqrkp4rmwa5jb8f9izg2hd4skn"; }; }; + "https://repo1.maven.org/maven2/com/google/code/gson/gson-parent/2.7/gson-parent-2.7" = + { + host = repositories.maven; + path = + "com/google/code/gson/gson-parent/2.7/gson-parent-2.7"; + type = "jar"; + pom = { + sha1 = "3e147803ee87007ec82a1f625a0034be35c9b8a8"; + sha256 = "0ar7wk4zrdlb56jywsk6v3cpji8cjsi3kzmcr061yc12fdrqq7l7"; + }; + }; "https://repo1.maven.org/maven2/com/google/code/gson/gson/2.2.4/gson-2.2.4" = { host = repositories.maven; @@ -315,47 +1511,6 @@ in { sha256 = "0clda1xrjfja969xsbrhc61ip588xvsi9k054kpd4cz1m5gfnhrd"; }; }; - "https://repo1.maven.org/maven2/com/google/code/gson/gson-parent/2.7/gson-parent-2.7" = - { - host = repositories.maven; - path = - "com/google/code/gson/gson-parent/2.7/gson-parent-2.7"; - type = "jar"; - pom = { - sha1 = "3e147803ee87007ec82a1f625a0034be35c9b8a8"; - sha256 = "0ar7wk4zrdlb56jywsk6v3cpji8cjsi3kzmcr061yc12fdrqq7l7"; - }; - }; - "https://repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1" = - { - host = repositories.maven; - path = - "com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1"; - type = "jar"; - pom = { - sha1 = "3db400baff3182027a58d7e1984974949f96c2a7"; - sha256 = "1p0cg71dj6d3q60ch1q5mpma824f7jakwpapbnc5i2f4frp6wl1a"; - }; - jar = { - sha1 = "b716099bab8f2605aa3053824ece28f2b0ad1921"; - sha256 = "0wf1la6jsibrynrfsp2a7g2gx6f9q44v30qarm9m6x6xp31rg1n9"; - }; - }; - "https://repo1.maven.org/maven2/com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1" = - { - host = repositories.maven; - path = - "com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1"; - type = "jar"; - pom = { - sha1 = "5e902aae26ac5c36f6420f689f43333129dd69e2"; - sha256 = "10vzlnl8vbjv2jqf818wdb7kgy9c6qjka7fjmmi3vdpg1mcn6pv6"; - }; - jar = { - sha1 = "c9ad4a0850ab676c5c64461a05ca524cdfff59f1"; - sha256 = "170rflxnqnah0265ik2aylmxkshyqbf2zas9bp2l32xqj9l6jsaf"; - }; - }; "https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18" = { host = repositories.maven; @@ -445,6 +1600,61 @@ in { sha256 = "10by4ybrjnl8zwfg4ca74d0gcl4p9l7dzlfb9iwxw7m325xb2vfd"; }; }; + "https://repo1.maven.org/maven2/com/google/guava/guava-parent/17.0/guava-parent-17.0" = + { + host = repositories.maven; + path = + "com/google/guava/guava-parent/17.0/guava-parent-17.0"; + type = "jar"; + pom = { + sha1 = "f8ba48b925d1c925d0fc0379ffa14a06e44eb464"; + sha256 = "0ajka1xsh28sammy3zbx82mvxi3k19v5ks4x2xswglsiamc57flz"; + }; + }; + "https://repo1.maven.org/maven2/com/google/guava/guava-parent/18.0/guava-parent-18.0" = + { + host = repositories.maven; + path = + "com/google/guava/guava-parent/18.0/guava-parent-18.0"; + type = "jar"; + pom = { + sha1 = "5398932a9ef2828eb9fc4f01e8d6cac626c219d2"; + sha256 = "0rmia42xirzgk3r2h1syzs7n7ib1nv84yzh87yizcmz7jn4crb54"; + }; + }; + "https://repo1.maven.org/maven2/com/google/guava/guava-parent/19.0/guava-parent-19.0" = + { + host = repositories.maven; + path = + "com/google/guava/guava-parent/19.0/guava-parent-19.0"; + type = "jar"; + pom = { + sha1 = "21fa0d898121cc408c19b74e4305403c6cc45b23"; + sha256 = "041y3i7yjajiylka0p1w0lz0d78c8wmswjkfld6zf46zxi1zyxiv"; + }; + }; + "https://repo1.maven.org/maven2/com/google/guava/guava-parent/20.0/guava-parent-20.0" = + { + host = repositories.maven; + path = + "com/google/guava/guava-parent/20.0/guava-parent-20.0"; + type = "jar"; + pom = { + sha1 = "7ba07b80563d9b18c4d384600a6fc1792d7899dd"; + sha256 = "1w9dd5n0dsbl7br4gifb04d3m20xyc5sgprb4gbghan7gz86y8pi"; + }; + }; + "https://repo1.maven.org/maven2/com/google/guava/guava-parent/25.1-jre/guava-parent-25.1-jre" = + { + host = repositories.maven; + path = + "com/google/guava/guava-parent/25.1-jre/guava-parent-25.1-jre"; + type = "jar"; + pom = { + sha1 = "802065dc15ff936f7c040c339111793dafcf02f0"; + sha256 = "13lngz2c4hzrdmazkxx511ak8nyq0xcydf4qqpn7gz4vvii6glf0"; + }; + }; "https://repo1.maven.org/maven2/com/google/guava/guava/17.0/guava-17.0" = { host = repositories.maven; @@ -520,61 +1730,6 @@ in { sha256 = "1gqaqxdnxhr1gk9haldrifvda8ingj1s4bin5sf455y38jic7c3d"; }; }; - "https://repo1.maven.org/maven2/com/google/guava/guava-parent/17.0/guava-parent-17.0" = - { - host = repositories.maven; - path = - "com/google/guava/guava-parent/17.0/guava-parent-17.0"; - type = "jar"; - pom = { - sha1 = "f8ba48b925d1c925d0fc0379ffa14a06e44eb464"; - sha256 = "0ajka1xsh28sammy3zbx82mvxi3k19v5ks4x2xswglsiamc57flz"; - }; - }; - "https://repo1.maven.org/maven2/com/google/guava/guava-parent/18.0/guava-parent-18.0" = - { - host = repositories.maven; - path = - "com/google/guava/guava-parent/18.0/guava-parent-18.0"; - type = "jar"; - pom = { - sha1 = "5398932a9ef2828eb9fc4f01e8d6cac626c219d2"; - sha256 = "0rmia42xirzgk3r2h1syzs7n7ib1nv84yzh87yizcmz7jn4crb54"; - }; - }; - "https://repo1.maven.org/maven2/com/google/guava/guava-parent/19.0/guava-parent-19.0" = - { - host = repositories.maven; - path = - "com/google/guava/guava-parent/19.0/guava-parent-19.0"; - type = "jar"; - pom = { - sha1 = "21fa0d898121cc408c19b74e4305403c6cc45b23"; - sha256 = "041y3i7yjajiylka0p1w0lz0d78c8wmswjkfld6zf46zxi1zyxiv"; - }; - }; - "https://repo1.maven.org/maven2/com/google/guava/guava-parent/20.0/guava-parent-20.0" = - { - host = repositories.maven; - path = - "com/google/guava/guava-parent/20.0/guava-parent-20.0"; - type = "jar"; - pom = { - sha1 = "7ba07b80563d9b18c4d384600a6fc1792d7899dd"; - sha256 = "1w9dd5n0dsbl7br4gifb04d3m20xyc5sgprb4gbghan7gz86y8pi"; - }; - }; - "https://repo1.maven.org/maven2/com/google/guava/guava-parent/25.1-jre/guava-parent-25.1-jre" = - { - host = repositories.maven; - path = - "com/google/guava/guava-parent/25.1-jre/guava-parent-25.1-jre"; - type = "jar"; - pom = { - sha1 = "802065dc15ff936f7c040c339111793dafcf02f0"; - sha256 = "13lngz2c4hzrdmazkxx511ak8nyq0xcydf4qqpn7gz4vvii6glf0"; - }; - }; "https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1" = { host = repositories.maven; @@ -1036,17 +2191,6 @@ in { sha256 = "1b327vhrgkmszqra1cg4n10mndxla5b6ln3i30ayxnn7wmkwblrq"; }; }; - "https://repo1.maven.org/maven2/com/google/jsinterop/jsinterop/1.0.0/jsinterop-1.0.0" = - { - host = repositories.maven; - path = - "com/google/jsinterop/jsinterop/1.0.0/jsinterop-1.0.0"; - type = "jar"; - pom = { - sha1 = "62210407b811fc7a4fe5edcf17b83f39b1e2dc01"; - sha256 = "1f7rzx53sdgagx0bx6gzym5d6a7wh6fhxkkzwkd2m83cas010x5k"; - }; - }; "https://repo1.maven.org/maven2/com/google/jsinterop/jsinterop-annotations/1.0.0/jsinterop-annotations-1.0.0" = { host = repositories.maven; @@ -1062,6 +2206,17 @@ in { sha256 = "0m688mrv888fqszjnhhvv94pdfda3z61nr42sfinbywqxz7f1hg5"; }; }; + "https://repo1.maven.org/maven2/com/google/jsinterop/jsinterop/1.0.0/jsinterop-1.0.0" = + { + host = repositories.maven; + path = + "com/google/jsinterop/jsinterop/1.0.0/jsinterop-1.0.0"; + type = "jar"; + pom = { + sha1 = "62210407b811fc7a4fe5edcf17b83f39b1e2dc01"; + sha256 = "1f7rzx53sdgagx0bx6gzym5d6a7wh6fhxkkzwkd2m83cas010x5k"; + }; + }; "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0" = { host = repositories.maven; @@ -1103,6 +2258,17 @@ in { sha256 = "0vzi1wh9d2x5qvfys2yhnf9pzlrgrmhmyyc2n5jqljzccm60ayhk"; }; }; + "https://repo1.maven.org/maven2/com/google/truth/truth-parent/0.24/truth-parent-0.24" = + { + host = repositories.maven; + path = + "com/google/truth/truth-parent/0.24/truth-parent-0.24"; + type = "jar"; + pom = { + sha1 = "8f9907589a243fb3a610f55df12da1ae56709f4f"; + sha256 = "05m6hnqm0szsjhbncnpnnp3v8kcbgd48gsmi5z5x7lk27i6x1p9n"; + }; + }; "https://repo1.maven.org/maven2/com/google/truth/truth/0.24/truth-0.24" = { host = repositories.maven; @@ -1118,15 +2284,49 @@ in { sha256 = "1adv2cb5vbss4flx8q9z905nia031brnikk0szlryw7gkkxzj3pw"; }; }; - "https://repo1.maven.org/maven2/com/google/truth/truth-parent/0.24/truth-parent-0.24" = + "https://repo1.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1" = { host = repositories.maven; path = - "com/google/truth/truth-parent/0.24/truth-parent-0.24"; + "com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1"; type = "jar"; pom = { - sha1 = "8f9907589a243fb3a610f55df12da1ae56709f4f"; - sha256 = "05m6hnqm0szsjhbncnpnnp3v8kcbgd48gsmi5z5x7lk27i6x1p9n"; + sha1 = "3db400baff3182027a58d7e1984974949f96c2a7"; + sha256 = "1p0cg71dj6d3q60ch1q5mpma824f7jakwpapbnc5i2f4frp6wl1a"; + }; + jar = { + sha1 = "b716099bab8f2605aa3053824ece28f2b0ad1921"; + sha256 = "0wf1la6jsibrynrfsp2a7g2gx6f9q44v30qarm9m6x6xp31rg1n9"; + }; + }; + "https://repo1.maven.org/maven2/com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1" = + { + host = repositories.maven; + path = + "com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1"; + type = "jar"; + pom = { + sha1 = "5e902aae26ac5c36f6420f689f43333129dd69e2"; + sha256 = "10vzlnl8vbjv2jqf818wdb7kgy9c6qjka7fjmmi3vdpg1mcn6pv6"; + }; + jar = { + sha1 = "c9ad4a0850ab676c5c64461a05ca524cdfff59f1"; + sha256 = "170rflxnqnah0265ik2aylmxkshyqbf2zas9bp2l32xqj9l6jsaf"; + }; + }; + "https://repo1.maven.org/maven2/com/yahoo/platform/yui/yuicompressor/2.4.8/yuicompressor-2.4.8" = + { + host = repositories.maven; + path = + "com/yahoo/platform/yui/yuicompressor/2.4.8/yuicompressor-2.4.8"; + type = "jar"; + pom = { + sha1 = "99adc60ea87c167300edc7abb931d29980ab519e"; + sha256 = "15xkp1rsha6s5v39myfjdjig5jpbljph1n3crwvzysxqbh91iz2c"; + }; + jar = { + sha1 = "900a7296bb52d740418d53274c1ecac5c83c760e"; + sha256 = "1lhkv2s2m05r611j9lhh38s0dpdng9pllvqxhh4ssk54w4ppq3cq"; }; }; "https://repo1.maven.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10" = @@ -1234,21 +2434,6 @@ in { sha256 = "0x1la4i7s3l8q763csfrw4b8gl5vzj79h7fb1ih6hj93ils1h151"; }; }; - "https://repo1.maven.org/maven2/com/yahoo/platform/yui/yuicompressor/2.4.8/yuicompressor-2.4.8" = - { - host = repositories.maven; - path = - "com/yahoo/platform/yui/yuicompressor/2.4.8/yuicompressor-2.4.8"; - type = "jar"; - pom = { - sha1 = "99adc60ea87c167300edc7abb931d29980ab519e"; - sha256 = "15xkp1rsha6s5v39myfjdjig5jpbljph1n3crwvzysxqbh91iz2c"; - }; - jar = { - sha1 = "900a7296bb52d740418d53274c1ecac5c83c760e"; - sha256 = "1lhkv2s2m05r611j9lhh38s0dpdng9pllvqxhh4ssk54w4ppq3cq"; - }; - }; "https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5" = { host = repositories.maven; @@ -1625,21 +2810,6 @@ in { sha256 = "1a30sdpn1rr50w7qfz6pn3z5i43fjq3z9qm1aa4cd9piwhgpy6h6"; }; }; - "https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0/clojure-1.9.0" = - { - host = repositories.maven; - path = - "org/clojure/clojure/1.9.0/clojure-1.9.0"; - type = "jar"; - pom = { - sha1 = "3e3c74ab40e039ca235d2ace901932dcda5a704d"; - sha256 = "02zwmxzkkx8pfbrj087fxz7y0r58kn59d79n1q0m5zgad2h6yzi8"; - }; - jar = { - sha1 = "09ee19f88152373323b8af7be35de5aa6c0c4b2b"; - sha256 = "1ys39qjbkl5jlqwzqxppiilaph56jw4jq46w93xlfg3nwrhq44kp"; - }; - }; "https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0-RC1/clojure-1.9.0-RC1" = { host = repositories.maven; @@ -1655,6 +2825,21 @@ in { sha256 = "01nnfjsbfssvm0i7ka33qmsgxl4j5lnbrsycgpd926w3c5dz35kz"; }; }; + "https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0/clojure-1.9.0" = + { + host = repositories.maven; + path = + "org/clojure/clojure/1.9.0/clojure-1.9.0"; + type = "jar"; + pom = { + sha1 = "3e3c74ab40e039ca235d2ace901932dcda5a704d"; + sha256 = "02zwmxzkkx8pfbrj087fxz7y0r58kn59d79n1q0m5zgad2h6yzi8"; + }; + jar = { + sha1 = "09ee19f88152373323b8af7be35de5aa6c0c4b2b"; + sha256 = "1ys39qjbkl5jlqwzqxppiilaph56jw4jq46w93xlfg3nwrhq44kp"; + }; + }; "https://repo1.maven.org/maven2/org/clojure/clojurescript/0.0-3211/clojurescript-0.0-3211" = { host = repositories.maven; @@ -1940,96 +3125,6 @@ in { sha256 = "0yqcxi79xvjmr5i2dkq2l9c6h8x0xsqg7zj45shn54n2mw3pah38"; }; }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20140718-946a7d39/google-closure-library-0.0-20140718-946a7d39" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20140718-946a7d39/google-closure-library-0.0-20140718-946a7d39"; - type = "jar"; - pom = { - sha1 = "d23caa1fedbafd70f742c94c3573c3dda08b52b9"; - sha256 = "0n4s85kmkklw7mkc31lr7iklwyn5bywsnwl3dpa1mz49jgmn1hnd"; - }; - jar = { - sha1 = "bc1127c9432ef876b813911f0333841e7076cab3"; - sha256 = "12yvwlcdg0djcddy7c7ck2bdczmfs25sf0njcj38r48pn4icry13"; - }; - }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20151016-61277aea/google-closure-library-0.0-20151016-61277aea" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20151016-61277aea/google-closure-library-0.0-20151016-61277aea"; - type = "jar"; - pom = { - sha1 = "d70932bd3fc0d41c58769fdd2c4691ffe54a8bbe"; - sha256 = "1ifclhc3fj26izcicq9q0dljb4wp0g9k4wzg0syiynnvgklrih71"; - }; - jar = { - sha1 = "b0693cbca3c96f464e6949c1a21cd8508d46b413"; - sha256 = "0v2mxg4vd58pzvdqypr4nkmaizk0fy55z10njr0ng0hrkcwp2z99"; - }; - }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20160609-f42b4a24/google-closure-library-0.0-20160609-f42b4a24" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20160609-f42b4a24/google-closure-library-0.0-20160609-f42b4a24"; - type = "jar"; - pom = { - sha1 = "37f91f62279a48607153dfc435017398dde79fd0"; - sha256 = "0rpp5ksss6z7g0p5wgddpiny70jhg75v2mxy6asihc6v8k4xnfjh"; - }; - jar = { - sha1 = "f5585ba44bdd8981eeaf24dfd7a16921f9278b8d"; - sha256 = "0ng60nf8fimnqmsp62pjgrqxfqv2m00qpzp6l7b3qhzibwgki18j"; - }; - }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20170519-fa0499ef/google-closure-library-0.0-20170519-fa0499ef" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20170519-fa0499ef/google-closure-library-0.0-20170519-fa0499ef"; - type = "jar"; - pom = { - sha1 = "4720292600cf48ae2ab5e5423c16ed99372a2c09"; - sha256 = "0w1zjcxx3d895kw7zaw6j6d0f9c0g5r5ykrqam8qpmpz1sslw6hg"; - }; - jar = { - sha1 = "a9060227c711e90c0564bfeab93570ee5aa839bf"; - sha256 = "00yxra6506kp58x86a88jn9sy4dr8w974daa7xrni5whafyyrgn0"; - }; - }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20170809-b9c14c6b/google-closure-library-0.0-20170809-b9c14c6b" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20170809-b9c14c6b/google-closure-library-0.0-20170809-b9c14c6b"; - type = "jar"; - pom = { - sha1 = "510dfb3555ebbda9f8f08a05f93a71be2a96888b"; - sha256 = "09p3a4y462a4nqi58hklbm1xzcxi61snynqldiqak2c6m8rw0awn"; - }; - jar = { - sha1 = "620e5075dd3d8f12742a47fc80eaf4c6682b4343"; - sha256 = "02glny62gdqq7bf8xzfvkd7wm9idjpqix4zf2pnqpbp3bxdx3jc1"; - }; - }; - "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9" = - { - host = repositories.maven; - path = - "org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9"; - type = "jar"; - pom = { - sha1 = "d38f2cdfc2f40c2fe9cc9c63763260b22469b511"; - sha256 = "1ldqr4hkmvrdl9aqklmyy3d3sbm9mmhnnbnsj7wn6ha5cgka0929"; - }; - jar = { - sha1 = "a1097a8a3353f0ef585ba7aa6caa68d8834254e1"; - sha256 = "1c1xl1bb2l1h6vbgqa25knd8ndbv159pakgjb04s2pripl3drpy8"; - }; - }; "https://repo1.maven.org/maven2/org/clojure/google-closure-library-third-party/0.0-20140718-946a7d39/google-closure-library-third-party-0.0-20140718-946a7d39" = { host = repositories.maven; @@ -2120,6 +3215,96 @@ in { sha256 = "1sg09m1siylp159w0z4p9wmxb8bqvkvymcr3yff1fk705knhhjnw"; }; }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20140718-946a7d39/google-closure-library-0.0-20140718-946a7d39" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20140718-946a7d39/google-closure-library-0.0-20140718-946a7d39"; + type = "jar"; + pom = { + sha1 = "d23caa1fedbafd70f742c94c3573c3dda08b52b9"; + sha256 = "0n4s85kmkklw7mkc31lr7iklwyn5bywsnwl3dpa1mz49jgmn1hnd"; + }; + jar = { + sha1 = "bc1127c9432ef876b813911f0333841e7076cab3"; + sha256 = "12yvwlcdg0djcddy7c7ck2bdczmfs25sf0njcj38r48pn4icry13"; + }; + }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20151016-61277aea/google-closure-library-0.0-20151016-61277aea" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20151016-61277aea/google-closure-library-0.0-20151016-61277aea"; + type = "jar"; + pom = { + sha1 = "d70932bd3fc0d41c58769fdd2c4691ffe54a8bbe"; + sha256 = "1ifclhc3fj26izcicq9q0dljb4wp0g9k4wzg0syiynnvgklrih71"; + }; + jar = { + sha1 = "b0693cbca3c96f464e6949c1a21cd8508d46b413"; + sha256 = "0v2mxg4vd58pzvdqypr4nkmaizk0fy55z10njr0ng0hrkcwp2z99"; + }; + }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20160609-f42b4a24/google-closure-library-0.0-20160609-f42b4a24" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20160609-f42b4a24/google-closure-library-0.0-20160609-f42b4a24"; + type = "jar"; + pom = { + sha1 = "37f91f62279a48607153dfc435017398dde79fd0"; + sha256 = "0rpp5ksss6z7g0p5wgddpiny70jhg75v2mxy6asihc6v8k4xnfjh"; + }; + jar = { + sha1 = "f5585ba44bdd8981eeaf24dfd7a16921f9278b8d"; + sha256 = "0ng60nf8fimnqmsp62pjgrqxfqv2m00qpzp6l7b3qhzibwgki18j"; + }; + }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20170519-fa0499ef/google-closure-library-0.0-20170519-fa0499ef" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20170519-fa0499ef/google-closure-library-0.0-20170519-fa0499ef"; + type = "jar"; + pom = { + sha1 = "4720292600cf48ae2ab5e5423c16ed99372a2c09"; + sha256 = "0w1zjcxx3d895kw7zaw6j6d0f9c0g5r5ykrqam8qpmpz1sslw6hg"; + }; + jar = { + sha1 = "a9060227c711e90c0564bfeab93570ee5aa839bf"; + sha256 = "00yxra6506kp58x86a88jn9sy4dr8w974daa7xrni5whafyyrgn0"; + }; + }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20170809-b9c14c6b/google-closure-library-0.0-20170809-b9c14c6b" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20170809-b9c14c6b/google-closure-library-0.0-20170809-b9c14c6b"; + type = "jar"; + pom = { + sha1 = "510dfb3555ebbda9f8f08a05f93a71be2a96888b"; + sha256 = "09p3a4y462a4nqi58hklbm1xzcxi61snynqldiqak2c6m8rw0awn"; + }; + jar = { + sha1 = "620e5075dd3d8f12742a47fc80eaf4c6682b4343"; + sha256 = "02glny62gdqq7bf8xzfvkd7wm9idjpqix4zf2pnqpbp3bxdx3jc1"; + }; + }; + "https://repo1.maven.org/maven2/org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9" = + { + host = repositories.maven; + path = + "org/clojure/google-closure-library/0.0-20190213-2033d5d9/google-closure-library-0.0-20190213-2033d5d9"; + type = "jar"; + pom = { + sha1 = "d38f2cdfc2f40c2fe9cc9c63763260b22469b511"; + sha256 = "1ldqr4hkmvrdl9aqklmyy3d3sbm9mmhnnbnsj7wn6ha5cgka0929"; + }; + jar = { + sha1 = "a1097a8a3353f0ef585ba7aa6caa68d8834254e1"; + sha256 = "1c1xl1bb2l1h6vbgqa25knd8ndbv159pakgjb04s2pripl3drpy8"; + }; + }; "https://repo1.maven.org/maven2/org/clojure/pom.contrib/0.1.2/pom.contrib-0.1.2" = { host = repositories.maven; @@ -2183,21 +3368,6 @@ in { sha256 = "1i3chggca910ln6h59ns17p454rpw55ffl6hgymx5p9lzzn9ckpw"; }; }; - "https://repo1.maven.org/maven2/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9" = - { - host = repositories.maven; - path = - "org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9"; - type = "jar"; - pom = { - sha1 = "d4a89aca74c79bce38710f79bd342ff1b7553aed"; - sha256 = "1yl5q79aw8mhxi4w5zh3ad9q8l0fqhgba86wk50hcaiv5w990fwq"; - }; - jar = { - sha1 = "d16179b3993357015b306c34f2694c69cff93eb1"; - sha256 = "1cs6l541bpipwyd3mzm7xi0qw67hxniv4kacsb7c639jn75nbydk"; - }; - }; "https://repo1.maven.org/maven2/org/clojure/tools.analyzer.jvm/0.6.10/tools.analyzer.jvm-0.6.10" = { host = repositories.maven; @@ -2228,6 +3398,21 @@ in { sha256 = "1s935mgzxfvaxyj4phf4lzqdp0b5bkiarxnb6ip1rk8anrdcapyd"; }; }; + "https://repo1.maven.org/maven2/org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9" = + { + host = repositories.maven; + path = + "org/clojure/tools.analyzer/0.6.9/tools.analyzer-0.6.9"; + type = "jar"; + pom = { + sha1 = "d4a89aca74c79bce38710f79bd342ff1b7553aed"; + sha256 = "1yl5q79aw8mhxi4w5zh3ad9q8l0fqhgba86wk50hcaiv5w990fwq"; + }; + jar = { + sha1 = "d16179b3993357015b306c34f2694c69cff93eb1"; + sha256 = "1cs6l541bpipwyd3mzm7xi0qw67hxniv4kacsb7c639jn75nbydk"; + }; + }; "https://repo1.maven.org/maven2/org/clojure/tools.logging/0.3.1/tools.logging-0.3.1" = { host = repositories.maven; @@ -2735,1204 +3920,4 @@ in { sha256 = "0yl2hbwz2kn1hll1i00ddzn8f89bfdcjwdifz0pj2j15k1gjch7v"; }; }; - "https://repo.clojars.org/binaryage/devtools/0.9.10/devtools-0.9.10" = - { - host = repositories.clojars; - path = - "binaryage/devtools/0.9.10/devtools-0.9.10"; - type = "jar"; - pom = { - sha1 = "faad859cbbc8d004b1fbceb634db246cc52b18f7"; - sha256 = "166nv38z5y2hifh1jjnybzfsfi6d7wsc0sdz7sflwwwjwlvnwnpy"; - }; - jar = { - sha1 = "7a340dde53603f246ceb79081e0ca70c0ed5d996"; - sha256 = "05xlaf8pf5xvqaaxjwcmmfm1q8fq8fiz1hwlwnwfkmnryib19syp"; - }; - }; - "https://repo.clojars.org/binaryage/env-config/0.2.2/env-config-0.2.2" = - { - host = repositories.clojars; - path = - "binaryage/env-config/0.2.2/env-config-0.2.2"; - type = "jar"; - pom = { - sha1 = "8a8f0d726bb150b074dbaa92da5470f6144adb76"; - sha256 = "07x1a046xcg9bbzwwgls8i036lzryv5ix29c8m0hf3pp742xa49v"; - }; - jar = { - sha1 = "ac36173f1802a5d7225be41faebedbf12949ae59"; - sha256 = "11j1bls84d8hn8gviawvxkbbnb0hcg1lvw6qqcjj356ap6xzxfic"; - }; - }; - "https://repo.clojars.org/cljfmt/cljfmt/0.5.7/cljfmt-0.5.7" = - { - host = repositories.clojars; - path = - "cljfmt/cljfmt/0.5.7/cljfmt-0.5.7"; - type = "jar"; - pom = { - sha1 = "3e368e434c19c97811ec501226ade1089c81d199"; - sha256 = "1djm9wiq96ghd2v697m8vwkxxfv9js7168y5xclmsbhgxgp43wh4"; - }; - jar = { - sha1 = "f6bf9e4e21c824fafe19a67e3001e38c6d98c18f"; - sha256 = "0302s3kyc2p1rbrq58dqhjinq46i6rcivn7afk0lkd213dpnxr1b"; - }; - }; - "https://repo.clojars.org/cljs-bean/cljs-bean/1.3.0/cljs-bean-1.3.0" = - { - host = repositories.clojars; - path = - "cljs-bean/cljs-bean/1.3.0/cljs-bean-1.3.0"; - type = "jar"; - pom = { - sha1 = "2920ec4ae47eaa47c8a8aeecb4670a42cd412aab"; - sha256 = "0xamxny72ymyjfnmzjbnxfc0b19rbbzsmxgm6x2d5z2fbsgv3hz7"; - }; - jar = { - sha1 = "eef0aae8057df9c538bf009fd82766d5e86848c7"; - sha256 = "0c6wlpyc1k5aavw5dixllycdnmr64rrhpc4q57wfyfymixz87d7w"; - }; - }; - "https://repo.clojars.org/cljsbuild/cljsbuild/1.1.7/cljsbuild-1.1.7" = - { - host = repositories.clojars; - path = - "cljsbuild/cljsbuild/1.1.7/cljsbuild-1.1.7"; - type = "jar"; - pom = { - sha1 = "16ffd768ec441b967b533aac54c221bd49636bee"; - sha256 = "0bsnlcwv1mg5rc1ga7df3arjkhl23p39vjxjn06lvka7z0gj8azn"; - }; - jar = { - sha1 = "b83ee61540c18c694dee53edd8b53354e560c260"; - sha256 = "0xj9k8n3b31aavlf3fdrbqjflkdmqlvl34fz7s1iv8ff0kvb3aa6"; - }; - }; - "https://repo.clojars.org/cljsjs/create-react-class/15.5.3-0/create-react-class-15.5.3-0" = - { - host = repositories.clojars; - path = - "cljsjs/create-react-class/15.5.3-0/create-react-class-15.5.3-0"; - type = "jar"; - pom = { - sha1 = "e5573c52881879c656158b260d7c58ae32d74095"; - sha256 = "04ig36rbznyn77nzfliklvnh7l0k4sf11c4ihdyi0jj2vmq4malb"; - }; - jar = { - sha1 = "2e22539e6c2cef6aae9b3df7f05e55c59ad92102"; - sha256 = "1mvzyg2cwzq5an6h17qn0wad2vl70cn0mszds7kvsin920mf9rzy"; - }; - }; - "https://repo.clojars.org/cljsjs/highlight/9.6.0-0/highlight-9.6.0-0" = - { - host = repositories.clojars; - path = - "cljsjs/highlight/9.6.0-0/highlight-9.6.0-0"; - type = "jar"; - pom = { - sha1 = "d625f79b4598015cba3f2db3f34aa13ade142e22"; - sha256 = "0pkfxmqy2vq0y2wqjagp2y1wysrd9vxp81q5vj5851v04qd2izx0"; - }; - jar = { - sha1 = "bae98bcc3b252f6894f3f3ba74a3b335a91faf53"; - sha256 = "12f7ng70xlacznv8c3i3sh0dpz41aal5y270bsj5qjxh1y00mqpc"; - }; - }; - "https://repo.clojars.org/cljsjs/prop-types/15.6.0-0/prop-types-15.6.0-0" = - { - host = repositories.clojars; - path = - "cljsjs/prop-types/15.6.0-0/prop-types-15.6.0-0"; - type = "jar"; - pom = { - sha1 = "91b9fb5b780b66fedc42be8be477206c97ad3709"; - sha256 = "0q674ybnkkmfzvzaciy5kg7jlnwwz36aaq65r8vz0k3qwxs957cd"; - }; - jar = { - sha1 = "9ed805014d0aae261b389721e76facecef72a970"; - sha256 = "1sc7a517avw464nabmnqcwhf8vja28j01nhxamscy8lgb2mahkdl"; - }; - }; - "https://repo.clojars.org/cljsjs/react/15.2.1-0/react-15.2.1-0" = - { - host = repositories.clojars; - path = - "cljsjs/react/15.2.1-0/react-15.2.1-0"; - type = "jar"; - pom = { - sha1 = "2f3e6f6fdee7f18d845cec629f42d52cede174db"; - sha256 = "0k0b180rfz44mxs8gaaz1bkvx76lksls2hd6sxndj9vxg709fdqb"; - }; - jar = { - sha1 = "1eec9152ffaef3610623f81b7838dc0bb0a10d25"; - sha256 = "1v41lbaxwb9pvr1cxkw6hs8c40ga4x115jw4d97qi0rjj4lf1grq"; - }; - }; - "https://repo.clojars.org/cljsjs/react/15.5.4-0/react-15.5.4-0" = - { - host = repositories.clojars; - path = - "cljsjs/react/15.5.4-0/react-15.5.4-0"; - type = "jar"; - pom = { - sha1 = "7f8a71d7e3f56c6adfef75dc013ae3593386e135"; - sha256 = "0y96ndrsyv7il926n53znsqkglm6f7b3ck361wivbr1p55vsh8v5"; - }; - jar = { - sha1 = "1e9d79309e0aaa2c5da4470daab66776e74610e0"; - sha256 = "18p6bdmv09rkf9dg396770fb8h889132963233bd8bc2fs3knv6c"; - }; - }; - "https://repo.clojars.org/cljsjs/react-dom/15.2.1-0/react-dom-15.2.1-0" = - { - host = repositories.clojars; - path = - "cljsjs/react-dom/15.2.1-0/react-dom-15.2.1-0"; - type = "jar"; - pom = { - sha1 = "637a50afa14d06c647f94a90b73fffca98a34aba"; - sha256 = "199nynjdvm2p789y7ms88y5plba9lp2nhx18xg63wy6g235r00f3"; - }; - jar = { - sha1 = "3983d1efcf168959e9575f1a64882d173a442a25"; - sha256 = "18dvzga66fnxhn5x9clqpmfhknm7h7jpn2xj5dh1slv4k2z9dhq8"; - }; - }; - "https://repo.clojars.org/cljsjs/react-dom/15.5.4-0/react-dom-15.5.4-0" = - { - host = repositories.clojars; - path = - "cljsjs/react-dom/15.5.4-0/react-dom-15.5.4-0"; - type = "jar"; - pom = { - sha1 = "4942103fbc65a2fb595d44b0f03e725bc5933815"; - sha256 = "1d9l3zyaic0kx5pa85zhbw9k137ldp5adqaj137x7hxr7j0rpnbb"; - }; - jar = { - sha1 = "a07113da072d94d9a6c15cc7ae8307950bcaeb1f"; - sha256 = "1qn5ycr9vsbbvq06clliwf89sk2838q6i86k35k2ghvvjwiwaxwl"; - }; - }; - "https://repo.clojars.org/cljsjs/react-dom-server/15.2.1-0/react-dom-server-15.2.1-0" = - { - host = repositories.clojars; - path = - "cljsjs/react-dom-server/15.2.1-0/react-dom-server-15.2.1-0"; - type = "jar"; - pom = { - sha1 = "47054f02ecfa8c80404de01e253de975dece45f6"; - sha256 = "1vm9wgzjp8mimgjjfazr68p22nj1vdsnqq6rxrsw9s5gz0rmg6a3"; - }; - jar = { - sha1 = "d7b36527ad1d47113b83d0714636ffbca6cdb63e"; - sha256 = "0j778j1gxn7j8ih497r7k6mwdych4p9li8ag6abig8lmk0bfpb5i"; - }; - }; - "https://repo.clojars.org/cljsjs/react-dom-server/15.5.4-0/react-dom-server-15.5.4-0" = - { - host = repositories.clojars; - path = - "cljsjs/react-dom-server/15.5.4-0/react-dom-server-15.5.4-0"; - type = "jar"; - pom = { - sha1 = "5ab1fe74d65fb0573b32abcf853bb8fadfb19d6e"; - sha256 = "001jks8kqbnj0dzx1x6qjgrsggp0hc8iibg3k68jjhxxphplcfbz"; - }; - jar = { - sha1 = "c9e320aa9b53a37c100f966d18f58802ed56a0d4"; - sha256 = "0av92sbdwadig50b1ljxy7n3rvpk2hy3c67rh57vqfc4jids6ank"; - }; - }; - "https://repo.clojars.org/cljsjs/react-flip-move/2.9.17-0/react-flip-move-2.9.17-0" = - { - host = repositories.clojars; - path = - "cljsjs/react-flip-move/2.9.17-0/react-flip-move-2.9.17-0"; - type = "jar"; - pom = { - sha1 = "099f6ebffe903c5eecd8e89a3de31d236f35cc8a"; - sha256 = "03yjx0j8hsf91psmisqxjzjh72jfzfx46cx0l6d5sbjbbk2454f3"; - }; - jar = { - sha1 = "28d60228d98d349104ae677d690fe8ed5f6212e9"; - sha256 = "0iwq6dwdyjaf6vhviv0vnyps5vly14vk5zcgkwx7z4hd0q4r5vhm"; - }; - }; - "https://repo.clojars.org/cljsjs/react-highlight/1.0.7-1/react-highlight-1.0.7-1" = - { - host = repositories.clojars; - path = - "cljsjs/react-highlight/1.0.7-1/react-highlight-1.0.7-1"; - type = "jar"; - pom = { - sha1 = "b226fa8557474d2696dab1d82c6fa35a8e9a748a"; - sha256 = "11snz3jn3salyn989gm00zq8s4fwskjrg31c63c21rb05b5wdvpr"; - }; - jar = { - sha1 = "1ca27cb92428584b96929e92175874b6cfc6baa6"; - sha256 = "1ppylfkkxxnpqb6khd6nj3dn8l0kwk671k11ncw3j6ncmn7ysxfr"; - }; - }; - "https://repo.clojars.org/clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5" = - { - host = repositories.clojars; - path = - "clj-stacktrace/clj-stacktrace/0.2.5/clj-stacktrace-0.2.5"; - type = "jar"; - pom = { - sha1 = "c4d8726888bedd0ff415f1a90eb326edc0772d84"; - sha256 = "00wvqa548pmfhkbkf8lx7325pmgqxdm8jmk8ph76w3gwlkwalpqn"; - }; - jar = { - sha1 = "1d811ed4a7eeee8ffe08e140eddb38429f4e6cdd"; - sha256 = "1h4wc8iw87cqp20l1wfkh7kxa1ik64ybdw5zh97wxhcsa7bchhzg"; - }; - }; - "https://repo.clojars.org/clj-time/clj-time/0.11.0/clj-time-0.11.0" = - { - host = repositories.clojars; - path = - "clj-time/clj-time/0.11.0/clj-time-0.11.0"; - type = "jar"; - pom = { - sha1 = "7659f6919759c1c7a41eddd09fe108d39656d965"; - sha256 = "0yaibpy2caf3dj9z23f0acd2ai245zhhibsifm2058nj2mkpzd0a"; - }; - jar = { - sha1 = "04461c7c89d96d32cf25f6674576f62aecf2ab05"; - sha256 = "0x3sxp5b7dsq5qbsbkhjazk2fzg6iyddwk3p7v4fr063nhlgwx2s"; - }; - }; - "https://repo.clojars.org/clj-time/clj-time/0.6.0/clj-time-0.6.0" = - { - host = repositories.clojars; - path = - "clj-time/clj-time/0.6.0/clj-time-0.6.0"; - type = "jar"; - pom = { - sha1 = "09b7a8e6f0b71ba43ac66c07910c03e5dac10eb3"; - sha256 = "1jpmdc889mfj22mwga5bl8hxfqnsbv0151qcgbszjnknx35bsm4l"; - }; - jar = { - sha1 = "a922fbc265cf1e8fc01f811b6f7e106f85172cc3"; - sha256 = "1bipx3rdm473v7v03qxjqqvshbikj5786w1x9sd1in3wjfb115cf"; - }; - }; - "https://repo.clojars.org/clj-time/clj-time/0.9.0/clj-time-0.9.0" = - { - host = repositories.clojars; - path = - "clj-time/clj-time/0.9.0/clj-time-0.9.0"; - type = "jar"; - pom = { - sha1 = "bc847a283f8f95ae32c5e5679ef6a3a96d7da595"; - sha256 = "033cynzp6yll05byhz9p0q7zwfii7b074a5qbv56278gxyrp8bmf"; - }; - jar = { - sha1 = "e276b52745750ae4548cd7239cd9a4f338843dd7"; - sha256 = "0mknvi2sn6i7pbn81xyvrbf9xbi65ymv4aavyw24hd4yniim0sbq"; - }; - }; - "https://repo.clojars.org/clout/clout/2.1.2/clout-2.1.2" = - { - host = repositories.clojars; - path = - "clout/clout/2.1.2/clout-2.1.2"; - type = "jar"; - pom = { - sha1 = "2c8aec1449373bfc2e7651b454104e4dc8d70168"; - sha256 = "1kphwll940nz53cjnfc9jlwxzbd0dkpzjfs5jaxrl4q95l0d845x"; - }; - jar = { - sha1 = "87cc1bd24ec39a8572e66103039955d7570ce077"; - sha256 = "1y3pp542ml5za3iyc5szqh2xn65dqmd8d6621mznmzg8bng1yscx"; - }; - }; - "https://repo.clojars.org/com/andrewmcveigh/cljs-time/0.4.0/cljs-time-0.4.0" = - { - host = repositories.clojars; - path = - "com/andrewmcveigh/cljs-time/0.4.0/cljs-time-0.4.0"; - type = "jar"; - pom = { - sha1 = "7c88ae083dbbd6f3e331453995b3e929cf4039ae"; - sha256 = "0ifj0kfvldy2ryk22v1mb739ijhzh1hmpnavkanhv2b3affdfvbv"; - }; - jar = { - sha1 = "5bd82832d01d7377fe0506d3773474c9a7718989"; - sha256 = "11gcnxsqi1f2lj0k8jc3la117qi2v1blf54xx1w3yfq7qb4yc73k"; - }; - }; - "https://repo.clojars.org/com/andrewmcveigh/cljs-time/0.5.2/cljs-time-0.5.2" = - { - host = repositories.clojars; - path = - "com/andrewmcveigh/cljs-time/0.5.2/cljs-time-0.5.2"; - type = "jar"; - pom = { - sha1 = "21a75819b0540486c66a48bd9119201c368221ba"; - sha256 = "035awyqyifbgn28faz0q90hm66vngdcl9x6jgbmkh5zjnp1xmpfi"; - }; - jar = { - sha1 = "7d4274be169f54a03d4afcc40ea95f40d44ca0a2"; - sha256 = "061cjh2a6qpkib5v5mdrsbwhvcbqvh1igvp3b7jhcfj05pgplm1x"; - }; - }; - "https://repo.clojars.org/compojure/compojure/1.5.2/compojure-1.5.2" = - { - host = repositories.clojars; - path = - "compojure/compojure/1.5.2/compojure-1.5.2"; - type = "jar"; - pom = { - sha1 = "9e8da477b6682094d56802cb155291a2acb829bd"; - sha256 = "036z64iprypccz03iq7lqxvw99xjh4xlsfmfwbs37pmhfnfmbdnx"; - }; - jar = { - sha1 = "0b5258d0616ffc5f64c2b6d95f09de56d24df439"; - sha256 = "1s2k05lwnlm9a66mxnsss437i9gp70dny8y2rlfkl090s6mdqsaf"; - }; - }; - "https://repo.clojars.org/com/taoensso/encore/2.79.1/encore-2.79.1" = - { - host = repositories.clojars; - path = - "com/taoensso/encore/2.79.1/encore-2.79.1"; - type = "jar"; - pom = { - sha1 = "fba62b0e3f1c9db8bdf19da316b53fe8e236c27f"; - sha256 = "1xffbp873vnhjad04lrc0gkrkmgyh8gcaqqzi03an6x7hbxpmvgp"; - }; - jar = { - sha1 = "82316444a66ea47642c6cca7800074eb468fe7f0"; - sha256 = "1afd604khns0rwb3xwxdfnl1ql8yzzsjm4rlq4id2f6awjrzxkm3"; - }; - }; - "https://repo.clojars.org/com/taoensso/encore/2.84.2/encore-2.84.2" = - { - host = repositories.clojars; - path = - "com/taoensso/encore/2.84.2/encore-2.84.2"; - type = "jar"; - pom = { - sha1 = "e9919d6d9fd8ee31da73b60f462651865e3064e1"; - sha256 = "0aga6s6d79lv62dhxjz87n3mbnz3hay75j7dfj266ip4hgnasvx1"; - }; - jar = { - sha1 = "443bfd382a5d87662a6f06db4cc8af4dfff50401"; - sha256 = "12f6fw32y4sj8k65qcnds30syklp96h6q179hq3l5dfnxd3yj46j"; - }; - }; - "https://repo.clojars.org/com/taoensso/encore/2.91.0/encore-2.91.0" = - { - host = repositories.clojars; - path = - "com/taoensso/encore/2.91.0/encore-2.91.0"; - type = "jar"; - pom = { - sha1 = "17b8d661cb1d3f14434af9934e1b5bf35dedf922"; - sha256 = "17g1sihagxmv33f8fs40dhw5ni3d25iwj7ipivfj4yzldqaifxz6"; - }; - jar = { - sha1 = "b3763f399395938eb66f0b125f8d9559976bf168"; - sha256 = "1a051xqn2k4gjnb9lvs6ma3qwdx14vqnq32z7qpqda6h3cyymvq5"; - }; - }; - "https://repo.clojars.org/com/taoensso/encore/2.94.0/encore-2.94.0" = - { - host = repositories.clojars; - path = - "com/taoensso/encore/2.94.0/encore-2.94.0"; - type = "jar"; - pom = { - sha1 = "73fed0c1c6bb76edf667bda84322dd41e478615c"; - sha256 = "1d87b3g6lpr6nnvyhlsx3zw6wm1ccmh3lqzi13q4y34cp0grcmdf"; - }; - jar = { - sha1 = "753c6e5510eaa9794d0bb092dd7c1f2f862a80e8"; - sha256 = "172f96w54311ckj6grs9kz0ddxgdqgdngqmzjg77qw5r3rsixyyh"; - }; - }; - "https://repo.clojars.org/com/taoensso/sente/1.11.0/sente-1.11.0" = - { - host = repositories.clojars; - path = - "com/taoensso/sente/1.11.0/sente-1.11.0"; - type = "jar"; - pom = { - sha1 = "64d73d8eed84074079d4a151575a78315a5045a7"; - sha256 = "07rkp2kimq5azpq88zfpvgzja8qcbi655a7s707hyhpvxkm29lkg"; - }; - jar = { - sha1 = "697acd708293e43d320f3048cdc0dfb46ddfecb1"; - sha256 = "02zlz3axsgh4x55hjz6gyabf9sxg28hywjs7q2n3cn6r98wivaz9"; - }; - }; - "https://repo.clojars.org/com/taoensso/timbre/4.7.4/timbre-4.7.4" = - { - host = repositories.clojars; - path = - "com/taoensso/timbre/4.7.4/timbre-4.7.4"; - type = "jar"; - pom = { - sha1 = "35b6fe994c66dcdbb16e0d5cd4fd92073a57ec50"; - sha256 = "165dz5mr8an8msc9hqgx79x8knkm57c685bc03b3sljr1x3b6j33"; - }; - jar = { - sha1 = "f3da3c2bdfc6f8db97004481dc340c41934c2082"; - sha256 = "1dzkqaj29ssspkphmnjqmnhq8w0pbfyh6i5fmpdk6ld93x6xnqam"; - }; - }; - "https://repo.clojars.org/com/taoensso/truss/1.3.5/truss-1.3.5" = - { - host = repositories.clojars; - path = - "com/taoensso/truss/1.3.5/truss-1.3.5"; - type = "jar"; - pom = { - sha1 = "9f45822ed0f8d1730b9165f2790659000e68c674"; - sha256 = "0n6p5hh7dj8jliqncp7ssymwygyyp6j9v8npvs777caa5n9idd9k"; - }; - jar = { - sha1 = "0f20a23062a6edcbd07b8d71363e6423abcfb742"; - sha256 = "0gpbpx65hkym6nz7x64nlqci9q6xrhfks8ik8rcrmcphy1khkqbr"; - }; - }; - "https://repo.clojars.org/com/taoensso/truss/1.3.6/truss-1.3.6" = - { - host = repositories.clojars; - path = - "com/taoensso/truss/1.3.6/truss-1.3.6"; - type = "jar"; - pom = { - sha1 = "addac012d81021995b31d6053bb4cfbb4f06f764"; - sha256 = "1ksknhx101vrzir6r7mmxq46w82zck9gp7idyhl8x91xmzh1jng2"; - }; - jar = { - sha1 = "c8f5ca5834f407b535d02813c6d2ba66b95da23b"; - sha256 = "18jwpm98vvijwvkz5wq44la2f4q23xfjh8lc36gc0p34snxr9r8y"; - }; - }; - "https://repo.clojars.org/com/taoensso/truss/1.5.0/truss-1.5.0" = - { - host = repositories.clojars; - path = - "com/taoensso/truss/1.5.0/truss-1.5.0"; - type = "jar"; - pom = { - sha1 = "dd64379ae860c87098eea582d30a48e887f9748e"; - sha256 = "01j47fp91zv5g8yd5ayhnfgm59zsiq5wcicyjjpnkhy9nsw5vl5h"; - }; - jar = { - sha1 = "ef3f595da76cbcbe40124ee0a858b7ca635d30f2"; - sha256 = "1a49slgn2py6mxghwmq70nm9k4s27kmvp3cgnv6v2fi5zvkphwrs"; - }; - }; - "https://repo.clojars.org/crypto-equality/crypto-equality/1.0.0/crypto-equality-1.0.0" = - { - host = repositories.clojars; - path = - "crypto-equality/crypto-equality/1.0.0/crypto-equality-1.0.0"; - type = "jar"; - pom = { - sha1 = "6b025f8fe474fb3a379230bcfe34b4766d00e051"; - sha256 = "0k7rdh1jrbd45igvx45747krdiv4s5bd8viqk83ng802rgw8x8aw"; - }; - jar = { - sha1 = "6728b7a444008fe576167fcadb92fea23bb17d42"; - sha256 = "1y9q8v245n4v3h6sh92a1rlf9rvi7j1akvb0cf47cgg6q60rrlbx"; - }; - }; - "https://repo.clojars.org/crypto-random/crypto-random/1.2.0/crypto-random-1.2.0" = - { - host = repositories.clojars; - path = - "crypto-random/crypto-random/1.2.0/crypto-random-1.2.0"; - type = "jar"; - pom = { - sha1 = "0cd21fd6f8b7f20a614580e0271474e94b8e8863"; - sha256 = "19cczijlkg4zk4r4wgvp27j3wahvwgj0ci8pbqhg3gmjri56396d"; - }; - jar = { - sha1 = "cd5ed1fa18919cc13f5ab5feabdff21cc4b0faf6"; - sha256 = "024dkz5vg6w0q4llw26v35mraai8x8hp0nii2c99szshn6pd0549"; - }; - }; - "https://repo.clojars.org/day8/re-frame/re-frame-10x/0.3.2/re-frame-10x-0.3.2" = - { - host = repositories.clojars; - path = - "day8/re-frame/re-frame-10x/0.3.2/re-frame-10x-0.3.2"; - type = "jar"; - pom = { - sha1 = "c3b6f9825d063dd0ca67620a7b7e66dd46b608a4"; - sha256 = "0m66q3b4jlbv9ig0v5cb8sfk3rwqgszsc2c8f5pi6q29yp7vvhy8"; - }; - jar = { - sha1 = "f215b20ed042cec2dcb9170e4a4170d9e3a0ae65"; - sha256 = "1vgjyq2nd8183qfi11am4d2c9ka99gnh4fhpgrxplx5x5g0339a9"; - }; - }; - "https://repo.clojars.org/fs/fs/1.1.2/fs-1.1.2" = - { - host = repositories.clojars; - path = - "fs/fs/1.1.2/fs-1.1.2"; - type = "jar"; - pom = { - sha1 = "5eca710d59b516b82f4add0f30b1751efffdb1e9"; - sha256 = "06c7qdmy4qknmiqfmjk8i1sl2sri061k36bqa026flrha3hzpqx5"; - }; - jar = { - sha1 = "bfbda6c3d0c91ae5a368a9465464a47840df44ef"; - sha256 = "1bd1yhmz16ja09r0j3g33dq5xzc9gsa0cbi2m5whv0bk1jafz36k"; - }; - }; - "https://repo.clojars.org/hiccup/hiccup/1.0.5/hiccup-1.0.5" = - { - host = repositories.clojars; - path = - "hiccup/hiccup/1.0.5/hiccup-1.0.5"; - type = "jar"; - pom = { - sha1 = "ad8dca6233e4c76cfa408a6857c0fcf9b4939b0f"; - sha256 = "0lp5q11li5wsr6gw70h801wklcqqcxcw54cpxabj4prbzva5jq1q"; - }; - jar = { - sha1 = "75940a400111bbb8f80e43325e23100b6e2227bc"; - sha256 = "1z07dh3qg9zzcwa8x31mnqxnkfsf2sbv315n43kxmnv1fkjagm0g"; - }; - }; - "https://repo.clojars.org/hickory/hickory/0.7.1/hickory-0.7.1" = - { - host = repositories.clojars; - path = - "hickory/hickory/0.7.1/hickory-0.7.1"; - type = "jar"; - pom = { - sha1 = "5730f6d94df251fc3082ee7d0610a1a6b5327859"; - sha256 = "0yhfpg8ivqyxg8615bvg3a0ljw0mxgqd2nis5gwhf9xn6p1id6x5"; - }; - jar = { - sha1 = "d9e6114592c434ca1df6022bbf4d5e97714666ee"; - sha256 = "021ag1b00821ma6mfl66ljyza1avjlpcld0zhnz1gvppwm5974xz"; - }; - }; - "https://repo.clojars.org/http-kit/http-kit/2.2.0/http-kit-2.2.0" = - { - host = repositories.clojars; - path = - "http-kit/http-kit/2.2.0/http-kit-2.2.0"; - type = "jar"; - pom = { - sha1 = "2ae358658936ae7d1bf5b929503e607d60c7d94c"; - sha256 = "1p8kmih1x4fm21haacz80f5as52lg3q8i02n8qzh709iwx7za5xa"; - }; - jar = { - sha1 = "70b17515f43a0e74937cdc0dea270d4ef13c7f32"; - sha256 = "1nnvadcqc7mabyp0gp2kbic85ipnxx499w36984is3ajw8k2c47p"; - }; - }; - "https://repo.clojars.org/instaparse/instaparse/1.4.0/instaparse-1.4.0" = - { - host = repositories.clojars; - path = - "instaparse/instaparse/1.4.0/instaparse-1.4.0"; - type = "jar"; - pom = { - sha1 = "55e534aa45dc4b6a84fce2c2ea342c66070d7c2b"; - sha256 = "0pjdm2js7rjgsbq6byrdbf8bqca66dg736jvw9imc3dzz9mvy4f6"; - }; - jar = { - sha1 = "ade13d743d1ec8a6c5103fd0f5701b0f997e2cc4"; - sha256 = "188325lqyc6p9fmrcsx5vwp4cydnaxf32034jqf2ch29mnax1gvh"; - }; - }; - "https://repo.clojars.org/io/aviso/pretty/0.1.30/pretty-0.1.30" = - { - host = repositories.clojars; - path = - "io/aviso/pretty/0.1.30/pretty-0.1.30"; - type = "jar"; - pom = { - sha1 = "e4ca5c261e2736e7df75106f044b54ce87cfcff0"; - sha256 = "0zfr4xyapzbajrzyqd0gbsf2qxbhy4blqfg4l6bcwr562sab8w36"; - }; - jar = { - sha1 = "80485ee4337502fc5380e95b3b9536623bc1bd2d"; - sha256 = "17yi35nd4qwb16n1llgdcknppc4axr5gngg3v8valpdk8qcf3pmh"; - }; - }; - "https://repo.clojars.org/io/aviso/pretty/0.1.33/pretty-0.1.33" = - { - host = repositories.clojars; - path = - "io/aviso/pretty/0.1.33/pretty-0.1.33"; - type = "jar"; - pom = { - sha1 = "bd20d3111649da92524569882f0f9925740aac3e"; - sha256 = "034rhbp6cqzbf9c4ql28n72vmqbxvh39ghf1b2axlnfza38w783b"; - }; - jar = { - sha1 = "2ebf75b7ff2a2260827453e7ea98e012a9eca3e2"; - sha256 = "06w7hpgccr7qy47cwzpq5h2fw27am1imc9cbpg3bc5bbydz9q4df"; - }; - }; - "https://repo.clojars.org/lein-cljfmt/lein-cljfmt/0.5.7/lein-cljfmt-0.5.7" = - { - host = repositories.clojars; - path = - "lein-cljfmt/lein-cljfmt/0.5.7/lein-cljfmt-0.5.7"; - type = "jar"; - pom = { - sha1 = "1130335a2e2dba720bb0779c4f05097bb0341b1f"; - sha256 = "14ra5xi3nsa1lkid3h1nnih9ihkz0772f82i70x4jljr40wn0cx1"; - }; - jar = { - sha1 = "9389a15fec0914dfcf48c08a69f44dd71133e62c"; - sha256 = "18xgma82lpmiqzs66jm41i1jq7sjv5ma6lnz6ksxyv08r75xhf8q"; - }; - }; - "https://repo.clojars.org/lein-cljsbuild/lein-cljsbuild/1.1.7/lein-cljsbuild-1.1.7" = - { - host = repositories.clojars; - path = - "lein-cljsbuild/lein-cljsbuild/1.1.7/lein-cljsbuild-1.1.7"; - type = "jar"; - pom = { - sha1 = "ef82f47435ac6af478571640ccf45f4fc019869d"; - sha256 = "00ikz9csmlw410pz8ilq0bz57icinczzlrw8hgx6zgbbqh57p297"; - }; - jar = { - sha1 = "925e24bd16c868457d1608f6a7d96951a9c12e7f"; - sha256 = "0ihj2dd3lpz3banpqm0pgcj8sd5wywkjy7mxyjyckgb6g48ahf3l"; - }; - }; - "https://repo.clojars.org/lein-re-frisk/lein-re-frisk/0.5.8/lein-re-frisk-0.5.8" = - { - host = repositories.clojars; - path = - "lein-re-frisk/lein-re-frisk/0.5.8/lein-re-frisk-0.5.8"; - type = "jar"; - pom = { - sha1 = "cc1915dac89ccd05359c408699b9abeeb4cca094"; - sha256 = "0kdhxk8pd94f6gb79ib26xizzgz9fmfq9vh3s71qcg29m1r41948"; - }; - jar = { - sha1 = "ab348771c3fb23c75ab225053338acdc04a91a3f"; - sha256 = "1is7bk4fy3gfz6rl9xws9c20a2aaxqcfig6i9nv31rs2q9ll1fw6"; - }; - }; - "https://repo.clojars.org/medley/medley/0.8.2/medley-0.8.2" = - { - host = repositories.clojars; - path = - "medley/medley/0.8.2/medley-0.8.2"; - type = "jar"; - pom = { - sha1 = "f59de194201b5e90166571ce4b3db1774fb576f4"; - sha256 = "1vhy2634m07a2asz354sds2i7g6gwm8bxfpsmp8dfbr4226hi4m3"; - }; - jar = { - sha1 = "0c05ef36ae49925af44c781108ecf8b704a83a8f"; - sha256 = "1hf1jd60jshd1p8yknfnimfsbiz9x1kg8x1gb6939xxx6sk953c8"; - }; - }; - "https://repo.clojars.org/meta-merge/meta-merge/1.0.0/meta-merge-1.0.0" = - { - host = repositories.clojars; - path = - "meta-merge/meta-merge/1.0.0/meta-merge-1.0.0"; - type = "jar"; - pom = { - sha1 = "5d5967dd4a746e4a9fd1927fc78098dd424ea576"; - sha256 = "0carx82c5anc6i0lbi40nhzwas1dynag6c8h6k8jpk6fixjj02mh"; - }; - jar = { - sha1 = "28cbe836fdf7de02801fe0bdbb30eb2fd842e8d9"; - sha256 = "1iq2xf10as0h1q4vqb51hq0xf211f6ijmrv28pjy01npwgiy5znp"; - }; - }; - "https://repo.clojars.org/mvxcvi/alphabase/1.0.0/alphabase-1.0.0" = - { - host = repositories.clojars; - path = - "mvxcvi/alphabase/1.0.0/alphabase-1.0.0"; - type = "jar"; - pom = { - sha1 = "2cd07338e4e0a8f7f20d26c8212e5a3333c7acac"; - sha256 = "1kan1lb3ckc0l447cj3l83lh6svz5bk514j0y9lxif6is07b2qxg"; - }; - jar = { - sha1 = "008785c0ff977d8132af4aaa931d88ffc44fca03"; - sha256 = "1g395and521h2q370vh7w0psx63a1zb5f2rcrafqgzw5s3nwlm4q"; - }; - }; - "https://repo.clojars.org/net/cgrand/macrovich/0.2.0/macrovich-0.2.0" = - { - host = repositories.clojars; - path = - "net/cgrand/macrovich/0.2.0/macrovich-0.2.0"; - type = "jar"; - pom = { - sha1 = "09d3f0c99504388c80484a949b216105664cfce3"; - sha256 = "1p5ly7ks8nlxqf4p0i4wvjfj49sm7hz1jl5i5nc9sclwr6zp15kq"; - }; - jar = { - sha1 = "a1638e75e55b1ed3aa63398e4f10e0222d311e9e"; - sha256 = "0xffg2cydhr9k548w9w6ii6hkw7adicxr6i5s3wa77iz6c95j1za"; - }; - }; - "https://repo.clojars.org/quoin/quoin/0.1.2/quoin-0.1.2" = - { - host = repositories.clojars; - path = - "quoin/quoin/0.1.2/quoin-0.1.2"; - type = "jar"; - pom = { - sha1 = "cdabd1b76f3a86c59260cd25be534a0a5b67c302"; - sha256 = "0wv7m5l9hafc0ysxg7g7fqmdq94dxmv13cj37il69wvagqskarhc"; - }; - jar = { - sha1 = "0dbbb28df3e337233f934468915eb327ff488172"; - sha256 = "0b5rc1cmbgg8qpl80jyvh0ldgs7dv86c0qxixazdnz05limmnpb5"; - }; - }; - "https://repo.clojars.org/rasom/cljs-react-navigation/0.1.4/cljs-react-navigation-0.1.4" = - { - host = repositories.clojars; - path = - "rasom/cljs-react-navigation/0.1.4/cljs-react-navigation-0.1.4"; - type = "jar"; - pom = { - sha1 = "0fbb5e16413bb90b0d31f44d3a6059c7afd41f91"; - sha256 = "1lc2v88vwq6rd8hw2v4xnf0b0jfzypwvj62sk4xnhhnxmnj5g2rm"; - }; - jar = { - sha1 = "7629c8d741da494b9b955d2b6939718d2da2aae1"; - sha256 = "031hardnlrmdvb8v3vl468rcb47yksfqxp22a1bsa46fxcnhpyfd"; - }; - }; - "https://repo.clojars.org/rasom/lein-githooks/0.1.5/lein-githooks-0.1.5" = - { - host = repositories.clojars; - path = - "rasom/lein-githooks/0.1.5/lein-githooks-0.1.5"; - type = "jar"; - pom = { - sha1 = "ec0b1322dd8d9dba726dd0f95548a216094c488b"; - sha256 = "0zf7hv0hkpfjlvxbl274jm5m23avvrlj7wwpqpq019pnwssv2r5j"; - }; - jar = { - sha1 = "727bdd86ef414cd99f2f4f68c56348db898048ab"; - sha256 = "0jg72qqzfi7qf2yzwisjpbcw4a68lq7j5nra9zgjqw1h3nanwsgi"; - }; - }; - "https://repo.clojars.org/reagent/reagent/0.6.0/reagent-0.6.0" = - { - host = repositories.clojars; - path = - "reagent/reagent/0.6.0/reagent-0.6.0"; - type = "jar"; - pom = { - sha1 = "f1e00f7b084fd59167fa99077296bd4284161aac"; - sha256 = "124kijrmwsr8mypwqx8g0d2sdk1w97jb4w1civpzza1s4n1idjg3"; - }; - jar = { - sha1 = "d9e8e4fae72c65d8df23ed8687864f5a90965c45"; - sha256 = "0nrc4sxicgm29ah8dcdp99bh9vsxgq6pk917cnn7qw4l8m412c57"; - }; - }; - "https://repo.clojars.org/reagent/reagent/0.7.0/reagent-0.7.0" = - { - host = repositories.clojars; - path = - "reagent/reagent/0.7.0/reagent-0.7.0"; - type = "jar"; - pom = { - sha1 = "1d9d0bee8896bb3b4dfc770c6d93c506e903712d"; - sha256 = "1arybi02a4svi926sw4yljl3fc7qsjk1b0z8r5h74j3wqwczz3ba"; - }; - jar = { - sha1 = "5a4da4cfb9fc0e545ad64bb23fbde2c67dd1371b"; - sha256 = "19y0b1xkamrp6rj8p9is7fhz9zgzz1wpzdk59a24mxw4fiw5d1ls"; - }; - }; - "https://repo.clojars.org/re-com/re-com/2.1.0/re-com-2.1.0" = - { - host = repositories.clojars; - path = - "re-com/re-com/2.1.0/re-com-2.1.0"; - type = "jar"; - pom = { - sha1 = "ce5f4fa769c8ab312d1bb8a3c52cb0c6deae1ee4"; - sha256 = "1rm8n0nx7a2q31qw9ay6sfj8n06cn0565lh7r2fj5z1czbx9clhi"; - }; - jar = { - sha1 = "081a88f9d0022df608ba5fc504080a2f05dbce40"; - sha256 = "1ffn63mnsyvllv97pns71r7ky1pjsml193ry6ai9ag8plj4wg51m"; - }; - }; - "https://repo.clojars.org/re-frame/re-frame/0.10.1/re-frame-0.10.1" = - { - host = repositories.clojars; - path = - "re-frame/re-frame/0.10.1/re-frame-0.10.1"; - type = "jar"; - pom = { - sha1 = "612e08afe9100f6e6610c56bc841a4cc1bd803e2"; - sha256 = "1lfr3p5dvr8vniwf44xgmsjlb1wnw92cf22cnxb1i8zwybl4vj9j"; - }; - jar = { - sha1 = "b0f2e1af4132dce56395da1eabac52ba2b9df264"; - sha256 = "0qb4dmyk10hcc88sl14jxq2s0yifrc0x71fxy76w2iqlql03ri6w"; - }; - }; - "https://repo.clojars.org/re-frame/re-frame/0.10.4/re-frame-0.10.4" = - { - host = repositories.clojars; - path = - "re-frame/re-frame/0.10.4/re-frame-0.10.4"; - type = "jar"; - pom = { - sha1 = "bf80f894d53bac6b8913d079f6a988d9a7fa78cc"; - sha256 = "1mxxc5vjkajxf838gbgnzdsmdz90nb1pg8f800xh876bc8a9ypj7"; - }; - jar = { - sha1 = "98c2f670c940e0d9e2486edf524875759aad14c4"; - sha256 = "1fniid7vh3b9bqd6gpzzx616ldmi8z7abig9fclp6y80rki7x6z7"; - }; - }; - "https://repo.clojars.org/re-frisk/re-frisk/0.5.4/re-frisk-0.5.4" = - { - host = repositories.clojars; - path = - "re-frisk/re-frisk/0.5.4/re-frisk-0.5.4"; - type = "jar"; - pom = { - sha1 = "7b314a9821899d674abd923f0419002c63bd47f2"; - sha256 = "0i7h75a0ccy4i3s6s3c0acwabksly8c02ys53979q50mc4qacqf9"; - }; - jar = { - sha1 = "a7fe2c5fe6939bb78599c4c46493c7a62d7c7d48"; - sha256 = "1bxrvx0v5fhn7m1qhd3b5s2rq5v34sgwpp0ad7c7ijmfdjsrrafr"; - }; - }; - "https://repo.clojars.org/re-frisk-shell/re-frisk-shell/0.5.2/re-frisk-shell-0.5.2" = - { - host = repositories.clojars; - path = - "re-frisk-shell/re-frisk-shell/0.5.2/re-frisk-shell-0.5.2"; - type = "jar"; - pom = { - sha1 = "d27ccc127b72d7ad427508685d1844895d8e16e1"; - sha256 = "1rxyy1lx9iv3mzns0pws6rvz3xl9n21pd1qvqcrjnddvq6ljrn21"; - }; - jar = { - sha1 = "d0a05e08e9f50425b2d099184625cc3cc819a60e"; - sha256 = "1chmj5ixql2lbjx56cz2qdvrz1xzvvn7p4f19m2jk8j9wc3zzq0m"; - }; - }; - "https://repo.clojars.org/re-frisk-sidecar/re-frisk-sidecar/0.5.7/re-frisk-sidecar-0.5.7" = - { - host = repositories.clojars; - path = - "re-frisk-sidecar/re-frisk-sidecar/0.5.7/re-frisk-sidecar-0.5.7"; - type = "jar"; - pom = { - sha1 = "681bffb59922db7403b4d0113c38146cf0580fc2"; - sha256 = "15ym9fblhbvligxrxkd3gy1l1qcxdqnlmxypb02vc6gxfz44gyrv"; - }; - jar = { - sha1 = "a8ea46ac510802038288e8c92f170a9cea23df8e"; - sha256 = "1ijmyj8m1n189szrdppmhkrhi62r07gkwgrxc7yynv72gnc4vwmb"; - }; - }; - "https://repo.clojars.org/rewrite-clj/rewrite-clj/0.5.2/rewrite-clj-0.5.2" = - { - host = repositories.clojars; - path = - "rewrite-clj/rewrite-clj/0.5.2/rewrite-clj-0.5.2"; - type = "jar"; - pom = { - sha1 = "82b78a539f4cedd824dbb74585118a03045abad7"; - sha256 = "1vfva7p1m17aga50s79w76gpc3wvkhf9fiqmhka7kv08yrqzn4z6"; - }; - jar = { - sha1 = "b41bc0697d82e686ea9b293d3f3adb2fc7be6737"; - sha256 = "1fm9bkd3wiqxalldqdfwh5n5cvlichp5an355c0lnkhi5l1hpfvl"; - }; - }; - "https://repo.clojars.org/rewrite-clj/rewrite-clj/0.6.0/rewrite-clj-0.6.0" = - { - host = repositories.clojars; - path = - "rewrite-clj/rewrite-clj/0.6.0/rewrite-clj-0.6.0"; - type = "jar"; - pom = { - sha1 = "fe825525b460e8502d615872588992cfb64f7d30"; - sha256 = "0ca3nbmipmm77h20db2h4q5x7qs2kckz1086z9crz3zwsb67cxy2"; - }; - jar = { - sha1 = "e7a747f74be82855afe7114d4178384b50165237"; - sha256 = "173wdcs6ksv4hzl3nnnsdw58lh1acrni4iz0gafjmydkzji4jiqz"; - }; - }; - "https://repo.clojars.org/rewrite-cljs/rewrite-cljs/0.4.3/rewrite-cljs-0.4.3" = - { - host = repositories.clojars; - path = - "rewrite-cljs/rewrite-cljs/0.4.3/rewrite-cljs-0.4.3"; - type = "jar"; - pom = { - sha1 = "9da639eac10f66ab57057b75e59ce87200457f54"; - sha256 = "1dn85fa8j4dni7lpzvvwk3y2lp69grpp7rjy0pla7j7l35a9nqpp"; - }; - jar = { - sha1 = "eddfed4a28f3865322e479ba77e84985421466bd"; - sha256 = "0gqsj9y66ssxm7qbgqps9548gvrmzdpd16zh6gr6jppqwxgwvawv"; - }; - }; - "https://repo.clojars.org/rewrite-cljs/rewrite-cljs/0.4.4/rewrite-cljs-0.4.4" = - { - host = repositories.clojars; - path = - "rewrite-cljs/rewrite-cljs/0.4.4/rewrite-cljs-0.4.4"; - type = "jar"; - pom = { - sha1 = "4e7a2542517a5b0231631305461603605bea1592"; - sha256 = "050imgkzw5q7200klwrkd4v32xxy1f4aghs8g4ma5dbg4rl4pgcd"; - }; - jar = { - sha1 = "dd14a371d0d09eedccb39f01e3edabefb2d1e64f"; - sha256 = "0hb07wg71i2bjn8wzs8q6w1nb3jb2s36nhr9kv9mc0gyrr6im244"; - }; - }; - "https://repo.clojars.org/ring-cors/ring-cors/0.1.8/ring-cors-0.1.8" = - { - host = repositories.clojars; - path = - "ring-cors/ring-cors/0.1.8/ring-cors-0.1.8"; - type = "jar"; - pom = { - sha1 = "b59382655c98377c9280fe227c442e2705088ad8"; - sha256 = "0qpagym9im5fjx1jmwc56abz4a9fpy7w4m0isv2lcbczy3g29k8i"; - }; - jar = { - sha1 = "4788dcaca6b2429bf823c1235dbb44cd5689584a"; - sha256 = "1382hxpgfpjdn0lcgq512yvbvq661skwd7lrakpnq9zs827jq9mc"; - }; - }; - "https://repo.clojars.org/ring/ring-anti-forgery/1.0.0/ring-anti-forgery-1.0.0" = - { - host = repositories.clojars; - path = - "ring/ring-anti-forgery/1.0.0/ring-anti-forgery-1.0.0"; - type = "jar"; - pom = { - sha1 = "4fb60d8eff3aa5fa61353ebcdf766951313137af"; - sha256 = "1wkwby0na28gmvwdkbkk0nmysfs14s1lzwam02sz3kyjx1yg62am"; - }; - jar = { - sha1 = "0bc44369a5e3fec2f7d6eda0a5968cc452f1d5ce"; - sha256 = "08ps755n16yk788k2vy92dg4agvbh6f89riwnd1frwl7dznc67lc"; - }; - }; - "https://repo.clojars.org/ring/ring-codec/1.0.0/ring-codec-1.0.0" = - { - host = repositories.clojars; - path = - "ring/ring-codec/1.0.0/ring-codec-1.0.0"; - type = "jar"; - pom = { - sha1 = "14a3c9e2541d4e03ed3158ffdcb9119417751f1e"; - sha256 = "0saaz8dq3zps5c2z8x24hqm3650kbj1455y8pbg4z8vh04rlcx2a"; - }; - jar = { - sha1 = "e2e0be35ee22202a6da3769b606c485e4154f6e9"; - sha256 = "0kw0l3ggvp4fknm28zvz2hbyrz7s28qlk7q2xbdg65s40cqs26q4"; - }; - }; - "https://repo.clojars.org/ring/ring-codec/1.0.1/ring-codec-1.0.1" = - { - host = repositories.clojars; - path = - "ring/ring-codec/1.0.1/ring-codec-1.0.1"; - type = "jar"; - pom = { - sha1 = "86c782a6276b50d0be94ee057d03e92df87a3cc4"; - sha256 = "1wax9nw26g79561llavn6b96gpqf97kl2n910afb0z88y9400k9r"; - }; - jar = { - sha1 = "521dbb3c2dec06909072248785a5b040bfb378be"; - sha256 = "192lnnla7rc1wyg4gwq9fadg1j40baqzfyvc57yjcdx77k0si4sv"; - }; - }; - "https://repo.clojars.org/ring/ring-core/1.3.0-RC1/ring-core-1.3.0-RC1" = - { - host = repositories.clojars; - path = - "ring/ring-core/1.3.0-RC1/ring-core-1.3.0-RC1"; - type = "jar"; - pom = { - sha1 = "0551907b083b658304fdae8193acdc9fa3e14b5c"; - sha256 = "1rag22wjb7hgbw3prpc62xmhhvqhghkc936f9nlp22ahcylyxx4r"; - }; - jar = { - sha1 = "f03e35b7fde3d2912a99a6815cc2cad53951f478"; - sha256 = "1ssz5g82yvcraqaysxh4r0kqs6dhg3xf4bkdk8z6hw8nc3mljf1l"; - }; - }; - "https://repo.clojars.org/ring/ring-core/1.3.2/ring-core-1.3.2" = - { - host = repositories.clojars; - path = - "ring/ring-core/1.3.2/ring-core-1.3.2"; - type = "jar"; - pom = { - sha1 = "e4e65fd352eb8c263e9ea328e8f1ea389d8474e4"; - sha256 = "0wcky7gkary0vkzf6knw14gd9czmmxwshzl00z2ymq2bsrzxriyk"; - }; - jar = { - sha1 = "125f8c05b4768d16e5da46dc8fb62b0e77e1289d"; - sha256 = "1b8aq9dl4z11fgld6y1b79v5a0js963c32xcamjv729hpsn9k0wm"; - }; - }; - "https://repo.clojars.org/ring/ring-core/1.4.0/ring-core-1.4.0" = - { - host = repositories.clojars; - path = - "ring/ring-core/1.4.0/ring-core-1.4.0"; - type = "jar"; - pom = { - sha1 = "b61b28707ea64a60542a89eaef7dabcfe4438a22"; - sha256 = "0iffny7wjbqpwr61hnzgg8v91lf69wgc9qhnxg25jf18frl8cz9x"; - }; - jar = { - sha1 = "6ac9a134048f031e7067bf834ab9085a0c840386"; - sha256 = "0l23bcil5hms1npm8wb3yll9i9flvw333kzrx4faxjk5y5cj8ldf"; - }; - }; - "https://repo.clojars.org/ring/ring-core/1.5.1/ring-core-1.5.1" = - { - host = repositories.clojars; - path = - "ring/ring-core/1.5.1/ring-core-1.5.1"; - type = "jar"; - pom = { - sha1 = "24f0400b10ca4ca9cbac9ba58a576e4f93948220"; - sha256 = "0790s4b1bccf7hbw5mmw797bgsggc0v3wigx0fkwnx0236hisbxb"; - }; - jar = { - sha1 = "4c7a99d821c93c2c38caeb74fdc2a1973551ed88"; - sha256 = "0ajrf2fkhdlyiv8y58l2z7g617mxbcx2yknwclk6c6q3a60ci9gv"; - }; - }; - "https://repo.clojars.org/ring/ring-defaults/0.1.5/ring-defaults-0.1.5" = - { - host = repositories.clojars; - path = - "ring/ring-defaults/0.1.5/ring-defaults-0.1.5"; - type = "jar"; - pom = { - sha1 = "472e3f4c23e881f6642217be22f90f2afc05f675"; - sha256 = "0jcxd3cxgq2jw0xnv2f4zlgk82d6jz7pdh4hqjjz8p818m106bf1"; - }; - jar = { - sha1 = "f50937815f88423a35780d9d7c62f729afc1a16d"; - sha256 = "0cf9pny0npsgzv3swifvrhb858jiax6yc1xdd6i92yh1m02x7gj0"; - }; - }; - "https://repo.clojars.org/ring/ring-headers/0.1.3/ring-headers-0.1.3" = - { - host = repositories.clojars; - path = - "ring/ring-headers/0.1.3/ring-headers-0.1.3"; - type = "jar"; - pom = { - sha1 = "dd1845641fa07ae18b4478ad697d53a8615b24d7"; - sha256 = "1z2a04hkxy0gmwbgyjzm0j187p1s1128n8kc2ai5myyxkrw1cppl"; - }; - jar = { - sha1 = "2a3e05706b6a6c834e96047a2d4b63b1ebb15fef"; - sha256 = "0p6mia366ky1n3zc3xa9m45vjg9mc7r6wij71n9zg5w51b33nb0l"; - }; - }; - "https://repo.clojars.org/ring/ring-ssl/0.2.1/ring-ssl-0.2.1" = - { - host = repositories.clojars; - path = - "ring/ring-ssl/0.2.1/ring-ssl-0.2.1"; - type = "jar"; - pom = { - sha1 = "130da83f25c5350e7e46d16eaf5c0f2158dc7cd9"; - sha256 = "1kkm2xjm8swkjf5rnnvi93xqfpkldqxhp8vnhyh6nr1ryhdjmhad"; - }; - jar = { - sha1 = "2e1ed5a4dae78ad35b1decaf486ea557e36f1218"; - sha256 = "0aiid67a7zl75xspx9naincb1ig8822ypdza2vpx18dmvc2pmfi3"; - }; - }; - "https://repo.clojars.org/status-im/re-frame/0.10.5/re-frame-0.10.5" = - { - host = repositories.clojars; - path = - "status-im/re-frame/0.10.5/re-frame-0.10.5"; - type = "jar"; - pom = { - sha1 = "3c18c5995d4facc049755e42ee371bbd25d544ac"; - sha256 = "12iqa4a4lbni8ynlzshwknc1zwh0vx9kkx7c8p63bd3zb2gkc2xp"; - }; - jar = { - sha1 = "26ff2f15eaf4ea6518adb1024bdb3f8ebd1945a9"; - sha256 = "1waddf88j3mc1pjipgmdkbs7943f7a2xy3n6b6hznp0fivyyhn38"; - }; - }; - "https://repo.clojars.org/status-im/timbre/4.10.0-2-status/timbre-4.10.0-2-status" = - { - host = repositories.clojars; - path = - "status-im/timbre/4.10.0-2-status/timbre-4.10.0-2-status"; - type = "jar"; - pom = { - sha1 = "a0ada642eec4fc748cc52988754ad5cdfa1865b1"; - sha256 = "1h7hhxq1kqpm2g0sk811zigi8c66si72l141gh964ly4pldpc940"; - }; - jar = { - sha1 = "e630bd13a422d7dbedeeb26f17aca0a473a9e5d3"; - sha256 = "1ipakbl438xkj1qhp6lrmjk25vihk15v86k69qba4ny7i0jhyj21"; - }; - }; - "https://repo.clojars.org/viebel/codox-klipse-theme/0.0.1/codox-klipse-theme-0.0.1" = - { - host = repositories.clojars; - path = - "viebel/codox-klipse-theme/0.0.1/codox-klipse-theme-0.0.1"; - type = "jar"; - pom = { - sha1 = "5e1a00ea2bbdfc8cae4083c41e12be5cf89c1449"; - sha256 = "1qxd30dl06yahcgqnypnc71mhqzijpmnq9imybbkbvzk65i6y4r8"; - }; - jar = { - sha1 = "09af0b348e6253dcf9fd567d0d22ffebdea46176"; - sha256 = "1qg2iyblykfkzmplc2c46916b9m0h5ad6lxmvrk5qn3pdxqr8vw0"; - }; - }; - "https://repo.clojars.org/zprint/zprint/0.4.7/zprint-0.4.7" = - { - host = repositories.clojars; - path = - "zprint/zprint/0.4.7/zprint-0.4.7"; - type = "jar"; - pom = { - sha1 = "5e996cdc0b07ce2d08bfd8a357dbd03ddb3b6a49"; - sha256 = "1kyhpl76870qvy56c4i7rxqwf6m1zjahpd4wcrdqh80b65k0wjmy"; - }; - jar = { - sha1 = "2ab68369b812a69d8b2257223c06168e883f33a4"; - sha256 = "1a667jc2q8jcchmnlwz31kngnlcjy4y4q9cf6ng7jlrb3lv74v0j"; - }; - }; } diff --git a/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt b/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt index 8fd92a1a98..0b42fdedfd 100644 --- a/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt +++ b/nix/mobile/android/maven-and-npm-deps/maven/maven-inputs.txt @@ -1,28 +1,21 @@ -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/2.1/gradle-base-services-groovy-2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/2.2.1/gradle-base-services-groovy-2.2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/3.1/gradle-base-services-groovy-3.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/2.1/gradle-base-services-2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/2.2.1/gradle-base-services-2.2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/3.1/gradle-base-services-3.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/2.1/gradle-core-2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/2.2.1/gradle-core-2.2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/3.1/gradle-core-3.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-logging/3.1/gradle-logging-3.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/2.1/gradle-messaging-2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/2.2.1/gradle-messaging-2.2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/3.1/gradle-messaging-3.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/2.1/gradle-resources-2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/2.2.1/gradle-resources-2.2.1 -https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/3.1/gradle-resources-3.1 +https://dl.google.com/dl/android/maven2/androidx/activity/activity/1.0.0/activity-1.0.0 https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.0.0/annotation-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.1.0/annotation-1.1.0 +https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resources/1.1.0/appcompat-resources-1.1.0 https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.0.0/appcompat-1.0.0 https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.0.2/appcompat-1.0.2 +https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0-rc01/appcompat-1.1.0-rc01 +https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0/appcompat-1.1.0 https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.0.0/core-common-2.0.0 +https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.1.0/core-common-2.1.0 https://dl.google.com/dl/android/maven2/androidx/arch/core/core-runtime/2.0.0/core-runtime-2.0.0 https://dl.google.com/dl/android/maven2/androidx/asynclayoutinflater/asynclayoutinflater/1.0.0/asynclayoutinflater-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/cardview/cardview/1.0.0/cardview-1.0.0 https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.0.0/collection-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.1.0/collection-1.1.0 https://dl.google.com/dl/android/maven2/androidx/coordinatorlayout/coordinatorlayout/1.0.0/coordinatorlayout-1.0.0 https://dl.google.com/dl/android/maven2/androidx/core/core/1.0.1/core-1.0.1 +https://dl.google.com/dl/android/maven2/androidx/core/core/1.1.0/core-1.1.0 https://dl.google.com/dl/android/maven2/androidx/cursoradapter/cursoradapter/1.0.0/cursoradapter-1.0.0 https://dl.google.com/dl/android/maven2/androidx/customview/customview/1.0.0/customview-1.0.0 https://dl.google.com/dl/android/maven2/androidx/databinding/databinding-common/3.2.1/databinding-common-3.2.1 @@ -35,26 +28,37 @@ https://dl.google.com/dl/android/maven2/androidx/documentfile/documentfile/1.0.0 https://dl.google.com/dl/android/maven2/androidx/drawerlayout/drawerlayout/1.0.0/drawerlayout-1.0.0 https://dl.google.com/dl/android/maven2/androidx/exifinterface/exifinterface/1.0.0/exifinterface-1.0.0 https://dl.google.com/dl/android/maven2/androidx/fragment/fragment/1.0.0/fragment-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/fragment/fragment/1.1.0/fragment-1.1.0 https://dl.google.com/dl/android/maven2/androidx/interpolator/interpolator/1.0.0/interpolator-1.0.0 https://dl.google.com/dl/android/maven2/androidx/legacy/legacy-support-core-ui/1.0.0/legacy-support-core-ui-1.0.0 https://dl.google.com/dl/android/maven2/androidx/legacy/legacy-support-core-utils/1.0.0/legacy-support-core-utils-1.0.0 https://dl.google.com/dl/android/maven2/androidx/legacy/legacy-support-v4/1.0.0/legacy-support-v4-1.0.0 https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-common/2.0.0/lifecycle-common-2.0.0 +https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-common/2.1.0/lifecycle-common-2.1.0 https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-livedata-core/2.0.0/lifecycle-livedata-core-2.0.0 https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-livedata/2.0.0/lifecycle-livedata-2.0.0 https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-runtime/2.0.0/lifecycle-runtime-2.0.0 +https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-runtime/2.1.0/lifecycle-runtime-2.1.0 https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-viewmodel/2.0.0/lifecycle-viewmodel-2.0.0 +https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-viewmodel/2.1.0/lifecycle-viewmodel-2.1.0 https://dl.google.com/dl/android/maven2/androidx/loader/loader/1.0.0/loader-1.0.0 https://dl.google.com/dl/android/maven2/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0/localbroadcastmanager-1.0.0 https://dl.google.com/dl/android/maven2/androidx/media/media/1.0.0/media-1.0.0 https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.1/multidex-2.0.1 https://dl.google.com/dl/android/maven2/androidx/print/print/1.0.0/print-1.0.0 https://dl.google.com/dl/android/maven2/androidx/recyclerview/recyclerview/1.0.0/recyclerview-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/savedstate/savedstate/1.0.0/savedstate-1.0.0 https://dl.google.com/dl/android/maven2/androidx/slidingpanelayout/slidingpanelayout/1.0.0/slidingpanelayout-1.0.0 https://dl.google.com/dl/android/maven2/androidx/swiperefreshlayout/swiperefreshlayout/1.0.0/swiperefreshlayout-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/swiperefreshlayout/swiperefreshlayout/1.1.0-alpha02/swiperefreshlayout-1.1.0-alpha02 +https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.0.0/transition-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.1.0/transition-1.1.0 https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable-animated/1.0.0/vectordrawable-animated-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable-animated/1.1.0/vectordrawable-animated-1.1.0 https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable/1.0.1/vectordrawable-1.0.1 +https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable/1.1.0/vectordrawable-1.1.0 https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.0.0/versionedparcelable-1.0.0 +https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.1.0/versionedparcelable-1.1.0 https://dl.google.com/dl/android/maven2/androidx/viewpager/viewpager/1.0.0/viewpager-1.0.0 https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.0.1/baseLibrary-3.0.1 https://dl.google.com/dl/android/maven2/com/android/databinding/baseLibrary/3.2.1/baseLibrary-3.2.1 @@ -179,6 +183,7 @@ https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-tas https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-common/17.0.2/play-services-vision-common-17.0.2 https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision-image-label/17.0.2/play-services-vision-image-label-17.0.2 https://dl.google.com/dl/android/maven2/com/google/android/gms/play-services-vision/17.0.2/play-services-vision-17.0.2 +https://dl.google.com/dl/android/maven2/com/google/android/material/material/1.0.0/material-1.0.0 https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/16.0.3/firebase-common-16.0.3 https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid-interop/16.0.1/firebase-iid-interop-16.0.1 https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-iid/17.0.3/firebase-iid-17.0.3 @@ -520,10 +525,6 @@ https://repo.maven.apache.org/maven2/com/barchart/base/barchart-archon/2.5.10/ba https://repo.maven.apache.org/maven2/com/barchart/udt/barchart-udt-archon/2.3.0/barchart-udt-archon-2.3.0 https://repo.maven.apache.org/maven2/com/barchart/udt/barchart-udt-bundle/2.3.0/barchart-udt-bundle-2.3.0 https://repo.maven.apache.org/maven2/com/beust/jcommander/1.47/jcommander-1.47 -https://repo.maven.apache.org/maven2/com/esotericsoftware/kryo/kryo/2.20/kryo-2.20 -https://repo.maven.apache.org/maven2/com/esotericsoftware/minlog/minlog/1.2/minlog-1.2 -https://repo.maven.apache.org/maven2/com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07 -https://repo.maven.apache.org/maven2/com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07-shaded https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0 https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.3.1/jackson-annotations-2.3.1 https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.3.1/jackson-core-2.3.1 @@ -565,8 +566,6 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2. https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1 https://repo.maven.apache.org/maven2/com/google/google/1/google-1 https://repo.maven.apache.org/maven2/com/google/google/5/google-5 -https://repo.maven.apache.org/maven2/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0 -https://repo.maven.apache.org/maven2/com/google/guava/guava-parent-jdk5/17.0/guava-parent-jdk5-17.0 https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1 https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/14.0.1/guava-parent-14.0.1 https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/16.0.1/guava-parent-16.0.1 @@ -1718,14 +1717,12 @@ https://repo.maven.apache.org/maven2/org/mortbay/jetty/project/6.1.26/project-6. https://repo.maven.apache.org/maven2/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211 https://repo.maven.apache.org/maven2/org/multiverse/multiverse-core/0.7.0/multiverse-core-0.7.0 https://repo.maven.apache.org/maven2/org/multiverse/multiverse/0.7.0/multiverse-0.7.0 -https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.2/objenesis-parent-1.2 https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.3/objenesis-parent-1.3 https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.1/objenesis-parent-2.1 https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.5/objenesis-parent-2.5 https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/2.6/objenesis-parent-2.6 https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/3.0.1/objenesis-parent-3.0.1 https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.0/objenesis-1.0 -https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.2/objenesis-1.2 https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.3/objenesis-1.3 https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.1/objenesis-2.1 https://repo.maven.apache.org/maven2/org/objenesis/objenesis/2.5/objenesis-2.5 @@ -1742,14 +1739,12 @@ https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.1.0/org.osgi.core- https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.2.0/org.osgi.core-4.2.0 https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/4.3.1/org.osgi.core-4.3.1 https://repo.maven.apache.org/maven2/org/osgi/org.osgi.core/6.0.0/org.osgi.core-6.0.0 -https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/4.0/asm-parent-4.0 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.2/asm-parent-5.0.2 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.4/asm-parent-5.0.4 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.1/asm-parent-5.1 https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/6.0/asm-parent-6.0 -https://repo.maven.apache.org/maven2/org/ow2/asm/asm/4.0/asm-4.0 https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.2/asm-5.0.2 https://repo.maven.apache.org/maven2/org/ow2/asm/asm/6.1.1/asm-6.1.1 https://repo.maven.apache.org/maven2/org/ow2/ow2/1.3/ow2-1.3 @@ -1773,7 +1768,6 @@ https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.5/jcl-over-slf https://repo.maven.apache.org/maven2/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4 -https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.10/slf4j-api-1.7.10 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.19/slf4j-api-1.7.19 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5 @@ -1781,7 +1775,6 @@ https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.6.4/slf4j-parent-1.6.4 -https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.10/slf4j-parent-1.7.10 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.19/slf4j-parent-1.7.19 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.2/slf4j-parent-1.7.2 https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25 diff --git a/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix b/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix index 706b3cca60..7e9f664d0f 100644 --- a/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix +++ b/nix/mobile/android/maven-and-npm-deps/maven/maven-sources.nix @@ -7,7 +7,7 @@ let clojars = "https://repo.clojars.org"; fabric-io = "https://maven.fabric.io/public"; google = "https://dl.google.com/dl/android/maven2"; - gradle = "https://repo.gradle.org/gradle/libs-releases-local"; + gradle = "http://repo.gradle.org/gradle/libs-releases-local"; gradlePlugins = "https://plugins.gradle.org/m2"; java = "https://maven.java.net/content/repositories/releases"; jcenter = "https://jcenter.bintray.com"; @@ -20,244 +20,19 @@ let }; in { - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/2.1/gradle-base-services-groovy-2.1" = + "https://dl.google.com/dl/android/maven2/androidx/activity/activity/1.0.0/activity-1.0.0" = { - host = repositories.gradle; + host = repositories.google; path = - "org/gradle/gradle-base-services-groovy/2.1/gradle-base-services-groovy-2.1"; - type = "jar"; + "androidx/activity/activity/1.0.0/activity-1.0.0"; + type = "aar"; pom = { - sha1 = "ccac73bb7184768905f402042c0d8578e9dae007"; - sha256 = "1wqpy25wdcrywjxld13pna7npwrh6zp8rfjnzgfprb5b5jyjp510"; + sha1 = "f94af7350c14b899596aefd6c50e381a96d933ba"; + sha256 = "10lv8v4dg1jfvmhznia10wsgqxi0inbs0cdql0nk3732c9sbx917"; }; jar = { - sha1 = "c19534da0e1547f510fe054d2ca038a743b8ed5b"; - sha256 = "02iqr1sjhpdb6va8kfsbggmkzns9xhxrkfihz992aalazm81f612"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/2.2.1/gradle-base-services-groovy-2.2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-base-services-groovy/2.2.1/gradle-base-services-groovy-2.2.1"; - type = "jar"; - pom = { - sha1 = "60afd5575c876f582bea8062d908ad32758ea811"; - sha256 = "124idvay5l85b92r5kzm99zq3zkb00g8y6zmp49f4f989lqh29rx"; - }; - jar = { - sha1 = "5875b51c9d579de53ce05ea89ebf5a823e2fc0f6"; - sha256 = "0dsd7mdlpabdxc3apazvwbcvnx6d4xrnr5syp3fbmxypvcxys8zg"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services-groovy/3.1/gradle-base-services-groovy-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-base-services-groovy/3.1/gradle-base-services-groovy-3.1"; - type = "jar"; - pom = { - sha1 = "0f59d4b3ffee0a8ae0455237c50283a1fee8f789"; - sha256 = "1712qg4qik15fx8a7y1hwwcmrfag2d5c259lrv879xvsnvh5kh3j"; - }; - jar = { - sha1 = "61adc13a045357c99a7bc8c70ccb6955e80eda7c"; - sha256 = "0pv1pqlwj8zggxybcvdna77xgc1687zgmz57k5405ffj4bixdbpg"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/2.1/gradle-base-services-2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-base-services/2.1/gradle-base-services-2.1"; - type = "jar"; - pom = { - sha1 = "e929a5ad4aa9848ebb5b3dbb2d73585b558b851f"; - sha256 = "037dj6p24wbw5ncv9981qrkxskl98qlihsvwkvwl7h5vjqfinzvk"; - }; - jar = { - sha1 = "8078ab01c8acaf7420ee878582c1a3220677cddc"; - sha256 = "1wcifqjz7lgyi1nsjdkpbpij2rqap4bciwmqx1lw924p0355q07d"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/2.2.1/gradle-base-services-2.2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-base-services/2.2.1/gradle-base-services-2.2.1"; - type = "jar"; - pom = { - sha1 = "ec4de94aa2ae0c5a42656a3df23d969524758131"; - sha256 = "0mf3y655zxkr5l851cbd05p8brv92vk3n81fpir5y3ajc0x88n3s"; - }; - jar = { - sha1 = "9686a37f845c7b554d0b55724e21e5ff84d9e1c1"; - sha256 = "0hayad4mynnv4irqabxc4j0vqk17yp5q3r9xfafisv4s0nsk4849"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-base-services/3.1/gradle-base-services-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-base-services/3.1/gradle-base-services-3.1"; - type = "jar"; - pom = { - sha1 = "9919c78117bd8fe26b67000e25f19e2dac5b423b"; - sha256 = "19ryx76klirl8ql1kasijwsaykqv2xs70mzdcvw53sg35dhq0min"; - }; - jar = { - sha1 = "33e7db611deb096e92e5fcf9e9007a9f08002801"; - sha256 = "146bvpjsw96a1m2y4v3bmsjzmhjm7bq7zlvpdzl1s8g34k0dpn83"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/2.1/gradle-core-2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-core/2.1/gradle-core-2.1"; - type = "jar"; - pom = { - sha1 = "bf070cdb93383804cdad252089c473d5cc65dbb2"; - sha256 = "1iraj3rvsjd5z4qb4g82za5y2p3glpkdb4070wdyr25bywk17mam"; - }; - jar = { - sha1 = "448579eb9b1ebb52ac3a099baade52876b37c1bf"; - sha256 = "0mwb51jf2bcdwv6gy5sj4gcq3g81nxjb5d58wghz7l5cwjj1arr0"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/2.2.1/gradle-core-2.2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-core/2.2.1/gradle-core-2.2.1"; - type = "jar"; - pom = { - sha1 = "518c5eb230e15e9f3d743489fbb80860e8acec62"; - sha256 = "0llgyi9wfjhdrx005444pv9ar02bvcgdaq6gzmvyafg8jlp3m8h0"; - }; - jar = { - sha1 = "60128a00fcf9428e90d59fd65608965e84b66420"; - sha256 = "1wvpwy5q2i3pvialcip7nz54rbiahq548kkpvr1p6xgn97z9ms8n"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-core/3.1/gradle-core-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-core/3.1/gradle-core-3.1"; - type = "jar"; - pom = { - sha1 = "26675e59c68aa16f5bde212c8640c41086aae4d7"; - sha256 = "0mf0cfzlq4cakdmix7bhd0kjlj01lk0678v5w43x4viffffsj090"; - }; - jar = { - sha1 = "864f9d0156e49d1101759745f0e3ab096533ec01"; - sha256 = "0k925r1pqk638cia6k9qklkl8mkcfgh3l6pbbxwxmgs43f9insff"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-logging/3.1/gradle-logging-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-logging/3.1/gradle-logging-3.1"; - type = "jar"; - pom = { - sha1 = "bfc6ca5d69246cb407120e6632a5cacfcbee3ccd"; - sha256 = "0gjgq9gppzkvd95qxlx2ihybg66nabp2kppkl5b07yk7p1p8j7ss"; - }; - jar = { - sha1 = "1497c134a31ed4c347ba62be68c86885b64eee2c"; - sha256 = "1sllfk9rsv55cgbka4h91grn4z6sx9dijwjqrhii4cpl056dwmjj"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/2.1/gradle-messaging-2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-messaging/2.1/gradle-messaging-2.1"; - type = "jar"; - pom = { - sha1 = "ff10ff2518c0fe18941e93dae462be088e69e9ef"; - sha256 = "0v7frbjfi3vmi65zm2n0p7dnyli3cbnacc9zwmhmr6c9klzxlpz1"; - }; - jar = { - sha1 = "e73cfd37ca09295dd3d106b2dc76494c90bd6fbb"; - sha256 = "1w92sa0fb51sgpa50014b45lwgw4a7p6fl0qgpag2h1j0gcmlgza"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/2.2.1/gradle-messaging-2.2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-messaging/2.2.1/gradle-messaging-2.2.1"; - type = "jar"; - pom = { - sha1 = "40de72142fadcd775596c620aabffaa5983b1e15"; - sha256 = "1mhqa4hijzb66jpzljli7b937h2baa0bwyj6lwwj0pdm165mpmyr"; - }; - jar = { - sha1 = "1e1d6ef285891a40a04dfa360e3e53b43e2c1a84"; - sha256 = "1x7vqdcjrmk279blih6sw5b5pjfsxnag1bmckxmz949isa4xay2b"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-messaging/3.1/gradle-messaging-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-messaging/3.1/gradle-messaging-3.1"; - type = "jar"; - pom = { - sha1 = "1a02aa908fdc0a53d016981557e651312123174d"; - sha256 = "13iy1rghsjl1afml5h73d0w9mna51nmnwxqg9q2l1qxlj0ypyyl8"; - }; - jar = { - sha1 = "e9c31a949e904c40178e9276e0040200067fb9b7"; - sha256 = "0c7q6fs8ywciif1k4gz40dm17976b8bh9hahi2r2p18j6xb5xpc9"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/2.1/gradle-resources-2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-resources/2.1/gradle-resources-2.1"; - type = "jar"; - pom = { - sha1 = "64da665bcaa4edad053ea03e0949f6a3e0d993c6"; - sha256 = "0kswdhkwl32sc9w2qbpa66sbvhriiax370rbixg1zmfmzw60k5yg"; - }; - jar = { - sha1 = "4d64f1ac8b345525503ce5a46ab1e345914df583"; - sha256 = "055iangccx3p83rsi61axggw8fzx1pyl9jk0qirclcyd8nfksjdw"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/2.2.1/gradle-resources-2.2.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-resources/2.2.1/gradle-resources-2.2.1"; - type = "jar"; - pom = { - sha1 = "7d7feabef40c3ac9eb3dc4dc9d55edc879548e49"; - sha256 = "1wz0mayzk6plh5vvsj8mvxzzn74a163m75wxbdml8llhrn62p21h"; - }; - jar = { - sha1 = "3fcd7004383a672c97346ad684dd762c547cdccb"; - sha256 = "1qysny46n4g2xq5dbmlrh6c189jbd8wx7x3jn99bvk01h1lydlhy"; - }; - }; - "https://repo.gradle.org/gradle/libs-releases-local/org/gradle/gradle-resources/3.1/gradle-resources-3.1" = - { - host = repositories.gradle; - path = - "org/gradle/gradle-resources/3.1/gradle-resources-3.1"; - type = "jar"; - pom = { - sha1 = "2354cec814a016ef061bf68deab493162332b712"; - sha256 = "0vjy1hdw5gv26g73ck8kh87jkvi7dwczcf7y0dhrr42p9cfzdzcf"; - }; - jar = { - sha1 = "f8386a67e8e76c43adf65b1923ed26e0ec1ded2a"; - sha256 = "0c2l6h2s4qfkn0kc07pnv5j4b8wmvbqjrg2shxbi5wsjji2f9px3"; + sha1 = "ed7a64df6e3fbebf7d3d3dfc30b0f47efcc707f7"; + sha256 = "0gacyh2zf933lcdkl2drim3knhaj9pgl936q2m256bjw8m19ig6i"; }; }; "https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.0.0/annotation-1.0.0" = @@ -275,6 +50,36 @@ in { sha256 = "05n0yygdjlvvkb67vlfisiasz4xsj55k416dh2m55bvwbxsykahb"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.1.0/annotation-1.1.0" = + { + host = repositories.google; + path = + "androidx/annotation/annotation/1.1.0/annotation-1.1.0"; + type = "jar"; + pom = { + sha1 = "404526f88e3a7efa04f1c99074dfc10aff9061ee"; + sha256 = "1zlyg49llmpnhmhr4z17wp0q51phw5k6py6v5aal9vw0fyx754rf"; + }; + jar = { + sha1 = "e3a6fb2f40e3a3842e6b7472628ba4ce416ea4c8"; + sha256 = "14mnsnd1a6wrzadh8air665ylbb9i9gz1ajhin0nf50gngnn73fk"; + }; + }; + "https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resources/1.1.0/appcompat-resources-1.1.0" = + { + host = repositories.google; + path = + "androidx/appcompat/appcompat-resources/1.1.0/appcompat-resources-1.1.0"; + type = "aar"; + pom = { + sha1 = "04d25219b17a53da24285e9560bbf5c587abee38"; + sha256 = "1wlhjv2g94w40vczb0vl8avg23hia4ancr95hha6y6xhdkhi2q04"; + }; + jar = { + sha1 = "a573b2ab146d686244721ef1038d08043f18c67f"; + sha256 = "0qbk5wi4yd4l4w4f5jdgm9xvszw3jm5qj8by6iya2lb5nhr4v50r"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.0.0/appcompat-1.0.0" = { host = repositories.google; @@ -305,6 +110,36 @@ in { sha256 = "00qdpzv9ajq8dvvyvkqiq8g03023gmjv2a6lz5rcnmjwbvfhq253"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0-rc01/appcompat-1.1.0-rc01" = + { + host = repositories.google; + path = + "androidx/appcompat/appcompat/1.1.0-rc01/appcompat-1.1.0-rc01"; + type = "aar"; + pom = { + sha1 = "49c937cd4c8edaa42aefa8eb7b9adffc3c5362c3"; + sha256 = "0gy1y4rw48iljrii6hg34lh9ydb2m8filvych6rmlsy7j5dgps7x"; + }; + jar = { + sha1 = "62955e0a3c6f4566648f30da6e40e44b01221422"; + sha256 = "0kv75gf28rm5xbh8dxsaz4vkiz8s5am5bcdxka92wkyv4hx3n4cm"; + }; + }; + "https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0/appcompat-1.1.0" = + { + host = repositories.google; + path = + "androidx/appcompat/appcompat/1.1.0/appcompat-1.1.0"; + type = "aar"; + pom = { + sha1 = "83765254bf5e6aa04bb1f35960db460afd70b048"; + sha256 = "1fdp5i5ri67xnvf1r2hcdlkl5rd3g8sqy338lq18xvzq45qn239l"; + }; + jar = { + sha1 = "351d3409fe51f3d862bd2b1bcc0f3b6ded29460e"; + sha256 = "1h5m5ajd7b66dilfh8z2zs0zqnglrdm7d5amgzqvvcscljy9jwld"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.0.0/core-common-2.0.0" = { host = repositories.google; @@ -320,6 +155,21 @@ in { sha256 = "1n3sqpd398a23jdqwpql9ls0if23vzhaj37fn1j6wllvfwvv702b"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.1.0/core-common-2.1.0" = + { + host = repositories.google; + path = + "androidx/arch/core/core-common/2.1.0/core-common-2.1.0"; + type = "jar"; + pom = { + sha1 = "2b3b788454b0aa77266f2ce191eba3a7768678ca"; + sha256 = "00fgwnngz2qbicwajshx599l3r0ljjslrjb6qc561g5a1sbb7fw3"; + }; + jar = { + sha1 = "b3152fc64428c9354344bd89848ecddc09b6f07e"; + sha256 = "129qclk47ifk57y8d135lfqchx7gffpswfgy55zkw1lx0azkf4py"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/arch/core/core-runtime/2.0.0/core-runtime-2.0.0" = { host = repositories.google; @@ -350,6 +200,21 @@ in { sha256 = "12vcz7x5c693gicyr8g1mbm1nq80fvz34n170sxr9pddaw6bdspp"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/cardview/cardview/1.0.0/cardview-1.0.0" = + { + host = repositories.google; + path = + "androidx/cardview/cardview/1.0.0/cardview-1.0.0"; + type = "aar"; + pom = { + sha1 = "93a261514381247a8a6bebe171338f9f2f883f27"; + sha256 = "0v1y3h373chacgpbwi662jq3s58v1bl6z7jrggi8ydaqighg8kp6"; + }; + jar = { + sha1 = "158dbc2e2bc502815821191b04446b8f663c1874"; + sha256 = "1izy3bd2vn4rzf3mvgdnf5mdxbfnb664x7xfdnabbmm3496c14qi"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.0.0/collection-1.0.0" = { host = repositories.google; @@ -365,6 +230,21 @@ in { sha256 = "1yf979z85xq8lxr06mqkc31icns9bgh5gf7yrnhj1h9bbixi33cw"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/collection/collection/1.1.0/collection-1.1.0" = + { + host = repositories.google; + path = + "androidx/collection/collection/1.1.0/collection-1.1.0"; + type = "jar"; + pom = { + sha1 = "e1eba7bcd8a98744b7850e5c474edebaafba6fbb"; + sha256 = "1lan6jd3r0g1n5q4z3hizxbq0fd03g1r70jhrkiwdzdclin0dsb7"; + }; + jar = { + sha1 = "1f27220b47669781457de0d600849a5de0e89909"; + sha256 = "0wivsgvxlxqcha3sf1s2f8vi0a9a54798llk81sff7a60xa0wak3"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/coordinatorlayout/coordinatorlayout/1.0.0/coordinatorlayout-1.0.0" = { host = repositories.google; @@ -395,6 +275,21 @@ in { sha256 = "167rc0s7c8wlzf6i9d1pd8y4dpmw7m4i5yd4nxgqrb9cq8i0badi"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/core/core/1.1.0/core-1.1.0" = + { + host = repositories.google; + path = + "androidx/core/core/1.1.0/core-1.1.0"; + type = "aar"; + pom = { + sha1 = "2a6d529fdea6d3525bd70f46b6f1fc1a580a8513"; + sha256 = "0k3ma57ilij3rp6iq416dndqd42qss7vfz2z8acbfindrlr63r6s"; + }; + jar = { + sha1 = "b9addd897d6b9c8634fe789bdb82f993171432ae"; + sha256 = "0zk4av88i842a7754fwsmh49qac9x24irgw3d6dc1qvgb6zczivn"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/cursoradapter/cursoradapter/1.0.0/cursoradapter-1.0.0" = { host = repositories.google; @@ -575,6 +470,21 @@ in { sha256 = "1y0qnp8644b1qx0ag0kzj8w70c09mnqwz9l9g7kk4np63zbk5pb5"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/fragment/fragment/1.1.0/fragment-1.1.0" = + { + host = repositories.google; + path = + "androidx/fragment/fragment/1.1.0/fragment-1.1.0"; + type = "aar"; + pom = { + sha1 = "753e03826c6efdace71d94ed9d04bf008fa6ad3d"; + sha256 = "0i15nlfh2lbjyzydby2k32h3fa1sqxbki2jzbmag7p82mhkyny7g"; + }; + jar = { + sha1 = "5f9efc7569e651415a0958d6b3e6226ef2825c24"; + sha256 = "15hlv03x61fcs9qcb7m2h8wjh75bpsk6dlpv03l2iwak467qnk51"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/interpolator/interpolator/1.0.0/interpolator-1.0.0" = { host = repositories.google; @@ -650,6 +560,21 @@ in { sha256 = "1z7y6nsqdzv08x4dxbgcjfyj0pvhkgwmwpgkl5pymb84i0c7mbbv"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-common/2.1.0/lifecycle-common-2.1.0" = + { + host = repositories.google; + path = + "androidx/lifecycle/lifecycle-common/2.1.0/lifecycle-common-2.1.0"; + type = "jar"; + pom = { + sha1 = "de2b915adafa394edd5eadcab6b5089d08fb71f6"; + sha256 = "0xpjh83m6ikc9rqmhz0sbm9my9bg351qjvmviw6255bs8dh2lb39"; + }; + jar = { + sha1 = "c67e7807d9cd6c329b9d0218b2ec4e505dd340b7"; + sha256 = "0hr610gzh7k0hbd4fs3l4hl9bn965hmb3zn2c6rhywxx6gjnpnvn"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-livedata-core/2.0.0/lifecycle-livedata-core-2.0.0" = { host = repositories.google; @@ -695,6 +620,21 @@ in { sha256 = "1yrwsjfskismgyq5n1vkqv9gz4m445hz876z1qz6ygqq6vkckbz4"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-runtime/2.1.0/lifecycle-runtime-2.1.0" = + { + host = repositories.google; + path = + "androidx/lifecycle/lifecycle-runtime/2.1.0/lifecycle-runtime-2.1.0"; + type = "aar"; + pom = { + sha1 = "87fefa0cd4644709a2afc1f2da09397694bfe8b1"; + sha256 = "1jwzjl6nwxnqpgmwmpx170ms6ybxygdyhsrxnpabqy9dvc1cz3dg"; + }; + jar = { + sha1 = "24af6c5162c83b5bf073e16608fd87821422fe48"; + sha256 = "0arir2aa3qqc74x24qw8slrgbls22ypxbnc33rjp1s35p6bkh5z5"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-viewmodel/2.0.0/lifecycle-viewmodel-2.0.0" = { host = repositories.google; @@ -710,6 +650,21 @@ in { sha256 = "0qn0pkzk70jh5j7w5rf3hy6xxgs3krz2k26g2jmq1bbb3gm0linn"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/lifecycle/lifecycle-viewmodel/2.1.0/lifecycle-viewmodel-2.1.0" = + { + host = repositories.google; + path = + "androidx/lifecycle/lifecycle-viewmodel/2.1.0/lifecycle-viewmodel-2.1.0"; + type = "aar"; + pom = { + sha1 = "b95d38b7236e5bb4249d74fdab5044c292158342"; + sha256 = "1d54r4vs36ad9zcixdip1mpr575pqy2lqflp9kkjgqn377ip5ai9"; + }; + jar = { + sha1 = "682d06cc95e0632efdb9cfcc18828840ac941148"; + sha256 = "0gajp14n4s37m9n37vs39hmhp6ax13vsra6d4x9qv0mjq5xgnmds"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/loader/loader/1.0.0/loader-1.0.0" = { host = repositories.google; @@ -800,6 +755,21 @@ in { sha256 = "0j25mc0jfdgzw541icbvjns63aj29fd4ch1bkp52fh01mjqnz586"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/savedstate/savedstate/1.0.0/savedstate-1.0.0" = + { + host = repositories.google; + path = + "androidx/savedstate/savedstate/1.0.0/savedstate-1.0.0"; + type = "aar"; + pom = { + sha1 = "3efaae1f3b3dc6c389a390ef716ede40ec63ef06"; + sha256 = "0z6yiwznp9wslahfxx9nh6nrrv48myfj4nampxw8qygazhi7skc4"; + }; + jar = { + sha1 = "6d39721808cd67e3d3d0d60f194907615fcaa69c"; + sha256 = "10rf82xya0cgizx20kpwwbzx0g1jmzx78id0w6f9qmrpkihsa415"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/slidingpanelayout/slidingpanelayout/1.0.0/slidingpanelayout-1.0.0" = { host = repositories.google; @@ -830,6 +800,51 @@ in { sha256 = "13bf0brs7wn9kd0xmjdmjl7fqvbm8p3bpi530vyr7c6916lb6qcp"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/swiperefreshlayout/swiperefreshlayout/1.1.0-alpha02/swiperefreshlayout-1.1.0-alpha02" = + { + host = repositories.google; + path = + "androidx/swiperefreshlayout/swiperefreshlayout/1.1.0-alpha02/swiperefreshlayout-1.1.0-alpha02"; + type = "aar"; + pom = { + sha1 = "a46229bf11dbdf4d2952357d050b14b6d432c628"; + sha256 = "0aj4kch3rkx1s5bl6mmvwgvi214ldspgm4g4flx1kkqr46n1x0r8"; + }; + jar = { + sha1 = "5cb9e619bcf4b8d4c0fae0d8530abcaeee292110"; + sha256 = "1rh1zdnh1ipb867bsclrrn4z9lx062h98a9q7wzs523yx9ih7y00"; + }; + }; + "https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.0.0/transition-1.0.0" = + { + host = repositories.google; + path = + "androidx/transition/transition/1.0.0/transition-1.0.0"; + type = "aar"; + pom = { + sha1 = "cba38d22419c84dcf737d666ae0c980f1e521e65"; + sha256 = "12v826hkvgrm3hzf3x5il92x50gan60gz7x47cq2ykn97ag8ljz7"; + }; + jar = { + sha1 = "f3556ce8f251984acb24014c3ba055ff235929ff"; + sha256 = "1380yk8978c19d0rl6hi3f0caac9fg5sy3lvvbnbq6j07xv0y2m0"; + }; + }; + "https://dl.google.com/dl/android/maven2/androidx/transition/transition/1.1.0/transition-1.1.0" = + { + host = repositories.google; + path = + "androidx/transition/transition/1.1.0/transition-1.1.0"; + type = "aar"; + pom = { + sha1 = "0c354a924354ceed91673412fb5b6ce326735a63"; + sha256 = "0paa8lci1xhkd631ak7knk87fbxbxi255clphhb3dy9kqvla2k2x"; + }; + jar = { + sha1 = "ee403adc3ae340af6461cdd8151b4518c9f5c1b0"; + sha256 = "0y7kx238yghsrh06ywgw9xm9zaw0izjcgkmxjngnalc78by4r3mx"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable-animated/1.0.0/vectordrawable-animated-1.0.0" = { host = repositories.google; @@ -845,6 +860,21 @@ in { sha256 = "1wbc4cnbbd4hgkmy6l97jpcm47a3gvrz400bb8ipv6ls1b7s1hr6"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable-animated/1.1.0/vectordrawable-animated-1.1.0" = + { + host = repositories.google; + path = + "androidx/vectordrawable/vectordrawable-animated/1.1.0/vectordrawable-animated-1.1.0"; + type = "aar"; + pom = { + sha1 = "2c40e16427f4e94ea471526868ba5ac4bd13de6d"; + sha256 = "1ga0l1hbl7l1f8j27yvm4frx6vvgqnb99vh3j1dvfpvhdc8j0si7"; + }; + jar = { + sha1 = "fcda1161354501471c30a4e077af6b5c4d4eddc6"; + sha256 = "1y034igcx1xf7qvg6n6hks08gnh0ilj2npnzaj0c7nbi4d82rnkn"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable/1.0.1/vectordrawable-1.0.1" = { host = repositories.google; @@ -860,6 +890,21 @@ in { sha256 = "1ljyf6gymbz9hhcygrmz0va5bmn26ffirq48qcpya44mgfami8sc"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/vectordrawable/vectordrawable/1.1.0/vectordrawable-1.1.0" = + { + host = repositories.google; + path = + "androidx/vectordrawable/vectordrawable/1.1.0/vectordrawable-1.1.0"; + type = "aar"; + pom = { + sha1 = "8b15e03d94f7d9a07cbea653ad7f524315d1d507"; + sha256 = "1cib94wwskg9haj7v9amvlfmwfs7bz723g2wg024irbr45djs3jv"; + }; + jar = { + sha1 = "eac7a364fff534035a2a6cb17770a1288315f69f"; + sha256 = "09lfvw1gn16avi726kbpd6d9x2ssih4vyqy2mgybfj8vq0x67za6"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.0.0/versionedparcelable-1.0.0" = { host = repositories.google; @@ -875,6 +920,21 @@ in { sha256 = "1qqw5vnqzyc45x3s3njf8bh1008bprq0l50frbfwq5l0xn9qlhzn"; }; }; + "https://dl.google.com/dl/android/maven2/androidx/versionedparcelable/versionedparcelable/1.1.0/versionedparcelable-1.1.0" = + { + host = repositories.google; + path = + "androidx/versionedparcelable/versionedparcelable/1.1.0/versionedparcelable-1.1.0"; + type = "aar"; + pom = { + sha1 = "5860ab66f74bffbfcfd51883ddabd477a0b80dc8"; + sha256 = "1dakq8yjjfxx8jd0h8csg4xx9nvrdrk61m19m2yj6qy01jzcfaf7"; + }; + jar = { + sha1 = "91acce73e00a17b524f6697f6c3893efb8ea349f"; + sha256 = "1h8hnymlblgxdbflcbgdhw4q1hcv2myywm2hdf3bf8n218a7f7cs"; + }; + }; "https://dl.google.com/dl/android/maven2/androidx/viewpager/viewpager/1.0.0/viewpager-1.0.0" = { host = repositories.google; @@ -2753,6 +2813,21 @@ in { sha256 = "01xqv2zdy2if0fm28l2kfj86dyj1adq977nvhy8v0kzscvxgv0d0"; }; }; + "https://dl.google.com/dl/android/maven2/com/google/android/material/material/1.0.0/material-1.0.0" = + { + host = repositories.google; + path = + "com/google/android/material/material/1.0.0/material-1.0.0"; + type = "aar"; + pom = { + sha1 = "2bcf783c3bc66bafc0e1c9ca721d7544659bb6c3"; + sha256 = "1aqm6mh1448hszv9agcq85wckpyiwjzhpi85wdfij48wsm0zbzy9"; + }; + jar = { + sha1 = "f83e012c22d2fac8fcf23880d7167832b099fa94"; + sha256 = "1p0sq4kgxybslqj8044fh056m9fqmp543r5jk7crhdy0lf0y703n"; + }; + }; "https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-common/16.0.3/firebase-common-16.0.3" = { host = repositories.google; @@ -7804,62 +7879,6 @@ in { sha256 = "16fyyvalj6al7hxgz7w2x27xzmaw0ldc2wiax0w23ry2gzg4gjwd"; }; }; - "https://repo.maven.apache.org/maven2/com/esotericsoftware/kryo/kryo/2.20/kryo-2.20" = - { - host = repositories.apache; - path = - "com/esotericsoftware/kryo/kryo/2.20/kryo-2.20"; - type = "jar"; - pom = { - sha1 = "db5822be831634cb9fc7d3ad60fc2d48e172a1a7"; - sha256 = "1crg1d2mqqj0m8ddgfwvqpl9vjbpn30baxwi7qymfqh1haxcjzla"; - }; - jar = { - sha1 = "b596abed147c5c5b985c996094c5c1d6622dcb9f"; - sha256 = "160ign6lynid1za6xwhi3v8f82q2jdb6snzzcw2hmn54v980ws56"; - }; - }; - "https://repo.maven.apache.org/maven2/com/esotericsoftware/minlog/minlog/1.2/minlog-1.2" = - { - host = repositories.apache; - path = - "com/esotericsoftware/minlog/minlog/1.2/minlog-1.2"; - type = "jar"; - pom = { - sha1 = "67d00f6a12cac438eb96f12fa4e3b32ba452b810"; - sha256 = "18kpysh9sc3cv7y0rdy3hxrpvnvcw27jcb1sxgyq3di96cma20dg"; - }; - jar = { - sha1 = "59bfcd171d82f9981a5e242b9e840191f650e209"; - sha256 = "1wk09rf32radx01aspfmqfdqmna131s7ab4r3j83vl7mm0dcny56"; - }; - }; - "https://repo.maven.apache.org/maven2/com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07" = - { - host = repositories.apache; - path = - "com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07"; - type = "jar"; - pom = { - sha1 = "c5da38373fa65bd2870ced97ba4d5ccc08be62de"; - sha256 = "0phw8hmf1x87v68g39rzjbr34ci80sh5sf7m1xkdl4vhyja4nx4a"; - }; - jar = { - sha1 = "761028ef46da8ec16a16b25ce942463eb1a9f3d5"; - sha256 = "09k06wnbsxchb9p9jv3fg4jgkzjs5l9xxfhah9bi0n7zar45b635"; - }; - }; - "https://repo.maven.apache.org/maven2/com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07-shaded" = - { - host = repositories.apache; - path = - "com/esotericsoftware/reflectasm/reflectasm/1.07/reflectasm-1.07-shaded"; - type = "jar"; - jar = { - sha1 = "76f11c94a53ee975a0d9154b325c408b210155bd"; - sha256 = "0xkwgs97pnyw2nm3d84s18dsa886azvw350izjpfsx5jnjnhx9q8"; - }; - }; "https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.3.0/jackson-annotations-2.3.0" = { host = repositories.apache; @@ -8403,32 +8422,6 @@ in { sha256 = "0a38gd0j67siikp3zabrdgfkk7afnzg30pz0yfkvqgyafdg397g0"; }; }; - "https://repo.maven.apache.org/maven2/com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0" = - { - host = repositories.apache; - path = - "com/google/guava/guava-jdk5/17.0/guava-jdk5-17.0"; - type = "jar"; - pom = { - sha1 = "41f020642c6a9151ec18736d1fa01e6606c9be6f"; - sha256 = "0rnvlc2v46axw2wgy6g838is0jd6srpas5ycwz25pm0kg1i55hgq"; - }; - jar = { - sha1 = "463f8378feba44df7ba7cd9272d01837dad62b36"; - sha256 = "0qbc8lg1rqs75jin0afyw9s49qfkybvmdjv8v77a7pdn8xjlbgsr"; - }; - }; - "https://repo.maven.apache.org/maven2/com/google/guava/guava-parent-jdk5/17.0/guava-parent-jdk5-17.0" = - { - host = repositories.apache; - path = - "com/google/guava/guava-parent-jdk5/17.0/guava-parent-jdk5-17.0"; - type = "jar"; - pom = { - sha1 = "955dd912f3b5bd06e6db874b4d90de333745b0fe"; - sha256 = "0vzvn5h0yrnmis0f195ad108b1g7nglqgy0xq6rmcab34yy0d5js"; - }; - }; "https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/10.0.1/guava-parent-10.0.1" = { host = repositories.apache; @@ -10333,7 +10326,7 @@ in { "javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final"; type = "jar"; pom = { - sha1 = "0d2ad4d1498d1048abc6c6948fd3f835d8fdafb0"; + sha1 = ""; sha256 = "0772mrm8nw31xj6jg5hwgvy2hsbygn1y61mx615w3rnbwq8ljqxq"; }; jar = { @@ -24174,17 +24167,6 @@ in { sha256 = "06520i1ygx33iv11haz7l61m1xgzzhn4c72zjjyqdxirqkqprs7d"; }; }; - "https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.2/objenesis-parent-1.2" = - { - host = repositories.apache; - path = - "org/objenesis/objenesis-parent/1.2/objenesis-parent-1.2"; - type = "jar"; - pom = { - sha1 = "033696ac4ff0beb9e5893567e054d8d8e5a0c825"; - sha256 = "01whfmi39n77njfrpzx30ylcbfq6r5zkxjyby4vfrrazzslqckn8"; - }; - }; "https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/1.3/objenesis-parent-1.3" = { host = repositories.apache; @@ -24255,21 +24237,6 @@ in { sha256 = "1a4iyj3ri4arrbln3bajys08f7bb7jdijm7jha9lf9r5v5alnsf5"; }; }; - "https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.2/objenesis-1.2" = - { - host = repositories.apache; - path = - "org/objenesis/objenesis/1.2/objenesis-1.2"; - type = "jar"; - pom = { - sha1 = "9151e3c73d379b42f879b472bc5eec0b35b1eff8"; - sha256 = "0jmprfql0vpn2zf2ynfnwrdj72csm8i5bfshz70ih7f02l31nihx"; - }; - jar = { - sha1 = "bfcb0539a071a4c5a30690388903ac48c0667f2a"; - sha256 = "0w5s17ynrbwy5w65pv6pip5qspljlj9vvwpdd9ybhjc1awvw4rcc"; - }; - }; "https://repo.maven.apache.org/maven2/org/objenesis/objenesis/1.3/objenesis-1.3" = { host = repositories.apache; @@ -24506,17 +24473,6 @@ in { sha256 = "0cdr7hlzrlwcfr9r15wmphzxaiadc27s6gb58gvz3jrlxcsv86qw"; }; }; - "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/4.0/asm-parent-4.0" = - { - host = repositories.apache; - path = - "org/ow2/asm/asm-parent/4.0/asm-parent-4.0"; - type = "jar"; - pom = { - sha1 = "e7bed114eb05c1759de720bb50308ef2a97c5131"; - sha256 = "065cyifib7bjmq1cl4syg7qr4lxmkna0ma2abqf92z20xq5gwnj0"; - }; - }; "https://repo.maven.apache.org/maven2/org/ow2/asm/asm-parent/5.0.1/asm-parent-5.0.1" = { host = repositories.apache; @@ -24583,21 +24539,6 @@ in { sha256 = "053xrln1w9nj0aw23wsiqkgn8569fk6zx7mw8dns9jgcp55hc7br"; }; }; - "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/4.0/asm-4.0" = - { - host = repositories.apache; - path = - "org/ow2/asm/asm/4.0/asm-4.0"; - type = "jar"; - pom = { - sha1 = "5e484ac83d98253bf04ce8653aa959e8f0331783"; - sha256 = "1mw6sx3nv9rz2wvb3g5irsj794zq35x8fn6x74nv2ilyhnpfyg76"; - }; - jar = { - sha1 = "659add6efc75a4715d738e73f07505246edf4d66"; - sha256 = "0mx9wb9b4z699hsh33zh7dwyzavk9sly179xqhjb0yx4428dwbgv"; - }; - }; "https://repo.maven.apache.org/maven2/org/ow2/asm/asm/5.0.2/asm-5.0.2" = { host = repositories.apache; @@ -24915,21 +24856,6 @@ in { sha256 = "0zima9a1p07dw2yd362y701qyd063rl6n2dbfq8yw57p62890yrn"; }; }; - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.10/slf4j-api-1.7.10" = - { - host = repositories.apache; - path = - "org/slf4j/slf4j-api/1.7.10/slf4j-api-1.7.10"; - type = "jar"; - pom = { - sha1 = "e5247e58569e3386a67622e01fcbf189ea902cbf"; - sha256 = "1c8ldjj2nvyd22xlrdainh1bs90srjrr3p9dg5s2qhk34a6mx75g"; - }; - jar = { - sha1 = "5b338f206827d88acd890739f400a9b7664e5984"; - sha256 = "1zib4f8lj0787di7v2j04ad5w4gaxw9v31xzi494s3bl0mqf4qrq"; - }; - }; "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.19/slf4j-api-1.7.19" = { host = repositories.apache; @@ -25027,17 +24953,6 @@ in { sha256 = "11fc0rb40w1s7v2b13gx70njzbiwmrz5bkik9y40698a5x9n583n"; }; }; - "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.10/slf4j-parent-1.7.10" = - { - host = repositories.apache; - path = - "org/slf4j/slf4j-parent/1.7.10/slf4j-parent-1.7.10"; - type = "jar"; - pom = { - sha1 = "ed97ed5a64d2851ed1709f94f66fc553d52e310a"; - sha256 = "1kp2jy8qp7pxl5ysryblngb8w963z256ar7v4r4rpdrg33sygghs"; - }; - }; "https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.7.19/slf4j-parent-1.7.19" = { host = repositories.apache; diff --git a/project.clj b/project.clj index d630ae4fed..c2e6352a6d 100644 --- a/project.clj +++ b/project.clj @@ -2,6 +2,8 @@ :url "https://github.com/status-im/status-react/" :license {:name "Eclipse Public License" :url "http://www.eclipse.org/legal/epl-v10.html"} + ;; NOTE: Dependecies here are used in CI, till the CI script will be updated + ;; all deps should be maintained in deps.edn and here. :dependencies [[org.clojure/clojure "1.10.0"] [org.clojure/clojurescript "1.10.520" :exclusions @@ -19,8 +21,8 @@ [com.taoensso/encore "2.94.0"] [hickory "0.7.1"] [cljs-bean "1.3.0"] - [mvxcvi/alphabase "1.0.0"] - [rasom/cljs-react-navigation "0.1.4"]] + [binaryage/oops "0.7.0"] + [mvxcvi/alphabase "1.0.0"]] :plugins [[rasom/lein-githooks "0.1.5"] [lein-cljsbuild "1.1.7"] [lein-re-frisk "0.5.8"] diff --git a/react-native/src/mobile/status_im/react_native/js_dependencies.cljs b/react-native/src/mobile/status_im/react_native/js_dependencies.cljs index 5d75458f2b..74a70cc1d7 100644 --- a/react-native/src/mobile/status_im/react_native/js_dependencies.cljs +++ b/react-native/src/mobile/status_im/react_native/js_dependencies.cljs @@ -4,6 +4,7 @@ (def fs (js/require "react-native-fs")) (def keychain (js/require "react-native-keychain")) (def qr-code (js/require "qrcode")) +(def react (js/require "react")) (def react-native (js/require "react-native")) (def status-keycard (js/require "react-native-status-keycard")) (def webview-bridge (js/require "react-native-webview-bridge")) @@ -26,8 +27,6 @@ (def background-timer-class (js/require "react-native-background-timer")) (def background-timer (.-default background-timer-class)) (def svg (js/require "react-native-svg")) -(def react-navigation (js/require "react-navigation")) -(def react-native-navigation-twopane (js/require "react-native-navigation-twopane")) (def react-native-shake (js/require "react-native-shake")) (def react-native-screens (js/require "react-native-screens")) (def net-info (js/require "@react-native-community/netinfo")) @@ -40,3 +39,7 @@ (def desktop-config #js {:addEventListener (fn [])}) (def desktop-shortcuts #js {:addEventListener (fn [])}) (def safe-area-context (js/require "react-native-safe-area-context")) + +(def react-navigation-native (js/require "@react-navigation/native")) +(def react-navigation-stack (js/require "@react-navigation/stack")) +(def react-navigation-bottom-tabs (js/require "@react-navigation/bottom-tabs")) diff --git a/src/status_im/android/core.cljs b/src/status_im/android/core.cljs index 0617d01441..0fe93d5ece 100644 --- a/src/status_im/android/core.cljs +++ b/src/status_im/android/core.cljs @@ -41,8 +41,6 @@ (when-not (zero? @keyboard-height) (dispatch [:set :keyboard-height 0])))) (.hide react/splash-screen) - ;; TODO Temporarily comment away due to current bug https://github.com/kmagiera/react-native-screens/issues/54 - ;(.useScreens rn-dependencies/react-native-screens) (.addEventListener react/app-state "change" app-state-change-handler) (.addEventListener rn-dependencies/react-native-languages "change" on-languages-change) (.addEventListener rn-dependencies/react-native-shake diff --git a/src/status_im/chat/models/loading.cljs b/src/status_im/chat/models/loading.cljs index e8aad6e0e7..10690ccd97 100644 --- a/src/status_im/chat/models/loading.cljs +++ b/src/status_im/chat/models/loading.cljs @@ -39,6 +39,7 @@ (filters/load-filters)))) (fx/defn offload-all-messages + {:events [::offload-all-messages]} [{:keys [db] :as cofx}] (when-let [current-chat-id (:current-chat-id db)] {:db @@ -156,6 +157,7 @@ (mailserver/load-gaps-fx current-chat-id))))))) (fx/defn load-messages + {:events [::load-messages]} [{:keys [db now] :as cofx}] (when-let [current-chat-id (:current-chat-id db)] (if-not (get-in db [:chats current-chat-id :messages-initialized?]) diff --git a/src/status_im/contact/core.cljs b/src/status_im/contact/core.cljs index 11cc09482c..1234e020a6 100644 --- a/src/status_im/contact/core.cljs +++ b/src/status_im/contact/core.cljs @@ -151,7 +151,7 @@ (contacts-store/fetch-contacts-rpc cofx #(re-frame/dispatch [::contacts-loaded %]))) (fx/defn open-contact-toggle-list - [{:keys [db :as cofx]}] + [{:keys [db] :as cofx}] (fx/merge cofx {:db (assoc db :group/selected-contacts #{} diff --git a/src/status_im/core.cljs b/src/status_im/core.cljs index 7e461c46b3..67721e31b6 100644 --- a/src/status_im/core.cljs +++ b/src/status_im/core.cljs @@ -18,5 +18,5 @@ (defn init [app-root] (utils.logs/init-logs) (error-handler/register-exception-handler!) - (re-frame/dispatch [:init/app-started]) + (re-frame/dispatch-sync [:init/app-started]) (.registerComponent react/app-registry "StatusIm" #(reagent/reactify-component app-root))) diff --git a/src/status_im/ens/core.cljs b/src/status_im/ens/core.cljs index 6baba5b7d0..459327c3e6 100644 --- a/src/status_im/ens/core.cljs +++ b/src/status_im/ens/core.cljs @@ -110,10 +110,10 @@ ;; we reset navigation so that navigate back doesn't return ;; into the registration flow (navigation/navigate-reset cofx - {:index 1 - :key :profile-stack - :actions [{:routeName :my-profile} - {:routeName :ens-confirmation}]})) + {:index 1 + :key :profile-stack + :routes [{:name :my-profile} + {:name :ens-confirmation}]})) (defn- on-resolve-owner [registry custom-domain? username address public-key response resolve-last-id* resolve-last-id] @@ -219,10 +219,9 @@ {:db (dissoc db :ens/registration)} ;; we reset navigation so that navigate back doesn't return ;; into the registration flow - (navigation/navigate-reset {:index 1 - :key :profile-stack - :actions [{:routeName :my-profile} - {:routeName :ens-main}]}))) + (navigation/navigate-reset {:index 1 + :routes [{:name :my-profile} + {:name :ens-main}]}))) (fx/defn switch-domain-type {:events [::switch-domain-type]} diff --git a/src/status_im/events.cljs b/src/status_im/events.cljs index 1f3f9d87fc..35d776203e 100644 --- a/src/status_im/events.cljs +++ b/src/status_im/events.cljs @@ -145,18 +145,6 @@ (update :hardwallet dissoc :application-info))} (multiaccounts.login/open-login key-uid photo-path name public-key))))) -;; multiaccounts logout module - -(handlers/register-handler-fx - :multiaccounts.logout.ui/logout-pressed - (fn [cofx _] - (multiaccounts.logout/show-logout-confirmation cofx))) - -(handlers/register-handler-fx - :multiaccounts.logout.ui/logout-confirmed - (fn [cofx _] - (multiaccounts.logout/logout cofx))) - ;; multiaccounts update module (handlers/register-handler-fx diff --git a/src/status_im/hardwallet/core.cljs b/src/status_im/hardwallet/core.cljs index 7bee4c1eec..92cdb6f151 100644 --- a/src/status_im/hardwallet/core.cljs +++ b/src/status_im/hardwallet/core.cljs @@ -102,9 +102,7 @@ (defn multiaccounts-screen-did-load [{:keys [db]}] - {:db (-> db - (assoc-in [:hardwallet :setup-step] nil) - (dissoc :multiaccounts/login))}) + {:db (assoc-in db [:hardwallet :setup-step] nil)}) (defn authentication-method-screen-did-load [{:keys [db]}] diff --git a/src/status_im/hardwallet/recovery.cljs b/src/status_im/hardwallet/recovery.cljs index 5756284300..72f9e15dae 100644 --- a/src/status_im/hardwallet/recovery.cljs +++ b/src/status_im/hardwallet/recovery.cljs @@ -186,7 +186,7 @@ encryption-public-key {}) (if (= flow :import) - (navigation/navigate-to-cofx :keycard-recovery-success nil) + (navigation/navigate-replace-cofx :keycard-recovery-success nil) (navigation/navigate-to-cofx :welcome nil)))))) (fx/defn on-generate-and-load-key-success diff --git a/src/status_im/init/core.cljs b/src/status_im/init/core.cljs index 8fc2efc1c1..7b57c5d245 100644 --- a/src/status_im/init/core.cljs +++ b/src/status_im/init/core.cljs @@ -20,7 +20,7 @@ (fx/defn initialize-app-db "Initialize db to initial state" - [{{:keys [view-id hardwallet initial-props desktop/desktop + [{{:keys [hardwallet initial-props desktop/desktop supported-biometric-auth network/type app-active-since]} :db now :now}] {:db (assoc app-db :initial-props initial-props @@ -29,19 +29,12 @@ :hardwallet (dissoc hardwallet :secrets) :supported-biometric-auth supported-biometric-auth :app-active-since (or app-active-since now) - :view-id view-id)}) + :multiaccounts/loading true)}) (fx/defn initialize-views [cofx {:keys [logout?]}] (let [{{:multiaccounts/keys [multiaccounts] :as db} :db} cofx] - (cond - (empty? multiaccounts) - (navigation/navigate-to-cofx cofx :intro nil) - - logout? - (navigation/navigate-to-cofx cofx :multiaccounts nil) - - :else + (when (and (seq multiaccounts) (not logout?)) (let [{:keys [key-uid public-key photo-path name]} (first (#(sort-by :last-sign-in > %) (vals multiaccounts)))] (multiaccounts.login/open-login cofx key-uid photo-path name public-key))))) @@ -57,7 +50,10 @@ {} all-multiaccounts)] (fx/merge cofx - {:db (assoc db :multiaccounts/multiaccounts multiaccounts)} + {:db (-> db + (assoc :multiaccounts/multiaccounts multiaccounts) + (assoc :multiaccounts/logout? logout?) + (assoc :multiaccounts/loading false))} (initialize-views {:logout? logout?})))) (fx/defn start-app [cofx] diff --git a/src/status_im/ios/core.cljs b/src/status_im/ios/core.cljs index dd561c1f1d..8d35bb020a 100644 --- a/src/status_im/ios/core.cljs +++ b/src/status_im/ios/core.cljs @@ -38,7 +38,6 @@ #(when-not (= 0 @keyboard-height) (dispatch [:set :keyboard-height 0]))) (.hide react/splash-screen) - (.useScreens rn-dependencies/react-native-screens) (.addEventListener react/app-state "change" app-state-change-handler) (.addEventListener rn-dependencies/react-native-languages "change" on-languages-change) (.addEventListener rn-dependencies/react-native-shake diff --git a/src/status_im/multiaccounts/login/core.cljs b/src/status_im/multiaccounts/login/core.cljs index 8251441064..013a36029d 100644 --- a/src/status_im/multiaccounts/login/core.cljs +++ b/src/status_im/multiaccounts/login/core.cljs @@ -110,7 +110,7 @@ (fx/merge cofx {:db (update db :hardwallet dissoc :flow)} (if (= :import flow) - (navigation/navigate-to-cofx :keycard-recovery-success nil) + (navigation/navigate-to-cofx :intro-stack {:screen :keycard-recovery-success}) (navigation/navigate-to-cofx :welcome nil)))))) (fx/defn initialize-dapp-permissions @@ -188,10 +188,11 @@ multiaccount (dissoc settings :networks/current-network :networks/networks) network-id (str (get-in networks [current-network :config :NetworkId]))] (fx/merge cofx - (cond-> {:db (assoc db - :networks/current-network current-network - :networks/networks networks - :multiaccount multiaccount)} + (cond-> {:db (-> db + (dissoc :multiaccounts/login) + (assoc :networks/current-network current-network + :networks/networks networks + :multiaccount multiaccount))} (and platform/android? notifications-enabled?) (assoc ::notifications/enable nil) @@ -244,7 +245,6 @@ (when save-password? (keychain/save-user-password key-uid password)) (keychain/save-auth-method key-uid (or new-auth-method auth-method)) - (navigation/navigate-to-cofx :home nil) (when platform/desktop? (chat-model/update-dock-badge-label))))) @@ -252,15 +252,17 @@ [{:keys [db] :as cofx}] (let [{:keys [multiaccount :multiaccount/accounts]} db] (fx/merge cofx - {:db (assoc db - ;;NOTE when login the filters are initialized twice - ;;once for contacts and once for chats - ;;when creating an account we do it only once by calling - ;;load-filters directly because we don't have chats and contacts - ;;later on there is a check that filters have been initialized twice - ;;so here we set it at 1 already so that it passes the check once it has - ;;been initialized - :filters/initialized 1) + {:db (-> db + (dissoc :multiaccounts/login) + (assoc + ;;NOTE when login the filters are initialized twice + ;;once for contacts and once for chats + ;;when creating an account we do it only once by calling + ;;load-filters directly because we don't have chats and contacts + ;;later on there is a check that filters have been initialized twice + ;;so here we set it at 1 already so that it passes the check once it has + ;;been initialized + :filters/initialized 1)) :filters/load-filters [[(:waku-enabled multiaccount) []]]} (finish-keycard-setup) (protocol/initialize-protocol {:mailservers [] @@ -277,17 +279,17 @@ (fx/defn multiaccount-login-success [{:keys [db now] :as cofx}] (let [{:keys [key-uid password save-password? creating?]} (:multiaccounts/login db) - recovering? (get-in db [:intro-wizard :recovering?]) - login-only? (not (or creating? - recovering? - (keycard-setup? cofx))) - nodes nil] + recovering? (get-in db [:intro-wizard :recovering?]) + login-only? (not (or creating? + recovering? + (keycard-setup? cofx))) + nodes nil] (log/debug "[multiaccount] multiaccount-login-success" "login-only?" login-only? "recovering?" recovering?) (fx/merge cofx {:db (-> db - (dissoc :multiaccounts/login :connectivity/ui-status-properties) + (dissoc :connectivity/ui-status-properties) (update :hardwallet dissoc :on-card-read :card-read-in-progress? @@ -295,7 +297,7 @@ :multiaccount) (assoc :logged-in-since now)) ::json-rpc/call - [{:method "web3_clientVersion" + [{:method "web3_clientVersion" :on-success #(re-frame/dispatch [::initialize-web3-client-version %])}]} ;;FIXME (when nodes @@ -304,19 +306,8 @@ (login-only-events key-uid password save-password?) (create-only-events)) (when recovering? - (navigation/navigate-to-cofx :home nil))))) - -(fx/defn open-keycard-login - [{:keys [db] :as cofx}] - (let [navigation-stack (:navigation-stack db)] - (fx/merge cofx - {:db (-> db - (assoc-in [:hardwallet :pin :enter-step] :login) - (assoc-in [:hardwallet :pin :status] nil) - (assoc-in [:hardwallet :pin :login] []))} - (if (empty? navigation-stack) - (navigation/navigate-to-cofx :multiaccounts nil) - (navigation/navigate-to-cofx :keycard-login-pin nil))))) + (navigation/navigate-to-cofx :tabs {:screen :chat-stack + :params {:screen :home}}))))) (fx/defn open-login [{:keys [db] :as cofx} key-uid photo-path name public-key] @@ -336,7 +327,7 @@ (fx/defn open-login-callback {:events [:multiaccounts.login.callback/get-user-password-success]} [{:keys [db] :as cofx} password] - (let [key-uid (get-in db [:multiaccounts/login :key-uid]) + (let [key-uid (get-in db [:multiaccounts/login :key-uid]) keycard-account? (boolean (get-in db [:multiaccounts/multiaccounts key-uid :keycard-pairing]))] @@ -346,15 +337,18 @@ {:db (update-in db [:multiaccounts/login] assoc :password password :save-password? true)} - (navigation/navigate-to-cofx :progress nil) + (navigation/navigate-to-cofx :intro-stack {:screen :progress}) login) (fx/merge cofx (when keycard-account? - {:db (assoc-in db [:hardwallet :pin :enter-step] :login)}) - (navigation/navigate-to-cofx - (if keycard-account? :keycard-login-pin :login) - nil))))) + {:db (-> db + (assoc-in [:hardwallet :pin :enter-step] :login) + (assoc-in [:hardwallet :pin :status] nil) + (assoc-in [:hardwallet :pin :login] []))}) + (if keycard-account? + (navigation/navigate-to-cofx :intro-stack {:screen :keycard-login-pin}) + (navigation/navigate-to-cofx :intro-stack {:screen :login})))))) (fx/defn get-credentials [{:keys [db] :as cofx} key-uid] @@ -369,7 +363,7 @@ "Auth method: nil - not supported, \"none\" - not selected, \"password\", \"biometric\", \"biometric-prepare\"" {:events [:multiaccounts.login/get-auth-method-success]} [{:keys [db] :as cofx} auth-method] - (let [key-uid (get-in db [:multiaccounts/login :key-uid]) + (let [key-uid (get-in db [:multiaccounts/login :key-uid]) keycard-multiaccount? (boolean (get-in db [:multiaccounts/multiaccounts key-uid :keycard-pairing]))] (log/debug "[login] get-auth-method-success" "auth-method" auth-method @@ -383,9 +377,7 @@ (get-credentials % key-uid) ;;nil or "none" or "biometric-prepare" - (if keycard-multiaccount? - (open-keycard-login %) - (open-login-callback % nil)))))) + (open-login-callback % nil))))) (fx/defn biometric-auth-done {:events [:biometric-auth-done]} diff --git a/src/status_im/multiaccounts/logout/core.cljs b/src/status_im/multiaccounts/logout/core.cljs index 03f51eb8e0..ea6154f2c2 100644 --- a/src/status_im/multiaccounts/logout/core.cljs +++ b/src/status_im/multiaccounts/logout/core.cljs @@ -9,7 +9,8 @@ [status-im.ui.screens.navigation :as navigation] [status-im.utils.keychain.core :as keychain])) -(fx/defn logout-method [{:keys [db] :as cofx} {:keys [auth-method logout?]}] +(fx/defn logout-method + [{:keys [db] :as cofx} {:keys [auth-method logout?]}] (let [key-uid (get-in db [:multiaccount :key-uid])] (fx/merge cofx {::logout nil @@ -21,12 +22,14 @@ (init/initialize-app-db)))) (fx/defn logout - {:events [:logout]} + {:events [:logout :multiaccounts.logout.ui/logout-confirmed]} [cofx] (logout-method cofx {:auth-method keychain/auth-method-none :logout? true})) -(fx/defn show-logout-confirmation [_] +(fx/defn show-logout-confirmation + {:events [:multiaccounts.logout.ui/logout-pressed]} + [_] {:ui/show-confirmation {:title (i18n/label :t/logout-title) :content (i18n/label :t/logout-are-you-sure) diff --git a/src/status_im/subs.cljs b/src/status_im/subs.cljs index bf79a38e15..04a588b0ad 100644 --- a/src/status_im/subs.cljs +++ b/src/status_im/subs.cljs @@ -60,7 +60,6 @@ ;;view (reg-root-key-sub :view-id :view-id) -(reg-root-key-sub :navigation-stack :navigation-stack) (reg-root-key-sub :screen-params :navigation/screen-params) (reg-root-key-sub :two-pane-ui-enabled? :two-pane-ui-enabled?) @@ -191,8 +190,15 @@ (reg-root-key-sub :auth-method :auth-method) +(reg-root-key-sub :multiaccounts/loading :multiaccounts/loading) + ;;GENERAL ============================================================================================================== +(re-frame/reg-sub + :multiaccount/logged-in? + (fn [db] + (multiaccounts.model/logged-in? {:db db}))) + (re-frame/reg-sub :connection-stats :<- [:desktop/desktop] @@ -359,12 +365,6 @@ (fn [[params view-id-db] [_ view-id]] (get params (or view-id view-id-db)))) -(re-frame/reg-sub - :can-navigate-back? - :<- [:navigation-stack] - (fn [stack] - (> (count stack) 1))) - (re-frame/reg-sub :delete-swipe-position :<- [:animations] diff --git a/src/status_im/ui/components/status_bar/view.cljs b/src/status_im/ui/components/status_bar/view.cljs index 12abe8855f..910a00032e 100644 --- a/src/status_im/ui/components/status_bar/view.cljs +++ b/src/status_im/ui/components/status_bar/view.cljs @@ -3,10 +3,14 @@ [status-im.ui.components.status-bar.styles :as styles] [status-im.utils.platform :as platform])) +(def route->bar-type (merge {:qr-scanner {:type :black}} + (when platform/ios? + {:new-chat {:type :black} + :new-public-chat {:type :black}}))) + +;; TODO: Integrate into navigation (defn get-config [view-id] - (or (get {:qr-scanner {:type :black}} - view-id) - {:type :main})) + (get route->bar-type view-id {:type :main})) (defn set-status-bar "If more than one `StatusBar` is rendered, the one which was mounted last will diff --git a/src/status_im/ui/components/tabbar/core.cljs b/src/status_im/ui/components/tabbar/core.cljs index fa8350b4be..e381017282 100644 --- a/src/status_im/ui/components/tabbar/core.cljs +++ b/src/status_im/ui/components/tabbar/core.cljs @@ -3,6 +3,7 @@ [status-im.ui.components.animation :as animation] [status-im.ui.components.tabbar.styles :as tabs.styles] [reagent.core :as reagent] + [oops.core :refer [oget]] [status-im.ui.components.react :as react] [status-im.utils.platform :as platform] [status-im.ui.components.icons.vector-icons :as vector-icons] @@ -10,7 +11,9 @@ [status-im.i18n :as i18n] [re-frame.core :as re-frame])) -(defonce visible? (animation/create-value 1)) +(defonce visible? (animation/create-value 0)) + +(defonce minimized-state (reagent/atom nil)) (defonce last-to-value (atom 1)) (defn animate @@ -27,6 +30,20 @@ :useNativeDriver true}) callback)))) +(defn main-tab? [view-id] + (contains? + #{:home :wallet :open-dapp :my-profile :wallet-onboarding-setup} + view-id)) + +(defn minimize-bar [route-name] + (if (main-tab? route-name) + (do + (reset! minimized-state false) + (animate visible? 150 0)) + (do + (reset! minimized-state true) + (animate visible? 150 1)))) + (def tabs-list-data (->> [{:nav-stack :chat-stack @@ -49,119 +66,38 @@ :icon :main-icons/user-profile} :count-subscription :get-profile-unread-messages-number :accessibility-label :profile-tab-button}] - (remove nil?))) + (remove nil?) + (map-indexed vector))) -(defn new-tab - [{:keys [icon label active? nav-stack - accessibility-label count-subscription]}] - (let [count (when count-subscription - (re-frame/subscribe [count-subscription]))] - [react/touchable-highlight - {:style tabs.styles/touchable-container - :disabled active? - :on-press #(re-frame/dispatch-sync [:navigate-to nav-stack]) - :accessibility-label accessibility-label} - [react/view - {:style tabs.styles/new-tab-container} - [react/view - {:style tabs.styles/icon-container} - [vector-icons/icon icon (tabs.styles/icon active?)] - (when count - (cond - (or (pos? @count) (pos? (:other @count))) - [react/view {:style (if (= nav-stack :chat-stack) - tabs.styles/message-counter - tabs.styles/counter)} - [badge/message-counter (or (:other @count) @count) true]] - (pos? (:public @count)) - [react/view {:style tabs.styles/counter-public-container} - [react/view {:style tabs.styles/counter-public - :accessibility-label :public-unread-badge}]]))] - (when-not platform/desktop? - [react/view {:style tabs.styles/tab-title-container} - [react/text {:style (tabs.styles/new-tab-title active?)} - label]])]])) +(defn tab [] + (fn [{:keys [icon label active? nav-stack on-press + accessibility-label count-subscription]}] + (let [count (when count-subscription @(re-frame/subscribe [count-subscription]))] + [react/touchable-highlight {:style tabs.styles/touchable-container + :on-press on-press + :accessibility-label accessibility-label} + [react/view {:style tabs.styles/tab-container} + [react/view {:style tabs.styles/icon-container} + [vector-icons/icon icon (tabs.styles/icon active?)] + (when count + (cond + (or (pos? count) (pos? (:other count))) + [react/view {:style (if (= nav-stack :chat-stack) + tabs.styles/message-counter + tabs.styles/counter)} + [badge/message-counter (or (:other count) count) true]] + (pos? (:public count)) + [react/view {:style tabs.styles/counter-public-container} + [react/view {:style tabs.styles/counter-public + :accessibility-label :public-unread-badge}]]))] + (when-not platform/desktop? + [react/view {:style tabs.styles/tab-title-container} + [react/text {:style (tabs.styles/tab-title active?)} + label]])]]))) -(defn tabs [current-view-id] - [react/view - {:style tabs.styles/new-tabs-container} - [react/view {:style tabs.styles/tabs} - (for [{:keys [nav-stack accessibility-label count-subscription] - {:keys [icon title]} :content} tabs-list-data] - ^{:key nav-stack} - [new-tab - {:icon icon - :label title - :accessibility-label accessibility-label - :count-subscription count-subscription - :active? (= current-view-id nav-stack) - :nav-stack nav-stack}])]]) - -(defn main-tab? [view-id] - (contains? - #{:home :wallet :open-dapp :my-profile :wallet-onboarding-setup} - view-id)) - -(defn minimize-bar [view-id] - (if (main-tab? view-id) - (animate visible? 150 1) - (animate visible? 150 tabs.styles/minimized-tab-ratio))) - -(defn tabs-animation-wrapper-ios - [content] - [react/view {:style tabs.styles/title-cover-wrapper-ios} - [react/view - content - (when platform/iphone-x? - [react/view - {:style tabs.styles/ios-titles-cover}])]]) - -(defn tabs-animation-wrapper-android - [keyboard-shown? view-id content] - [react/view - {:style (tabs.styles/animation-wrapper - keyboard-shown? - (main-tab? view-id))} - [react/view - {:style tabs.styles/title-cover-wrapper-android} - content]]) - -(defn tabs-animation-wrapper [keyboard-shown? view-id tab] - (reagent.core/create-class - {:component-will-update - (fn [this new-params] - (let [old-view-id (get (.-argv (.-props this)) 2) - new-view-id (get new-params 2)] - (when (not= new-view-id old-view-id) - (minimize-bar new-view-id)))) - :reagent-render - (fn [keyboard-shown? view-id tab] - (when-not (contains? #{:enter-pin-settings} view-id) - (case platform/os - "ios" [tabs-animation-wrapper-ios - [react/animated-view - {:style (tabs.styles/animated-container visible? keyboard-shown?)} - [tabs tab]]] - "android" [tabs-animation-wrapper-android - keyboard-shown? - view-id - [react/animated-view - {:style (tabs.styles/animated-container visible? keyboard-shown?)} - [tabs tab]]] - "desktop" - [tabs-animation-wrapper-android - keyboard-shown? - view-id - [react/animated-view - {:style (tabs.styles/animated-container visible? keyboard-shown?)} - [tabs tab]]])))})) - -(def disappearance-duration 150) -(def appearance-duration 100) - -(defn tabbar [_ view-id] - (let [keyboard-shown? (reagent/atom false) - listeners (atom [])] +(defn tabs [] + (let [listeners (atom []) + keyboard-shown? (reagent/atom false)] (reagent/create-class {:component-did-mount (fn [] @@ -170,16 +106,10 @@ listeners [(.addListener react/keyboard "keyboardDidShow" (fn [] - (reset! keyboard-shown? true) - (animate visible? - disappearance-duration 0))) + (reset! keyboard-shown? true))) (.addListener react/keyboard "keyboardDidHide" (fn [] - (reset! keyboard-shown? false) - (animate visible? appearance-duration - (if (main-tab? @view-id) - 1 - tabs.styles/minimized-tab-ratio))))]))) + (reset! keyboard-shown? false)))]))) :component-will-unmount (fn [] (when (not-empty @listeners) @@ -187,14 +117,36 @@ (when listener (.remove listener))))) :reagent-render - (fn [args view-id] - (let [idx (.. (:navigation args) - -state - -index) - tab (case idx - 0 :chat-stack - 1 :browser-stack - 2 :wallet-stack - 3 :profile-stack - :chat-stack)] - [tabs-animation-wrapper @keyboard-shown? @view-id tab]))}))) + (fn [{:keys [navigate index inset]}] + [react/animated-view {:style (tabs.styles/tabs-wrapper @keyboard-shown? @minimized-state inset)} + [react/animated-view {:style (tabs.styles/animated-container visible?)} + [react/view + {:style tabs.styles/tabs-container} + [react/view {:style tabs.styles/tabs} + (for [[route-index + {:keys [nav-stack accessibility-label count-subscription content]}] + tabs-list-data + + :let [{:keys [icon title]} content]] + ^{:key nav-stack} + [tab + {:icon icon + :label title + :on-press #(navigate (name nav-stack)) + :accessibility-label accessibility-label + :count-subscription count-subscription + :active? (= (str index) (str route-index)) + :nav-stack nav-stack}])]]] + [react/view + {:style (tabs.styles/ios-titles-cover inset)}]])}))) + +(defn tabbar [props] + (let [navigate (oget props "navigation" "navigate") + index (oget props "state" "index")] + (reagent/as-element + [react/safe-area-consumer + (fn [insets] + (reagent/as-element + [tabs {:navigate navigate + :index index + :inset (oget insets "bottom")}]))]))) diff --git a/src/status_im/ui/components/tabbar/styles.cljs b/src/status_im/ui/components/tabbar/styles.cljs index 2ddb1a60cc..17758d64fa 100644 --- a/src/status_im/ui/components/tabbar/styles.cljs +++ b/src/status_im/ui/components/tabbar/styles.cljs @@ -7,7 +7,7 @@ (def tabs-height (cond platform/android? 52 - platform/ios? 52 + platform/ios? 52 platform/desktop? 36)) (def minimized-tabs-height 36) @@ -17,30 +17,6 @@ (def minimized-tab-ratio (/ minimized-tabs-height tabs-height)) -(def tab-height (dec tabs-height)) - -(def tabs-container - {:flex-direction :row - :height tabs-height - :background-color colors/white - :border-top-width 1 - :border-top-color colors/black-transparent}) - -(def tab-container - {:height tabs-height - :justify-content :center - :align-items :center}) - -(styles/defn tab-title [active?] - {:ios {:font-size 11} - :android {:font-size 11} - :desktop {:font-size 12 - :font-weight (if active? "600" "400")} - :text-align :center - :color (if active? - colors/blue - colors/gray)}) - (def counter {:right 0 :top 0 @@ -76,7 +52,7 @@ {:flex 1 :height tabs-height}) -(def new-tab-container +(def tab-container {:flex 1 :height tabs-height :align-items :center @@ -101,72 +77,49 @@ :align-items :center :justify-content :center}) -(defn new-tab-title [active?] +(defn tab-title [active?] {:color (if active? colors/blue colors/gray) :font-size 11}) -(styles/def new-tabs-container - {:height tabs-height - :align-self :stretch - :ios {:background-color :white - :shadow-radius 4 - :shadow-offset {:width 0 :height -5} - :shadow-opacity 0.3 - :shadow-color "rgba(0, 9, 26, 0.12)"} - :desktop {:background-color :white - :shadow-radius 4 - :shadow-offset {:width 0 :height -5} - :shadow-opacity 0.3 - :shadow-color "rgba(0, 9, 26, 0.12)"}}) +(styles/def tabs-container + {:height minimized-tabs-height + :align-self :stretch + :background-color :white + :ios {:shadow-radius 4 + :shadow-offset {:width 0 :height -5} + :shadow-opacity 0.3 + :shadow-color "rgba(0, 9, 26, 0.12)"} + :desktop {:background-color :white + :shadow-radius 4 + :shadow-offset {:width 0 :height -5} + :shadow-opacity 0.3 + :shadow-color "rgba(0, 9, 26, 0.12)"}}) (def tabs - {:height tabs-height - :align-self :stretch - :padding-left 8 - :padding-right 8 - :flex-direction :row}) + {:align-self :stretch + :padding-horizontal 8 + :flex-direction :row}) -(defn animated-container [visible? keyboard-shown?] - {:bottom 0 - :left 0 - :right 0 - :background-color :white - :elevation 8 - :position (when (or platform/ios? - keyboard-shown?) - :absolute) - :transform [{:translateY - (animation/interpolate - visible? - {:inputRange [0 1] - :outputRange [tabs-height 0]})}]}) +(defn animated-container [visible?] + {:transform [{:translateY + (animation/interpolate visible? + {:inputRange [0 1] + :outputRange [(- tabs-diff) 0]})}]}) -(def ios-titles-cover +(defn ios-titles-cover [inset] {:background-color :white :position :absolute - :height (- tabs-height minimized-tabs-height) + :height tabs-diff :align-self :stretch - :top 0 + :bottom (- inset tabs-diff) :right 0 :left 0}) -(def title-cover-wrapper-ios - {:left 0 - :right 0 - :bottom 0 - :padding-bottom (if platform/iphone-x? 34 0) - :position :absolute - :background-color :white}) - -(def title-cover-wrapper-android - {:left 0 - :right 0 - :bottom 0 - :position :absolute}) - -(defn animation-wrapper [keyboard-shown? main-tab?] - {:height (cond - keyboard-shown? 0 - main-tab? tabs-height - :else minimized-tabs-height) - :align-self :stretch}) +(defn tabs-wrapper [keyboard minimized inset] + (merge {:padding-bottom inset + :elevation 8 + :padding-top (if minimized 0 tabs-diff) + :background-color :white} + (when keyboard + {:position :absolute + :bottom (- tabs-height)}))) diff --git a/src/status_im/ui/screens/add_new/new_chat/events.cljs b/src/status_im/ui/screens/add_new/new_chat/events.cljs index adf2b3fa91..c2ce0a19ca 100644 --- a/src/status_im/ui/screens/add_new/new_chat/events.cljs +++ b/src/status_im/ui/screens/add_new/new_chat/events.cljs @@ -60,3 +60,8 @@ % new-identity @resolve-last-id])}}))))))) + +(handlers/register-handler-fx + ::new-chat-focus + (fn [{:keys [db]}] + {:db (dissoc db :contacts/new-identity)})) diff --git a/src/status_im/ui/screens/add_new/new_chat/navigation.cljs b/src/status_im/ui/screens/add_new/new_chat/navigation.cljs deleted file mode 100644 index cad1b0c38d..0000000000 --- a/src/status_im/ui/screens/add_new/new_chat/navigation.cljs +++ /dev/null @@ -1,6 +0,0 @@ -(ns status-im.ui.screens.add-new.new-chat.navigation - (:require [status-im.ui.screens.navigation :as navigation])) - -(defmethod navigation/preload-data! :new-chat - [db _] - (dissoc db :contacts/new-identity)) diff --git a/src/status_im/ui/screens/browser/open_dapp/views.cljs b/src/status_im/ui/screens/browser/open_dapp/views.cljs index 340676937b..bfb907ff06 100644 --- a/src/status_im/ui/screens/browser/open_dapp/views.cljs +++ b/src/status_im/ui/screens/browser/open_dapp/views.cljs @@ -8,7 +8,6 @@ [status-im.ui.components.list.views :as list] [status-im.ui.components.common.common :as components.common] [status-im.ui.screens.wallet.components.views :as components] - [status-im.ui.components.tabbar.styles :as tabs.styles] [status-im.react-native.resources :as resources] [status-im.ui.components.list-item.views :as list-item] [status-im.ui.components.icons.vector-icons :as vector-icons] @@ -70,7 +69,7 @@ [react/view {:position :absolute :z-index 2 :align-items :center - :bottom (+ 16 tabs.styles/tabs-diff) + :bottom 16 :left 0 :right 0 :padding-horizontal 32} @@ -106,7 +105,7 @@ [list-header false] [list/flat-list {:data browsers :footer [react/view - {:style {:height (+ tabs.styles/tabs-diff 64) + {:style {:height 64 :align-self :stretch}}] :key-fn :browser-id :end-fill-color colors/white diff --git a/src/status_im/ui/screens/db.cljs b/src/status_im/ui/screens/db.cljs index 306247cca1..96153e5da1 100644 --- a/src/status_im/ui/screens/db.cljs +++ b/src/status_im/ui/screens/db.cljs @@ -20,7 +20,6 @@ ;; initial state of app-db (def app-db {:keyboard-height 0 - :navigation-stack '(:multiaccounts) :contacts/contacts {} :pairing/installations {} :qr-codes {} @@ -63,7 +62,6 @@ ;;;;GLOBAL -(spec/def ::was-modal? (spec/nilable boolean?)) ;;"http://localhost:8545" (spec/def ::rpc-url (spec/nilable string?)) ;;object? doesn't work @@ -94,12 +92,6 @@ ;;current view (spec/def :navigation/view-id (spec/nilable keyword?)) -;;modal view id -(spec/def :navigation/modal (spec/nilable keyword?)) -;;stack of view's ids (keywords) -(spec/def :navigation/navigation-stack (spec/nilable seq?)) -(spec/def :navigation/prev-tab-view-id (spec/nilable keyword?)) -(spec/def :navigation/prev-view-id (spec/nilable keyword?)) ;; navigation screen params (spec/def :navigation.screen-params/network-details (spec/keys :req [:networks/selected-network])) (spec/def :navigation.screen-params/browser (spec/nilable map?)) @@ -121,7 +113,6 @@ (spec/def :navigation.screen-params/collectibles-list map?) -(spec/def :navigation.screen-params/selection-modal-screen map?) (spec/def :navigation.screen-params/manage-dapps-permissions map?) (spec/def :navigation/screen-params (spec/nilable (spec/keys :opt-un [:navigation.screen-params/network-details @@ -131,7 +122,6 @@ :navigation.screen-params/group-contacts :navigation.screen-params/edit-contact-group :navigation.screen-params/collectibles-list - :navigation.screen-params/selection-modal-screen :navigation.screen-params/manage-dapps-permissions]))) (spec/def :desktop/desktop (spec/nilable any?)) @@ -257,7 +247,6 @@ :popover/popover :wallet/sign-phrase-showed?] :opt-un [::modal - ::was-modal? ::rpc-url ::tooltips ::initial-props @@ -282,9 +271,6 @@ ::auth-method :multiaccount/multiaccount :navigation/view-id - :navigation/navigation-stack - :navigation/prev-tab-view-id - :navigation/prev-view-id :chat/chats :chat/current-chat-id :chat/chat-id diff --git a/src/status_im/ui/screens/ens/views.cljs b/src/status_im/ui/screens/ens/views.cljs index 5e838566f7..e047dc7610 100644 --- a/src/status_im/ui/screens/ens/views.cljs +++ b/src/status_im/ui/screens/ens/views.cljs @@ -19,7 +19,6 @@ [status-im.ui.components.toolbar.view :as toolbar] [status-im.ui.screens.chat.message.message :as message] [status-im.ui.screens.profile.components.views :as profile.components] - [status-im.utils.navigation :as navigation] [status-im.ui.components.list-item.views :as list-item] [status-im.ui.screens.chat.photos :as photos] [status-im.multiaccounts.core :as multiaccounts] @@ -186,10 +185,11 @@ [react/view {:flex-direction :row :justify-content :center} ;;NOTE required so that the keyboards shows up when navigating ;;back from checkout screen - [:> navigation/navigation-events - {:on-did-focus - (fn [] - (.focus @input-ref))}] + ;; TODO: navigation-events were deprecated + ;; [:> navigation/navigation-events + ;; {:on-did-focus + ;; (fn [] + ;; (.focus @input-ref))}] ;;NOTE setting the key as placeholder forces the component to remount ;;when the placeholder changes, this prevents the placeholder from ;;disappearing when switching between stateofus and custom domain diff --git a/src/status_im/ui/screens/events.cljs b/src/status_im/ui/screens/events.cljs index d54204f334..5cb5b6c177 100644 --- a/src/status_im/ui/screens/events.cljs +++ b/src/status_im/ui/screens/events.cljs @@ -4,12 +4,9 @@ status-im.ui.screens.group.chat-settings.events status-im.ui.screens.group.events status-im.utils.universal-links.events - status-im.ui.screens.add-new.new-chat.navigation status-im.ui.screens.profile.events - status-im.ui.screens.wallet.navigation [re-frame.core :as re-frame] [status-im.chat.models :as chat] - [status-im.chat.models.loading :as chat.loading] [status-im.hardwallet.core :as hardwallet] [status-im.mailserver.core :as mailserver] [status-im.multiaccounts.recover.core :as recovery] @@ -194,14 +191,12 @@ (fn [{:keys [db]} [_ enabled?]] {:db (assoc db :two-pane-ui-enabled? enabled?)})) +;; NOTE: Will be removed with the keycard PR (handlers/register-handler-fx :screens/on-will-focus (fn [{:keys [db] :as cofx} [_ view-id]] (fx/merge cofx - {:db (assoc db :view-id view-id)} #(case view-id - :chat (chat.loading/load-messages cofx) - :home (chat.loading/offload-all-messages cofx) :keycard-settings (hardwallet/settings-screen-did-load %) :reset-card (hardwallet/reset-card-screen-did-load %) :enter-pin-settings (hardwallet/enter-pin-screen-did-load %) diff --git a/src/status_im/ui/screens/group/events.cljs b/src/status_im/ui/screens/group/events.cljs index 5a0b0acefe..7f5c974453 100644 --- a/src/status_im/ui/screens/group/events.cljs +++ b/src/status_im/ui/screens/group/events.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.group.events - (:require [status-im.utils.handlers :as handlers] - [status-im.ui.screens.group.navigation])) + (:require [status-im.utils.handlers :as handlers])) (handlers/register-handler-fx :deselect-contact @@ -21,3 +20,8 @@ :select-participant (fn [{:keys [db]} [_ id]] {:db (update db :selected-participants conj id)})) + +(handlers/register-handler-fx + ::add-participants-toggle-list + (fn [{db :db}] + {:db (assoc db :selected-participants #{})})) diff --git a/src/status_im/ui/screens/group/navigation.cljs b/src/status_im/ui/screens/group/navigation.cljs deleted file mode 100644 index 29c641b01c..0000000000 --- a/src/status_im/ui/screens/group/navigation.cljs +++ /dev/null @@ -1,6 +0,0 @@ -(ns status-im.ui.screens.group.navigation - (:require [status-im.ui.screens.navigation :as nav])) - -(defmethod nav/preload-data! :add-participants-toggle-list - [db _] - (assoc db :selected-participants #{})) diff --git a/src/status_im/ui/screens/home/views.cljs b/src/status_im/ui/screens/home/views.cljs index 51f285d2b7..8aa6f154fd 100644 --- a/src/status_im/ui/screens/home/views.cljs +++ b/src/status_im/ui/screens/home/views.cljs @@ -41,7 +41,7 @@ [react/i18n-text {:style styles/welcome-text-description :key :welcome-to-status-description}]] [react/view {:align-items :center :margin-bottom 50} - [components.common/button {:on-press #(re-frame/dispatch [:navigate-back]) + [components.common/button {:on-press #(re-frame/dispatch [:navigate-reset :tabs]) :accessibility-label :lets-go-button :label (i18n/label :t/lets-go)}]]]) diff --git a/src/status_im/ui/screens/multiaccounts/login/views.cljs b/src/status_im/ui/screens/multiaccounts/login/views.cljs index ec146695a1..ee8d11d412 100644 --- a/src/status_im/ui/screens/multiaccounts/login/views.cljs +++ b/src/status_im/ui/screens/multiaccounts/login/views.cljs @@ -17,14 +17,6 @@ [status-im.ui.components.topbar :as topbar]) (:require-macros [status-im.utils.views :refer [defview letsubs]])) -(defn login-toolbar [can-navigate-back?] - [topbar/topbar - {:navigation (if can-navigate-back? - {:icon :main-icons/back - :accessibility-label :back-button - :handler #(re-frame/dispatch [:navigate-reset :multiaccounts])} - :none)}]) - (defn login-multiaccount [password-text-input] (.blur password-text-input) (re-frame/dispatch [:multiaccounts.login.ui/password-input-submitted])) @@ -46,14 +38,13 @@ (defview login [] (letsubs [{:keys [error processing save-password?] :as multiaccount} [:multiaccounts/login] - can-navigate-back? [:can-navigate-back?] password-text-input (atom nil) sign-in-enabled? [:sign-in-enabled?] auth-method [:auth-method] view-id [:view-id] supported-biometric-auth [:supported-biometric-auth]] [react/keyboard-avoiding-view {:style ast/multiaccounts-view} - [login-toolbar can-navigate-back?] + [topbar/topbar {}] [react/scroll-view {:keyboardShouldPersistTaps :always :style styles/login-view} [react/view styles/login-badge-container diff --git a/src/status_im/ui/screens/navigation.cljs b/src/status_im/ui/screens/navigation.cljs index d37153cce3..1b8b6f249e 100644 --- a/src/status_im/ui/screens/navigation.cljs +++ b/src/status_im/ui/screens/navigation.cljs @@ -1,7 +1,7 @@ (ns status-im.ui.screens.navigation (:require [re-frame.core :as re-frame] [status-im.utils.handlers :as handlers] - [status-im.utils.navigation :as navigation] + [status-im.ui.screens.routing.core :as navigation] [taoensso.timbre :as log] [status-im.utils.fx :as fx])) @@ -10,54 +10,29 @@ (defmethod unload-data! :default [db] db) -(defmulti preload-data! - (fn [db [_ view-id]] (or view-id (:view-id db)))) - -(defmethod preload-data! :default [db _] db) - -(defn- -preload-data! [{:keys [was-modal?] :as db} & args] - (if was-modal? - (dissoc db :was-modal?) - (apply preload-data! db args))) - (fx/defn navigate-to-cofx [{:keys [db]} go-to-view-id screen-params] - (let [view-id (:view-id db) - db (cond-> (assoc db :view-id go-to-view-id) + (let [db (cond-> (assoc db :view-id go-to-view-id) + + ;; TODO: Inspect the need of screen-params (seq screen-params) (assoc-in [:navigation/screen-params go-to-view-id] screen-params))] - {:db (if (= view-id go-to-view-id) - db - (-> db - (update :navigation-stack conj go-to-view-id) - (assoc :view-id go-to-view-id))) + {:db db ::navigate-to [go-to-view-id screen-params]})) (fx/defn navigate-replace-cofx [{:keys [db]} go-to-view-id screen-params] - (let [view-id (:view-id db) - db (cond-> (assoc db :view-id go-to-view-id) - (seq screen-params) - (assoc-in [:navigation/screen-params go-to-view-id] - screen-params))] - {:db (if (= view-id go-to-view-id) - db - (-> db - (update :navigation-stack conj go-to-view-id) - (assoc :view-id go-to-view-id))) + (let [db (cond-> (assoc db :view-id go-to-view-id) + (seq screen-params) + (assoc-in [:navigation/screen-params go-to-view-id] + screen-params))] + {:db db ::navigate-replace [go-to-view-id screen-params]})) (fx/defn navigate-reset - [{:keys [db]} {:keys [index actions] :as config}] - (let [stack (into '() (map :routeName actions)) - view-id (get stack index)] - {:db (assoc db - :view-id view-id - ;;NOTE: stricly needs to be a list - ;;because navigate-back pops it - :navigation-stack stack) - ::navigate-reset config})) + [_ config] + {::navigate-reset config}) (def unload-data-interceptor (re-frame/->interceptor @@ -68,7 +43,7 @@ (re-frame/assoc-coeffect context :db (unload-data! db)))))) (def navigation-interceptors - [unload-data-interceptor (re-frame/enrich preload-data!)]) + [unload-data-interceptor]) (re-frame/reg-fx ::navigate-to @@ -76,6 +51,12 @@ (log/debug :navigate-to view-id params) (navigation/navigate-to (name view-id) params))) +(re-frame/reg-fx + ::navigate-replace + (fn [[view-id params]] + (log/debug :navigate-replace view-id params) + (navigation/navigate-replace (name view-id) params))) + (re-frame/reg-fx ::navigate-back (fn [] @@ -100,40 +81,20 @@ (fn [cofx [_ & [go-to-view-id screen-params]]] (navigate-to-cofx cofx go-to-view-id screen-params))) -(handlers/register-handler-fx - :navigate-replace - navigation-interceptors - (fn [cofx [_ & [go-to-view-id screen-params]]] - (navigate-replace-cofx cofx go-to-view-id screen-params))) - -(handlers/register-handler-fx - :navigate-to-modal - navigation-interceptors - (fn [{:keys [db]} [_ modal-view]] - {:db (assoc db :modal modal-view)})) - (fx/defn navigate-back - [{{:keys [navigation-stack view-id] :as db} :db}] - {::navigate-back nil - :db (let [[previous-view-id :as navigation-stack'] (pop navigation-stack) - first-in-stack (first navigation-stack)] - (if (= view-id first-in-stack) - (-> db - (assoc :view-id previous-view-id) - (assoc :navigation-stack navigation-stack')) - (assoc db :view-id first-in-stack)))}) + [_] + {::navigate-back nil}) (handlers/register-handler-fx :navigate-back - (re-frame/enrich -preload-data!) (fn [cofx _] (navigate-back cofx))) (handlers/register-handler-fx :navigate-reset (fn [cofx [_ view-id]] - (navigate-reset cofx {:index 0 - :actions [{:routeName view-id}]}))) + (navigate-reset cofx {:index 0 + :routes [{:name view-id}]}))) (handlers/register-handler-fx :navigate-to-clean @@ -141,11 +102,7 @@ (navigate-to-cofx cofx view-id params))) (handlers/register-handler-fx - :navigate-to-tab + :navigate-replace navigation-interceptors - (fn [{:keys [db] :as cofx} [_ view-id]] - (fx/merge cofx - {:db (-> db - (assoc :prev-tab-view-id (:view-id db)) - (assoc :prev-view-id (:view-id db)))} - (navigate-to-cofx view-id {})))) + (fn [cofx [_ & [go-to-view-id screen-params]]] + (navigate-replace-cofx cofx go-to-view-id screen-params))) diff --git a/src/status_im/ui/screens/pairing/views.cljs b/src/status_im/ui/screens/pairing/views.cljs index 7ea4901991..f6d47d30ef 100644 --- a/src/status_im/ui/screens/pairing/views.cljs +++ b/src/status_im/ui/screens/pairing/views.cljs @@ -52,7 +52,8 @@ (defn footer [syncing] [react/touchable-highlight {:on-press (when-not @syncing synchronize-installations!) - :style main-tabs.styles/tabs-container} + ;; TODO: Inspect the need of coupling with tabbar here + :style main-tabs.styles/tabs-container} [react/view {:style styles/footer-content} [react/text diff --git a/src/status_im/ui/screens/profile/contact/views.cljs b/src/status_im/ui/screens/profile/contact/views.cljs index 6c2ef8837b..34d382e731 100644 --- a/src/status_im/ui/screens/profile/contact/views.cljs +++ b/src/status_im/ui/screens/profile/contact/views.cljs @@ -4,8 +4,6 @@ [status-im.i18n :as i18n] [status-im.ui.components.list.views :as list] [status-im.utils.utils :as utils] - [status-im.utils.platform :as platform] - [status-im.ui.components.tabbar.styles :as tabs.styles] [status-im.ui.components.icons.vector-icons :as icons] [status-im.ui.components.react :as react] [status-im.ui.components.large-toolbar.view :as large-toolbar] @@ -145,8 +143,6 @@ list-ref)] [react/view {:style - (merge {:flex 1} - (when platform/ios? - {:margin-bottom tabs.styles/tabs-diff}))} + (merge {:flex 1})} (:minimized-toolbar generated-view) (:content-with-header generated-view)])))) diff --git a/src/status_im/ui/screens/profile/user/views.cljs b/src/status_im/ui/screens/profile/user/views.cljs index 8d1e838391..f6131beebb 100644 --- a/src/status_im/ui/screens/profile/user/views.cljs +++ b/src/status_im/ui/screens/profile/user/views.cljs @@ -12,7 +12,6 @@ [status-im.ui.components.list.views :as list.views] [status-im.ui.components.qr-code-viewer.views :as qr-code-viewer] [status-im.ui.components.react :as react] - [status-im.ui.components.tabbar.styles :as tabs.styles] [status-im.ui.components.toolbar.view :as toolbar] [status-im.ui.screens.chat.photos :as photos] [status-im.ui.screens.profile.components.views :as profile.components] @@ -210,17 +209,15 @@ anim-opacity])) (defn content-with-header [list-ref scroll-y] - (let [{:keys [public-key - preferred-name + (let [{:keys [preferred-name mnemonic keycard-pairing - address notifications-enabled?] - :as multiaccount} @(re-frame/subscribe [:multiaccount]) + :as multiaccount} @(re-frame/subscribe [:multiaccount]) active-contacts-count @(re-frame/subscribe [:contacts/active-count]) - tribute-to-talk @(re-frame/subscribe [:tribute-to-talk/profile]) - registrar @(re-frame/subscribe [:ens.stateofus/registrar]) - photo-added? @(re-frame/subscribe [:profile/photo-added?])] + tribute-to-talk @(re-frame/subscribe [:tribute-to-talk/profile]) + registrar @(re-frame/subscribe [:ens.stateofus/registrar]) + photo-added? @(re-frame/subscribe [:profile/photo-added?])] [large-toolbar/flat-list-with-header-handler (header multiaccount photo-added?) (flat-list-content @@ -231,15 +228,11 @@ scroll-y])) (defn my-profile [] - (let [list-ref (reagent/atom nil) + (let [list-ref (reagent/atom nil) anim-opacity (animation/create-value 0) - scroll-y (animation/create-value 0)] + scroll-y (animation/create-value 0)] (large-toolbar/add-listener anim-opacity scroll-y) (fn [] - [react/view - {:style - (merge {:flex 1} - (when platform/ios? - {:margin-bottom tabs.styles/tabs-diff}))} + [react/view {:style {:flex 1}} [minimized-toolbar-handler anim-opacity] [content-with-header list-ref scroll-y]]))) diff --git a/src/status_im/ui/screens/progress/styles.cljs b/src/status_im/ui/screens/progress/styles.cljs index 20bcd088f0..8fca5f4315 100644 --- a/src/status_im/ui/screens/progress/styles.cljs +++ b/src/status_im/ui/screens/progress/styles.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.progress.styles - (:require [status-im.ui.components.colors :as colors] - [status-im.ui.components.toolbar.styles :as toolbar.styles])) + (:require [status-im.ui.components.colors :as colors])) (def container {:flex 1 diff --git a/src/status_im/ui/screens/qr_scanner/views.cljs b/src/status_im/ui/screens/qr_scanner/views.cljs index 3cdcc8c9c4..3389bec019 100644 --- a/src/status_im/ui/screens/qr_scanner/views.cljs +++ b/src/status_im/ui/screens/qr_scanner/views.cljs @@ -44,15 +44,15 @@ {:keys [height width]} [:dimensions/window] camera-flashlight [:wallet.send/camera-flashlight] opts [:get-screen-params]] - [react/view {:style {:flex 1 :background-color colors/black}} + [react/safe-area-view {:style {:flex 1 + :background-color colors/black}} [topbar camera-flashlight opts] [react/with-activity-indicator {} [camera/camera {:style {:flex 1} - ;:torchMode (camera/set-torch camera-flashlight) :captureAudio false :onBarCodeRead #(when-not @read-once? (reset! read-once? true) (on-barcode-read opts %))}]] - [viewfinder (int (* 2 (/ (min height width) 3)))]])) \ No newline at end of file + [viewfinder (int (* 2 (/ (min height width) 3)))]])) diff --git a/src/status_im/ui/screens/routing/back_actions.cljs b/src/status_im/ui/screens/routing/back_actions.cljs deleted file mode 100644 index 7f2e00e981..0000000000 --- a/src/status_im/ui/screens/routing/back_actions.cljs +++ /dev/null @@ -1,30 +0,0 @@ -(ns status-im.ui.screens.routing.back-actions) - -(def back-actions {:chat :default - :login :default - :recover-multiaccount-enter-phrase :default - :create-multiaccount-generate-key :default - :new-chat :default - :new-public-chat :default - :wallet-account :default - :add-new-account :default - :add-new-account-pin :default - :about-app :default - :help-center :default - :glossary :default - :advanced-settings :default - :sync-settings :default - :mobile-network-settings :default - :offline-messaging-settings :default - :edit-mailserver :default - :installations :default - :privacy-and-security :default - :dapps-permissions :default - :contacts-list :default - :blocked-users-list :default - :ens-main :default - :ens-register :default - :wallet-settings-assets :default - :wallet-add-custom-token :default - :currency-settings :default - :backup-seed :default}) diff --git a/src/status_im/ui/screens/routing/browser_stack.cljs b/src/status_im/ui/screens/routing/browser_stack.cljs index f4f2a60cbc..69eb71bdcd 100644 --- a/src/status_im/ui/screens/routing/browser_stack.cljs +++ b/src/status_im/ui/screens/routing/browser_stack.cljs @@ -1,7 +1,14 @@ -(ns status-im.ui.screens.routing.browser-stack) +(ns status-im.ui.screens.routing.browser-stack + (:require [status-im.ui.screens.routing.core :as navigation] + [status-im.ui.screens.browser.open-dapp.views :as open-dapp] + [status-im.ui.screens.browser.views :as browser])) -(def browser-stack - {:name :browser-stack - :screens [:open-dapp - :browser] - :config {:initialRouteName :open-dapp}}) +(defonce stack (navigation/create-stack)) + +(defn browser-stack [] + [stack {:initial-route-name :open-dapp + :header-mode :none} + [{:name :open-dapp + :component open-dapp/open-dapp} + {:name :browser + :component browser/browser}]]) diff --git a/src/status_im/ui/screens/routing/chat_stack.cljs b/src/status_im/ui/screens/routing/chat_stack.cljs index a03dc55bb8..a2b3f47c8b 100644 --- a/src/status_im/ui/screens/routing/chat_stack.cljs +++ b/src/status_im/ui/screens/routing/chat_stack.cljs @@ -1,15 +1,37 @@ -(ns status-im.ui.screens.routing.chat-stack) +(ns status-im.ui.screens.routing.chat-stack + (:require [status-im.ui.screens.routing.core :as navigation] + [status-im.ui.screens.home.views :as home] + [status-im.ui.screens.chat.views :as chat] + [status-im.ui.screens.profile.contact.views :as profile.contact] + [status-im.ui.screens.group.views :as group] + [status-im.ui.screens.profile.group-chat.views :as profile.group-chat] + [status-im.chat.models.loading :as chat.loading] + [status-im.ui.screens.group.events :as group.events] + [status-im.ui.screens.stickers.views :as stickers])) -(def chat-stack - {:name :chat-stack - :screens [:home - :chat - :profile - :take-picture - :new-group - :add-participants-toggle-list - :contact-toggle-list - :group-chat-profile - :stickers - :stickers-pack] - :config {:initialRouteName :home}}) +(defonce stack (navigation/create-stack)) + +(defn chat-stack [] + [stack {:initial-route-name :home + :header-mode :none} + [{:name :home + :on-focus [::chat.loading/offload-all-messages] + :component home/home} + {:name :chat + :on-focus [::chat.loading/load-messages] + :component chat/chat} + {:name :profile + :component profile.contact/profile} + {:name :new-group + :component group/new-group} + {:name :add-participants-toggle-list + :on-focus [::group.events/add-participants-toggle-list] + :component group/add-participants-toggle-list} + {:name :contact-toggle-list + :component group/contact-toggle-list} + {:name :group-chat-profile + :component profile.group-chat/group-chat-profile} + {:name :stickers + :component stickers/packs} + {:name :stickers-pack + :component stickers/pack}]]) diff --git a/src/status_im/ui/screens/routing/core.cljs b/src/status_im/ui/screens/routing/core.cljs index 189b938a70..326450cc26 100644 --- a/src/status_im/ui/screens/routing/core.cljs +++ b/src/status_im/ui/screens/routing/core.cljs @@ -1,247 +1,131 @@ (ns status-im.ui.screens.routing.core (:require + [reagent.core :as reagent] [status-im.ui.components.react :as react] - [status-im.ui.screens.routing.back-actions :as back-actions] - [status-im.ui.components.styles :as common-styles] - [status-im.utils.navigation :as navigation] - [cljs-react-navigation.reagent :as nav-reagent] [re-frame.core :as re-frame] [taoensso.timbre :as log] [status-im.utils.platform :as platform] - [status-im.utils.core :as utils] - [status-im.ui.screens.routing.screens :as screens] - [status-im.ui.screens.routing.intro-login-stack :as intro-login-stack] - [status-im.ui.screens.routing.chat-stack :as chat-stack] - [status-im.ui.screens.routing.wallet-stack :as wallet-stack] - [status-im.ui.screens.routing.profile-stack :as profile-stack] - [status-im.ui.screens.routing.browser-stack :as browser-stack] - [status-im.ui.screens.routing.modals :as modals] - [status-im.ui.components.tabbar.core :as tabbar] - [status-im.ui.components.status-bar.view :as status-bar] - [status-im.ui.components.tabbar.styles :as tabs.styles] + [oops.core :refer [ocall oget]] [status-im.react-native.js-dependencies :as js-dependencies])) -(defonce view-id (reagent.core/atom nil)) -(defonce back-button-listener (atom nil)) +(defonce native js-dependencies/react-navigation-native) +(defonce stack js-dependencies/react-navigation-stack) +(defonce bottom-tabs js-dependencies/react-navigation-bottom-tabs) -(defn navigation-events [current-view-id modal? screen-focused?] - [:> navigation/navigation-events - {:on-will-focus - (fn [payload] - (reset! screen-focused? true) - (when (not= @view-id current-view-id) - (reset! view-id current-view-id)) - (log/debug :on-will-focus current-view-id) - (when modal? - (status-bar/set-status-bar current-view-id)) - (re-frame/dispatch [:screens/on-will-focus current-view-id])) - :on-did-focus +(def navigation-container (reagent/adapt-react-class + (oget native "NavigationContainer"))) + +(def use-focus-effect (oget native "useFocusEffect")) +(def use-callback (oget js-dependencies/react "useCallback")) + +(def add-back-handler-listener (oget js-dependencies/back-handler "addEventListener")) +(def remove-back-handler-listener (oget js-dependencies/back-handler "removeEventListener")) + +(def transition-presets (oget stack "TransitionPresets")) + +(def modal-presentation-ios (merge (js->clj (oget transition-presets "ModalPresentationIOS")) + {:gestureEnabled true + :cardOverlayEnabled true})) + +;; TODO(Ferossgp): Unify with topbar back icon. Maybe dispatch the same event and move the all logic inside the event. +(defn handle-on-screen-focus + [{:keys [back-handler on-focus name]}] + (use-focus-effect + (use-callback (fn [] - (when @back-button-listener (.remove @back-button-listener)) - (reset! - back-button-listener - (.addEventListener - js-dependencies/back-handler - "hardwareBackPress" - #(not (get back-actions/back-actions current-view-id)))) - (when-not modal? - (status-bar/set-status-bar current-view-id))) - :on-will-blur - (fn [payload] - (reset! screen-focused? false) - (log/debug :on-will-blur current-view-id) - ;; Reset currently mounted text inputs to their default values - ;; on navigating away; this is a privacy measure - (doseq [[text-input default-value] @react/text-input-refs] - (.setNativeProps text-input (clj->js {:text default-value}))))}]) + (log/debug :on-screen-focus name) + (let [on-back-press (fn [] + (when (and back-handler + (not= back-handler :noop)) + (re-frame/dispatch back-handler)) + (boolean back-handler))] + (when on-focus (re-frame/dispatch on-focus)) + (add-back-handler-listener "hardwareBackPress" on-back-press) + (fn [] + (remove-back-handler-listener "hardwareBackPress" on-back-press)))) + #js []))) -(defn wrap - "Wraps screen with main view and adds navigation-events component" - [view-id component] - (fn [args] - (let [main-view (react/create-main-screen-view view-id) - ;; params passed to :navigate-to - params (get-in args [:navigation :state :params]) - screen-focused? (reagent.core/atom true)] - (if platform/ios? - [main-view (assoc common-styles/flex - :margin-bottom - (cond - ;; there is no need to show bottom nav bar on - ;; `intro-login-stack` screens - (contains? - intro-login-stack/all-screens - view-id) - 0 +(defn wrapped-screen-style [{:keys [insets]} insets-obj] + (merge + {:background-color :white + :flex 1} + (when (get insets :bottom) + {:padding-bottom (oget insets-obj "bottom")}) + (when (get insets :top true) + {:padding-top (oget insets-obj "top")}))) - ;; :wallet-onboarding-setup is the only screen - ;; except main tabs which requires maximised - ;; bottom nav bar, that's why it requires an extra - ;; bottom margin, otherwise bottom nav bar will - ;; partially cover the screen - (contains? - #{:wallet-onboarding-setup} - view-id) - tabs.styles/tabs-height +(defn presentation-type [{:keys [transition] :as opts}] + (if (and platform/ios? (= transition :presentation-ios)) + (-> opts + (update :options merge modal-presentation-ios) + (assoc-in [:insets :top] false)) + opts)) - :else - tabs.styles/minimized-tabs-height)) - [component params screen-focused?] - [navigation-events view-id false screen-focused?]] +(defn wrap-screen [{:keys [component] :as options}] + (assoc options :component + (fn [props] + (handle-on-screen-focus options) + (let [props' (js->clj props :keywordize-keys true) + focused? (oget props "navigation" "isFocused")] + (reagent/as-element + [react/safe-area-consumer + (fn [insets] + (reagent/as-element + [react/view {:style (wrapped-screen-style options insets)} + [component props' (focused?)]]))]))))) - [main-view common-styles/flex - [component params screen-focused?] - [navigation-events view-id false screen-focused?]])))) +(defn- get-screen [navigator] + (let [screen (reagent/adapt-react-class (oget navigator "Screen"))] + (fn [props] + [screen (-> props presentation-type wrap-screen)]))) -(defn wrap-modal [modal-view component] - "Wraps modal screen with necessary styling and adds :on-request-close handler - on Android" - (fn [args] - (let [params (get-in args [:navigation :state :params]) - active? (reagent.core/atom true)] - [react/main-screen-modal-view modal-view - [component params active?] - [navigation-events modal-view true active?]]))) +(defn- get-navigator [nav-object] + (let [navigator (reagent/adapt-react-class (oget nav-object "Navigator")) + screen (get-screen nav-object)] + (fn [props children] + (into [navigator props] + (mapv screen children))))) -(defn prepare-config [config] - (-> config - (utils/update-if-present :initialRouteName name) - (utils/update-if-present :mode name))) +(defn create-stack [] + (let [nav-obj (ocall stack "createStackNavigator")] + (get-navigator nav-obj))) -(defn new-get-state-for-action [default-get-state-for-action] - (fn [action state] - (let [event (get back-actions/back-actions @view-id)] - (when (and (= (.-type action) (.-BACK navigation/navigation-actions)) event (not= :default event)) - (re-frame/dispatch [event])) - (default-get-state-for-action action state)))) +(defn create-bottom-tabs [] + (let [nav-obj (ocall bottom-tabs "createBottomTabNavigator")] + (get-navigator nav-obj))) -(defn stack-navigator [routes config] - (let [res (nav-reagent/stack-navigator - routes - (merge {:headerMode "none" - :cardStyle {:backgroundColor :white} - #_:transitionConfig - #_(fn [] - #js {:transitionSpec #js{:duration 10}}) - :onTransitionStart (fn [n] - (let [idx (.. n - -navigation - -state - -index) - routes (.. n - -navigation - -state - -routes)] - (when (and (array? routes) (int? idx)) - (let [route (aget routes idx) - route-name (keyword (.-routeName route))] - (tabbar/minimize-bar route-name)))))} - (prepare-config config)))] - (set! (-> res .-router .-getStateForAction) (new-get-state-for-action (.-getStateForAction (.-router res)))) - res)) +(def common-actions (oget native "CommonActions")) +(def stack-actions (oget native "StackActions")) -(defn twopane-navigator [routes config] - (navigation/twopane-navigator - routes - (merge {:headerMode "none" - :cardStyle {:backgroundColor :white} - :onTransitionStart (fn [n] - (let [idx (.. n - -navigation - -state - -index) - routes (.. n - -navigation - -state - -routes)] - (when (and (array? routes) (int? idx)) - (let [route (aget routes idx) - route-name (keyword (.-routeName route))] - (tabbar/minimize-bar route-name)))))} - (prepare-config config)))) +(defonce navigator-ref (reagent/atom nil)) -(defn switch-navigator [routes config] - (nav-reagent/switch-navigator - routes - (prepare-config config))) +(defn set-navigator-ref [ref] + (reset! navigator-ref ref)) -(defn tab-navigator [routes config] - (nav-reagent/tab-navigator - routes - (assoc (prepare-config config) :lazy false))) +(defn can-be-called? [] + (boolean @navigator-ref)) -(declare stack-screens) +(defn navigate-to [route params] + (when (can-be-called?) + (ocall @navigator-ref "dispatch" + (ocall common-actions "navigate" + #js {:name (name route) + :params (clj->js params)})))) -(defn build-screen [navigator screen] - "Builds screen from specified configuration. Currently screen can be - - keyword, which points to some specific route - - vector of [:modal :screen-key] type when screen should be wrapped as modal - - map with `name`, `screens`, `config` keys, where `screens` is a vector - of children and `config` is `stack-navigator` configuration" - (let [[screen-name screen-config] - (cond (keyword? screen) - [screen (screens/get-screen screen)] - (map? screen) - [(:name screen) screen] - :else screen)] - (let [res (cond - (map? screen-config) - (let [{:keys [screens config]} screen-config] - (navigator - (stack-screens navigator screens) - config)) +(defn navigate-reset [state] + (when (can-be-called?) + (ocall @navigator-ref "dispatch" + (ocall common-actions "reset" + (clj->js state))))) - (vector? screen-config) - (let [[_ screen] screen-config] - (nav-reagent/stack-screen - (wrap-modal screen-name screen))) +(defn navigate-back [] + (when (can-be-called?) + (ocall @navigator-ref "dispatch" + (ocall common-actions "goBack")))) - :else - (nav-reagent/stack-screen (wrap screen-name screen-config)))] - [screen-name (cond-> {:screen res} - (not (get back-actions/back-actions screen-name)) - (assoc :navigationOptions {:gesturesEnabled false}) - (:navigation screen-config) - (assoc :navigationOptions - (:navigation screen-config)))]))) - -(defn stack-screens [navigator screens-map] - (->> screens-map - (map (partial build-screen navigator)) - (into {}))) - -(defn wrap-tabbar - [nav] - [tabbar/tabbar nav view-id]) - -(defn app-container [navigator] - (.createAppContainer js-dependencies/react-navigation navigator)) - -(defn get-main-component [view-id two-pane?] - (log/debug :component view-id) - (app-container - (switch-navigator - (into {} - [(build-screen stack-navigator (intro-login-stack/login-stack view-id)) - (build-screen stack-navigator (intro-login-stack/intro-stack)) - [:tabs-and-modals - {:screen - (stack-navigator - (merge - {:tabs - {:screen (tab-navigator - (->> [(build-screen (if two-pane? twopane-navigator stack-navigator) chat-stack/chat-stack) - (build-screen stack-navigator browser-stack/browser-stack) - (build-screen stack-navigator wallet-stack/wallet-stack) - (build-screen stack-navigator profile-stack/profile-stack)] - (into {})) - {:initialRouteName :chat-stack - :tabBarComponent (reagent.core/reactify-component - wrap-tabbar)})}} - (stack-screens stack-navigator modals/modal-screens)) - {:mode :modal - :initialRouteName :tabs - :onTransitionStart (fn [])})}]]) - {:initialRouteName (if (= view-id :intro) - :intro-stack - :login-stack)}))) +(defn navigate-replace [route params] + (when (can-be-called?) + (ocall @navigator-ref "dispatch" + (ocall stack-actions "replace" + #js {:name (name route) + :params (clj->js params)})))) diff --git a/src/status_im/ui/screens/routing/intro_login_stack.cljs b/src/status_im/ui/screens/routing/intro_login_stack.cljs index 4a81e7dc09..04631c0f3e 100644 --- a/src/status_im/ui/screens/routing/intro_login_stack.cljs +++ b/src/status_im/ui/screens/routing/intro_login_stack.cljs @@ -1,91 +1,112 @@ (ns status-im.ui.screens.routing.intro-login-stack - (:require [status-im.utils.config :as config])) + (:require-macros [status-im.utils.views :as views]) + (:require [re-frame.core :as re-frame] + [status-im.ui.screens.multiaccounts.login.views :as login] + [status-im.ui.screens.progress.views :as progress] + [status-im.ui.screens.multiaccounts.views :as multiaccounts] + [status-im.ui.screens.intro.views :as intro] + [status-im.ui.screens.keycard.onboarding.views :as keycard.onboarding] + [status-im.ui.screens.keycard.recovery.views :as keycard.recovery] + [status-im.ui.screens.keycard.views :as keycard] + [status-im.ui.screens.hardwallet.authentication-method.views + :as + hardwallet.authentication] + [status-im.ui.screens.routing.core :as navigation])) -(def all-screens - #{:login - :progress - :create-multiaccount - :create-multiaccount-generate-key - :create-multiaccount-choose-key - :create-multiaccount-select-key-storage - :create-multiaccount-create-code - :create-multiaccount-confirm-code - :recover-multiaccount-enter-phrase - :recover-multiaccount-select-storage - :recover-multiaccount-enter-password - :recover-multiaccount-confirm-password - :recover-multiaccount-success - :multiaccounts - :intro - :intro-wizard - :hardwallet-authentication-method - :keycard-pairing - :keycard-blank - :keycard-wrong - :keycard-unpaired - :keycard-login-pin - :not-keycard - :keycard-onboarding-intro - :keycard-onboarding-puk-code - :keycard-onboarding-pin - :keycard-onboarding-recovery-phrase - :keycard-onboarding-recovery-phrase-confirm-word1 - :keycard-onboarding-recovery-phrase-confirm-word2 - :keycard-recovery-intro - :keycard-recovery-pair - :keycard-recovery-success - :keycard-recovery-no-key - :keycard-recovery-pin}) +(defonce stack (navigation/create-stack)) -(defn login-stack [view-id] - {:name :login-stack - :screens (cond-> [:login - :multiaccounts - :intro-wizard - :progress - :keycard-recovery-intro - :create-multiaccount - :create-multiaccount-generate-key - :create-multiaccount-choose-key - :create-multiaccount-select-key-storage - :create-multiaccount-create-code - :create-multiaccount-confirm-code - :recover-multiaccount-enter-phrase - :recover-multiaccount-select-storage - :recover-multiaccount-enter-password - :recover-multiaccount-confirm-password - :recover-multiaccount-success] +;; NOTE(Ferossgp): There is a point at init when we do not know if there are +;; multiaccounts or no, and we show intro - we could show progress at this time +;; for a better UX +(views/defview intro-stack [] + (views/letsubs [multiaccounts [:multiaccounts/multiaccounts] + loading [:multiaccounts/loading]] + [stack {:header-mode :none} + [(cond + loading + {:name :progress-start + :component progress/progress} - config/hardwallet-enabled? - (concat [:hardwallet-authentication-method - :keycard-login-pin - :keycard-blank - :keycard-wrong - :keycard-unpaired - :not-keycard])) - :config (if - ;; add view-id here if you'd like that view to be - ;; first view when app is started - (#{:login :progress :multiaccounts :keycard-login-pin} view-id) - {:initialRouteName view-id} - {:initialRouteName :login})}) + (empty? multiaccounts) + {:name :intro + :component intro/intro} -(defn intro-stack [] - (-> (login-stack :intro) - (update :screens conj - :intro - :intro-wizard - :keycard-pairing - :keycard-onboarding-intro - :keycard-onboarding-puk-code - :keycard-onboarding-pin - :keycard-onboarding-recovery-phrase - :keycard-onboarding-recovery-phrase-confirm-word1 - :keycard-onboarding-recovery-phrase-confirm-word2 - :keycard-recovery-intro - :keycard-recovery-pair - :keycard-recovery-success - :keycard-recovery-no-key - :keycard-recovery-pin) - (assoc :name :intro-stack) - (assoc :config {:initialRouteName :intro}))) + :else + {:name :multiaccounts + :component multiaccounts/multiaccounts}) + {:name :progress + :component progress/progress} + {:name :login + :component login/login} + {:name :create-multiaccount-generate-key + :options {:stackPresentation "modal"} + :component intro/wizard-generate-key} + {:name :create-multiaccount-choose-key + :back-handler :noop + :component intro/wizard-choose-key} + {:name :create-multiaccount-select-key-storage + :back-handler :noop + :component intro/wizard-select-key-storage} + {:name :create-multiaccount-create-code + :back-handler :noop + :component intro/wizard-create-code} + {:name :create-multiaccount-confirm-code + :back-handler :noop + :component intro/wizard-confirm-code} + {:name :recover-multiaccount-enter-phrase + :component intro/wizard-enter-phrase} + {:name :recover-multiaccount-select-storage + :back-handler :noop + :component intro/wizard-select-key-storage} + {:name :recover-multiaccount-enter-password + :back-handler :noop + :component intro/wizard-create-code} + {:name :recover-multiaccount-confirm-password + :back-handler :noop + :component intro/wizard-confirm-code} + {:name :recover-multiaccount-success + :back-handler :noop + :component intro/wizard-recovery-success} + {:name :keycard-onboarding-intro + :back-handler :noop + :component keycard.onboarding/intro} + {:name :keycard-onboarding-puk-code + :back-handler :noop + :component keycard.onboarding/puk-code} + {:name :keycard-onboarding-pin + :back-handler :noop + :component keycard.onboarding/pin} + {:name :keycard-onboarding-recovery-phrase + :back-handler :noop + :component keycard.onboarding/recovery-phrase} + {:name :keycard-onboarding-recovery-phrase-confirm-word1 + :back-handler :noop + :component keycard.onboarding/recovery-phrase-confirm-word} + {:name :keycard-onboarding-recovery-phrase-confirm-word2 + :back-handler :noop + :component keycard.onboarding/recovery-phrase-confirm-word} + {:name :keycard-recovery-intro + :back-handler :noop + :component keycard.recovery/intro} + {:name :keycard-recovery-pair + :back-handler :noop + :component keycard.recovery/pair} + {:name :keycard-recovery-success + :back-handler :noop + :component keycard.recovery/success} + {:name :keycard-recovery-no-key + :component keycard.recovery/no-key} + {:name :keycard-recovery-pin + :component keycard.recovery/pin} + {:name :hardwallet-authentication-method + :component hardwallet.authentication/hardwallet-authentication-method} + {:name :keycard-login-pin + :component keycard/login-pin} + {:name :keycard-blank + :component keycard/blank} + {:name :keycard-wrong + :component keycard/wrong} + {:name :keycard-unpaired + :component keycard/unpaired} + {:name :not-keycard + :component keycard/not-keycard}]])) diff --git a/src/status_im/ui/screens/routing/main.cljs b/src/status_im/ui/screens/routing/main.cljs new file mode 100644 index 0000000000..087ba469cd --- /dev/null +++ b/src/status_im/ui/screens/routing/main.cljs @@ -0,0 +1,78 @@ +(ns status-im.ui.screens.routing.main + (:require-macros [status-im.utils.views :as views]) + (:require [reagent.core :as reagent] + [re-frame.core :as re-frame] + [status-im.ui.screens.profile.tribute-to-talk.views :as tr-to-talk] + [status-im.ui.screens.add-new.new-public-chat.view :as new-public-chat] + [status-im.ui.screens.wallet.components.views :as wallet.components] + [status-im.ui.screens.qr-scanner.views :as qr-scanner] + [status-im.ui.screens.stickers.views :as stickers] + [status-im.ui.screens.home.views :as home] + [status-im.ui.screens.add-new.new-chat.views :as new-chat] + [status-im.ui.screens.add-new.new-chat.events :as new-chat.events] + [status-im.ui.screens.progress.views :as progress] + [status-im.ui.screens.routing.intro-login-stack :as intro-login-stack] + [status-im.ui.screens.routing.chat-stack :as chat-stack] + [status-im.ui.screens.routing.wallet-stack :as wallet-stack] + [status-im.ui.screens.wallet.events :as wallet.events] + [status-im.ui.screens.routing.profile-stack :as profile-stack] + [status-im.ui.screens.routing.browser-stack :as browser-stack] + [status-im.chat.models.loading :as chat.loading] + [status-im.ui.components.tabbar.core :as tabbar] + [status-im.ui.screens.routing.core :as navigation])) + +(defonce main-stack (navigation/create-stack)) +(defonce modals-stack (navigation/create-stack)) +(defonce bottom-tabs (navigation/create-bottom-tabs)) + +;; TODO(Ferossgp): Add two-pane navigator on chat-stack +(defn tabs [] + [bottom-tabs {:initial-route-name :chat-stack + :lazy false + :header-mode :none + :tab-bar tabbar/tabbar} + [{:name :chat-stack + :insets {:top false} + :component chat-stack/chat-stack} + {:name :browser-stack + :insets {:top false} + :component browser-stack/browser-stack} + {:name :wallet-stack + :on-focus [::wallet.events/wallet-stack] + :insets {:top false} + :component wallet-stack/wallet-stack} + {:name :profile-stack + :insets {:top false} + :component profile-stack/profile-stack}]]) + +(views/defview get-main-component [_] + (views/letsubs [logged-in? [:multiaccount/logged-in?]] + [main-stack {:header-mode :none + :mode :modal} + [(if logged-in? + {:name :tabs + :insets {:top false} + :component tabs} + {:name :intro-stack + :insets {:top false + :bottom true} + :component intro-login-stack/intro-stack}) + {:name :stickers-pack-modal + :component stickers/pack-modal} + {:name :tribute-learn-more + :component tr-to-talk/learn-more} + {:name :welcome + :back-handler :noop + :component home/welcome} + {:name :new-chat + :on-focus [::new-chat.events/new-chat-focus] + :transition :presentation-ios + :component new-chat/new-chat} + {:name :new-public-chat + :transition :presentation-ios + :component new-public-chat/new-public-chat} + {:name :contact-code + :component wallet.components/contact-code} + {:name :qr-scanner + :insets {:top false} + :component qr-scanner/qr-scanner}]])) diff --git a/src/status_im/ui/screens/routing/modals.cljs b/src/status_im/ui/screens/routing/modals.cljs deleted file mode 100644 index dffa818478..0000000000 --- a/src/status_im/ui/screens/routing/modals.cljs +++ /dev/null @@ -1,13 +0,0 @@ -(ns status-im.ui.screens.routing.modals) - -(def modal-screens - [:stickers-pack-modal - :tribute-learn-more - :selection-modal-screen - :wallet-transactions-filter - :welcome - :keycard-welcome - :new-chat - :new-public-chat - :contact-code - :qr-scanner]) diff --git a/src/status_im/ui/screens/routing/profile_stack.cljs b/src/status_im/ui/screens/routing/profile_stack.cljs index c207a90fa2..5664d2843a 100644 --- a/src/status_im/ui/screens/routing/profile_stack.cljs +++ b/src/status_im/ui/screens/routing/profile_stack.cljs @@ -1,46 +1,122 @@ (ns status-im.ui.screens.routing.profile-stack - (:require [status-im.utils.config :as config])) + (:require [status-im.utils.config :as config] + [status-im.ui.screens.profile.user.views :as profile.user] + [status-im.ui.screens.ens.views :as ens] + [status-im.ui.screens.contacts-list.views :as contacts-list] + [status-im.ui.screens.profile.photo-capture.views :as photo-capture] + [status-im.ui.screens.bootnodes-settings.edit-bootnode.views + :as + edit-bootnode] + [status-im.ui.screens.bootnodes-settings.views :as bootnodes-settings] + [status-im.ui.screens.pairing.views :as pairing] + [status-im.ui.screens.offline-messaging-settings.edit-mailserver.views + :as + edit-mailserver] + [status-im.ui.screens.offline-messaging-settings.views + :as + offline-messaging-settings] + [status-im.ui.screens.dapps-permissions.views :as dapps-permissions] + [status-im.ui.screens.privacy-and-security-settings.views :as privacy-and-security] + [status-im.ui.screens.language-settings.views :as language-settings] + [status-im.ui.screens.notifications-settings.views :as notifications-settings] + [status-im.ui.screens.sync-settings.views :as sync-settings] + [status-im.ui.screens.advanced-settings.views :as advanced-settings] + [status-im.ui.screens.help-center.views :as help-center] + [status-im.ui.screens.glossary.view :as glossary] + [status-im.ui.screens.about-app.views :as about-app] + [status-im.ui.screens.mobile-network-settings.view + :as + mobile-network-settings] + [status-im.network.module :as network] + [status-im.ui.screens.network-info.views :as network-info] + [status-im.ui.screens.log-level-settings.views :as log-level-settings] + [status-im.ui.screens.fleet-settings.views :as fleet-settings] + [status-im.ui.screens.profile.seed.views :as profile.seed] + [status-im.ui.screens.profile.tribute-to-talk.views :as tr-to-talk] + [status-im.ui.screens.hardwallet.pin.views :as hardwallet.pin] + [status-im.ui.screens.hardwallet.settings.views :as hardwallet.settings] + [status-im.ui.screens.routing.core :as navigation])) -(def profile-stack - {:name :profile-stack - :screens (cond-> [:my-profile - :contacts-list - :ens-main - :ens-search - :ens-checkout - :ens-confirmation - :ens-terms - :ens-name-details - :blocked-users-list - :profile-photo-capture - :bootnodes-settings - :installations - :edit-bootnode - :offline-messaging-settings - :edit-mailserver - :dapps-permissions - :privacy-and-security - :language-settings - :notifications-settings - :sync-settings - :advanced-settings - :help-center - :glossary - :about-app - :manage-dapps-permissions - :network-settings - :network-details - :network-info - :edit-network - :log-level-settings - :fleet-settings - :mobile-network-settings - :backup-seed - :tribute-to-talk - :my-profile-ext-settings] +(defonce stack (navigation/create-stack)) - config/hardwallet-enabled? - (concat [:keycard-settings - :reset-card - :enter-pin-settings])) - :config {:initialRouteName :my-profile}}) +(defn profile-stack [] + [stack {:initial-route-name :my-profile + :header-mode :none} + [{:name :my-profile + :component profile.user/my-profile} + {:name :contacts-list + :component contacts-list/contacts-list} + {:name :ens-main + :component ens/main} + {:name :ens-search + :component ens/search} + {:name :ens-checkout + :component ens/checkout} + {:name :ens-confirmation + :component ens/confirmation} + {:name :ens-terms + :component ens/terms} + {:name :ens-name-details + :component ens/name-details} + {:name :blocked-users-list + :component contacts-list/blocked-users-list} + {:name :profile-photo-capture + :component photo-capture/profile-photo-capture} + {:name :bootnodes-settings + :component bootnodes-settings/bootnodes-settings} + {:name :installations + :component pairing/installations} + {:name :edit-bootnode + :component edit-bootnode/edit-bootnode} + {:name :offline-messaging-settings + :component offline-messaging-settings/offline-messaging-settings} + {:name :edit-mailserver + :component edit-mailserver/edit-mailserver} + {:name :dapps-permissions + :component dapps-permissions/dapps-permissions} + {:name :privacy-and-security + :component privacy-and-security/privacy-and-security} + {:name :language-settings + :component language-settings/language-settings} + {:name :notifications-settings + :component notifications-settings/notifications-settings} + {:name :sync-settings + :component sync-settings/sync-settings} + {:name :advanced-settings + :component advanced-settings/advanced-settings} + {:name :help-center + :component help-center/help-center} + {:name :glossary + :component glossary/glossary} + {:name :about-app + :component about-app/about-app} + {:name :manage-dapps-permissions + :component dapps-permissions/manage} + {:name :network-settings + :component network/network-settings-view} + {:name :network-details + :component network/network-details-view} + {:name :network-info + :component network-info/network-info} + {:name :edit-network + :component network/edit-network-view} + {:name :log-level-settings + :component log-level-settings/log-level-settings} + {:name :fleet-settings + :component fleet-settings/fleet-settings} + {:name :mobile-network-settings + :component mobile-network-settings/mobile-network-settings} + {:name :backup-seed + :component profile.seed/backup-seed} + {:name :tribute-to-talk + :component tr-to-talk/tribute-to-talk} + ;; {:name:my-profile-ext-settings + ;; :component} + + ;; KEYCARD + {:name :keycard-settings + :component hardwallet.settings/keycard-settings} + {:name :reset-card + :component hardwallet.settings/reset-card} + {:name :enter-pin-settings + :component hardwallet.pin/enter-pin}]]) diff --git a/src/status_im/ui/screens/routing/screens.cljs b/src/status_im/ui/screens/routing/screens.cljs deleted file mode 100644 index ecb58f9633..0000000000 --- a/src/status_im/ui/screens/routing/screens.cljs +++ /dev/null @@ -1,172 +0,0 @@ -(ns status-im.ui.screens.routing.screens - (:require [status-im.ui.screens.about-app.views :as about-app] - [status-im.ui.screens.multiaccounts.login.views :as login] - [status-im.ui.screens.multiaccounts.views :as multiaccounts] - [status-im.ui.screens.add-new.new-chat.views :as new-chat] - [status-im.ui.screens.add-new.new-public-chat.view :as new-public-chat] - [status-im.ui.screens.bootnodes-settings.edit-bootnode.views - :as - edit-bootnode] - [status-im.ui.screens.bootnodes-settings.views :as bootnodes-settings] - [status-im.ui.screens.browser.open-dapp.views :as open-dapp] - [status-im.ui.screens.browser.views :as browser] - [status-im.ui.screens.chat.views :as chat] - [status-im.ui.screens.ens.views :as ens] - [status-im.ui.screens.contacts-list.views :as contacts-list] - [status-im.ui.screens.currency-settings.views :as currency-settings] - [status-im.ui.screens.dapps-permissions.views :as dapps-permissions] - [status-im.ui.screens.privacy-and-security-settings.views :as privacy-and-security] - [status-im.ui.screens.language-settings.views :as language-settings] - [status-im.ui.screens.notifications-settings.views :as notifications-settings] - [status-im.ui.screens.sync-settings.views :as sync-settings] - [status-im.ui.screens.advanced-settings.views :as advanced-settings] - [status-im.ui.screens.fleet-settings.views :as fleet-settings] - [status-im.ui.screens.group.views :as group] - [status-im.ui.screens.hardwallet.authentication-method.views - :as - hardwallet.authentication] - [status-im.ui.screens.hardwallet.pin.views :as hardwallet.pin] - [status-im.ui.screens.hardwallet.settings.views :as hardwallet.settings] - [status-im.ui.screens.keycard.onboarding.views :as keycard.onboarding] - [status-im.ui.screens.keycard.recovery.views :as keycard.recovery] - [status-im.ui.screens.keycard.views :as keycard] - [status-im.ui.screens.help-center.views :as help-center] - [status-im.ui.screens.glossary.view :as glossary] - [status-im.ui.screens.home.views :as home] - [status-im.ui.screens.intro.views :as intro] - [status-im.ui.screens.log-level-settings.views :as log-level-settings] - [status-im.ui.screens.mobile-network-settings.view - :as - mobile-network-settings] - [status-im.network.module :as network] - [status-im.ui.screens.offline-messaging-settings.edit-mailserver.views - :as - edit-mailserver] - [status-im.ui.screens.offline-messaging-settings.views - :as - offline-messaging-settings] - [status-im.ui.screens.pairing.views :as pairing] - [status-im.ui.screens.profile.contact.views :as profile.contact] - [status-im.ui.screens.profile.group-chat.views :as profile.group-chat] - [status-im.ui.screens.profile.photo-capture.views :as photo-capture] - [status-im.ui.screens.profile.seed.views :as profile.seed] - [status-im.ui.screens.profile.tribute-to-talk.views :as tr-to-talk] - [status-im.ui.screens.profile.user.views :as profile.user] - [status-im.ui.screens.progress.views :as progress] - [status-im.ui.screens.qr-scanner.views :as qr-scanner] - [status-im.ui.screens.stickers.views :as stickers] - [status-im.ui.screens.wallet.collectibles.views :as collectibles] - [status-im.ui.screens.wallet.components.views :as wallet.components] - [status-im.ui.screens.wallet.settings.views :as wallet-settings] - [status-im.ui.screens.wallet.transactions.views :as wallet-transactions] - [status-im.ui.screens.wallet.custom-tokens.views :as custom-tokens] - [status-im.ui.screens.wallet.accounts.views :as wallet.accounts] - [status-im.ui.screens.wallet.account.views :as wallet.account] - [status-im.ui.screens.wallet.add-new.views :as add-account] - [status-im.ui.screens.wallet.account-settings.views :as account-settings] - [status-im.ui.screens.network-info.views :as network-info])) - -(def all-screens - {:login login/login - :progress progress/progress - :create-multiaccount-generate-key intro/wizard-generate-key - :create-multiaccount-choose-key intro/wizard-choose-key - :create-multiaccount-select-key-storage intro/wizard-select-key-storage - :create-multiaccount-create-code intro/wizard-create-code - :create-multiaccount-confirm-code intro/wizard-confirm-code - :recover-multiaccount-enter-phrase intro/wizard-enter-phrase - :recover-multiaccount-success intro/wizard-recovery-success - :recover-multiaccount-select-storage intro/wizard-select-key-storage - :recover-multiaccount-enter-password intro/wizard-create-code - :recover-multiaccount-confirm-password intro/wizard-confirm-code - :multiaccounts multiaccounts/multiaccounts - :intro intro/intro - :hardwallet-authentication-method hardwallet.authentication/hardwallet-authentication-method - :enter-pin-settings hardwallet.pin/enter-pin - :keycard-onboarding-intro keycard.onboarding/intro - :keycard-onboarding-puk-code keycard.onboarding/puk-code - :keycard-onboarding-pin keycard.onboarding/pin - :keycard-onboarding-recovery-phrase keycard.onboarding/recovery-phrase - :keycard-onboarding-recovery-phrase-confirm-word1 keycard.onboarding/recovery-phrase-confirm-word - :keycard-onboarding-recovery-phrase-confirm-word2 keycard.onboarding/recovery-phrase-confirm-word - :keycard-recovery-intro keycard.recovery/intro - :keycard-recovery-pair keycard.recovery/pair - :keycard-recovery-success keycard.recovery/success - :keycard-recovery-no-key keycard.recovery/no-key - :keycard-recovery-pin keycard.recovery/pin - :keycard-blank keycard/blank - :keycard-wrong keycard/wrong - :keycard-unpaired keycard/unpaired - :keycard-login-pin keycard/login-pin - :not-keycard keycard/not-keycard - :home home/home - :chat chat/chat - :profile profile.contact/profile - :new-chat [:modal new-chat/new-chat] - :qr-scanner [:modal qr-scanner/qr-scanner] - :new-group group/new-group - :add-participants-toggle-list group/add-participants-toggle-list - :contact-toggle-list group/contact-toggle-list - :group-chat-profile profile.group-chat/group-chat-profile - :new-public-chat [:modal new-public-chat/new-public-chat] - :open-dapp open-dapp/open-dapp - :browser browser/browser - :stickers stickers/packs - :stickers-pack stickers/pack - :stickers-pack-modal [:modal stickers/pack-modal] - :tribute-learn-more [:modal tr-to-talk/learn-more] - :wallet wallet.accounts/accounts-overview - :wallet-account wallet.account/account - :collectibles-list collectibles/collectibles-list - :contact-code [:modal wallet.components/contact-code] - :wallet-transaction-details wallet-transactions/transaction-details - :wallet-settings-assets wallet-settings/manage-assets - :wallet-add-custom-token custom-tokens/add-custom-token - :wallet-custom-token-details custom-tokens/custom-token-details - :wallet-transactions-filter [:modal wallet-transactions/filter-history] - :my-profile profile.user/my-profile - :contacts-list contacts-list/contacts-list - :ens-main ens/main - :ens-search ens/search - :ens-checkout ens/checkout - :ens-confirmation ens/confirmation - :ens-terms ens/terms - :ens-name-details ens/name-details - :blocked-users-list contacts-list/blocked-users-list - :profile-photo-capture photo-capture/profile-photo-capture - :bootnodes-settings bootnodes-settings/bootnodes-settings - :installations pairing/installations - :edit-bootnode edit-bootnode/edit-bootnode - :offline-messaging-settings offline-messaging-settings/offline-messaging-settings - :edit-mailserver edit-mailserver/edit-mailserver - :dapps-permissions dapps-permissions/dapps-permissions - :privacy-and-security privacy-and-security/privacy-and-security - :language-settings language-settings/language-settings - :notifications-settings notifications-settings/notifications-settings - :sync-settings sync-settings/sync-settings - :advanced-settings advanced-settings/advanced-settings - :help-center help-center/help-center - :glossary glossary/glossary - :about-app about-app/about-app - :manage-dapps-permissions dapps-permissions/manage - :network-settings network/network-settings-view - :network-details network/network-details-view - :network-info network-info/network-info - :edit-network network/edit-network-view - :log-level-settings log-level-settings/log-level-settings - :fleet-settings fleet-settings/fleet-settings - :currency-settings currency-settings/currency-settings - :backup-seed profile.seed/backup-seed - :tribute-to-talk tr-to-talk/tribute-to-talk - :reset-card hardwallet.settings/reset-card - :keycard-settings hardwallet.settings/keycard-settings - :mobile-network-settings mobile-network-settings/mobile-network-settings - :welcome [:modal home/welcome] - :keycard-welcome keycard/welcome - :add-new-account add-account/add-account - :add-new-account-pin add-account/pin - :account-settings account-settings/account-settings}) - -(defn get-screen [screen] - (get all-screens screen #(throw (str "Screen " screen " is not defined.")))) - diff --git a/src/status_im/ui/screens/routing/wallet_stack.cljs b/src/status_im/ui/screens/routing/wallet_stack.cljs index cb49a51852..cbaa26f29f 100644 --- a/src/status_im/ui/screens/routing/wallet_stack.cljs +++ b/src/status_im/ui/screens/routing/wallet_stack.cljs @@ -1,18 +1,42 @@ -(ns status-im.ui.screens.routing.wallet-stack) +(ns status-im.ui.screens.routing.wallet-stack + (:require [status-im.utils.config :as config] + [status-im.ui.screens.currency-settings.views :as currency-settings] + [status-im.ui.screens.wallet.collectibles.views :as collectibles] + [status-im.ui.screens.wallet.settings.views :as wallet-settings] + [status-im.ui.screens.wallet.transactions.views :as wallet-transactions] + [status-im.ui.screens.wallet.custom-tokens.views :as custom-tokens] + [status-im.ui.screens.wallet.accounts.views :as wallet.accounts] + [status-im.ui.screens.wallet.account.views :as wallet.account] + [status-im.ui.screens.wallet.add-new.views :as add-account] + [status-im.ui.screens.wallet.account-settings.views :as account-settings] + [status-im.ui.screens.wallet.events :as wallet.events] + [status-im.ui.screens.routing.core :as navigation])) -(def wallet-stack - {:name :wallet-stack - :screens (cond-> [:wallet - :wallet-account - :add-new-account - :add-new-account-pin - :account-settings - :collectibles-list - :wallet-onboarding-setup - :wallet-transaction-details - :wallet-settings-hook - :wallet-settings-assets - :wallet-add-custom-token - :wallet-custom-token-details - :currency-settings]) - :config {:initialRouteName :wallet}}) +(defonce stack (navigation/create-stack)) + +(defn wallet-stack [] + [stack {:initial-route-name :wallet + :header-mode :none} + [{:name :wallet + :component wallet.accounts/accounts-overview} + {:name :wallet-account + :component wallet.account/account} + {:name :add-new-account + :component add-account/add-account} + {:name :add-new-account-pin + :component add-account/pin} + {:name :account-settings + :component account-settings/account-settings} + {:name :collectibles-list + :component collectibles/collectibles-list} + {:name :wallet-transaction-details + :component wallet-transactions/transaction-details} + {:name :wallet-settings-assets + :component wallet-settings/manage-assets} + {:name :wallet-add-custom-token + :on-focus [::wallet.events/wallet-add-custom-token] + :component custom-tokens/add-custom-token} + {:name :wallet-custom-token-details + :component custom-tokens/custom-token-details} + {:name :currency-settings + :component currency-settings/currency-settings}]]) diff --git a/src/status_im/ui/screens/views.cljs b/src/status_im/ui/screens/views.cljs index 3a047b6c76..cc61adc2bf 100644 --- a/src/status_im/ui/screens/views.cljs +++ b/src/status_im/ui/screens/views.cljs @@ -1,36 +1,30 @@ (ns status-im.ui.screens.views (:require-macros [status-im.utils.views :refer [defview letsubs] :as views]) - (:require [re-frame.core :refer [dispatch]] - [status-im.utils.platform :refer [android?]] - [status-im.utils.universal-links.core :as utils.universal-links] + (:require [status-im.utils.universal-links.core :as utils.universal-links] + [re-frame.core :as re-frame] + [status-im.utils.platform :as platform] [status-im.ui.screens.about-app.views :as about-app] [status-im.ui.components.react :as react] [status-im.ui.components.bottom-sheet.core :as bottom-sheet] - [status-im.utils.navigation :as navigation] + [status-im.ui.screens.routing.core :as navigation] [reagent.core :as reagent] - [status-im.utils.random :as rand] - [re-frame.core :as re-frame] - [taoensso.timbre :as log] - [status-im.utils.platform :as platform] [status-im.ui.screens.mobile-network-settings.view :as mobile-network-settings] [status-im.ui.screens.keycard.views :as keycard] [status-im.ui.screens.home.sheet.views :as home.sheet] - [status-im.ui.screens.routing.core :as routing] + [status-im.ui.screens.routing.main :as routing] [status-im.ui.screens.signing.views :as signing] [status-im.ui.screens.popover.views :as popover] [status-im.ui.screens.multiaccounts.recover.views :as recover.views] [status-im.utils.dimensions :as dimensions] [status-im.ui.screens.wallet.send.views :as wallet] + [status-im.ui.components.tabbar.core :as tabbar] + [status-im.ui.components.status-bar.view :as statusbar] status-im.ui.screens.wallet.collectibles.etheremon.views status-im.ui.screens.wallet.collectibles.cryptostrikers.views status-im.ui.screens.wallet.collectibles.cryptokitties.views status-im.ui.screens.wallet.collectibles.superrare.views status-im.ui.screens.wallet.collectibles.kudos.views)) -(defonce rand-label (when js/goog.DEBUG (rand/id))) - -(defonce initial-view-id (atom nil)) - (defview bottom-sheet [] (letsubs [{:keys [show? view]} [:bottom-sheet]] (let [opts (cond-> {:show? show? @@ -58,95 +52,74 @@ (merge (recover.views/bottom-sheet)))] [bottom-sheet/bottom-sheet opts]))) -(defn reset-component-on-mount [view-id component two-pane?] - (when (and @initial-view-id - (or - js/goog.DEBUG - (not @component))) - (reset! component (routing/get-main-component - (if js/goog.DEBUG - @initial-view-id - @view-id) - two-pane?)))) +(def debug? ^boolean js/goog.DEBUG) -(defn reset-component-on-update [view-id component two-pane?] - (when (and @initial-view-id (not @component)) - (reset! component (routing/get-main-component - (if js/goog.DEBUG - @initial-view-id - @view-id) - two-pane?)))) +;; Persist navigation state in dev mode +(when debug? + (defonce state (atom nil)) + (defn- persist-state! [state-obj] + (js/Promise. + (fn [resolve _] + (reset! state state-obj) + (resolve true))))) -(defonce state (atom nil)) +(defn get-active-route-name [state] + (let [index (get state "index") + route (get-in state ["routes" index])] + (if-let [state' (get route "state")] + (get-active-route-name state') + (some-> (get route "name") keyword)))) -(defn persist-state [state-obj] - (js/Promise. - (fn [resolve reject] - (reset! state state-obj) - (resolve true)))) +(defn on-state-change [state] + (let [route-name (get-active-route-name (js->clj state))] + (tabbar/minimize-bar route-name) -(defn load-state [] - (js/Promise. - (fn [resolve reject] - (resolve @state)))) + ;; NOTE(Ferossgp): Keycard did-load events backward compatibility + (re-frame/dispatch [:screens/on-will-focus route-name]) + + ;; NOTE(Ferossgp): Both calls are for backward compatibility, should be reworked in future + (statusbar/set-status-bar route-name) + (re-frame/dispatch [:set :view-id route-name])) + (when debug? + (persist-state! state))) + +(defonce main-app-navigator (partial routing/get-main-component false)) +(defonce twopane-app-navigator (partial routing/get-main-component true)) (defn main [] - (let [view-id (re-frame/subscribe [:view-id]) - main-component (atom nil) - main-component-two-pane (atom nil) - two-pane? (reagent/atom (dimensions/fit-two-pane?))] + (let [two-pane? (reagent/atom (dimensions/fit-two-pane?))] (.addEventListener react/dimensions "change" - (fn [dimensions] + (fn [_] (let [two-pane-enabled? (dimensions/fit-two-pane?)] - (do - (re-frame/dispatch [:set-two-pane-ui-enabled two-pane-enabled?]) - (log/debug ":set-two-pane " two-pane-enabled?) - (reset! two-pane? two-pane-enabled?))))) - - (when-not @initial-view-id - (reset! initial-view-id @view-id)) - (reset-component-on-mount view-id main-component false) - (reset-component-on-mount view-id main-component-two-pane true) + (re-frame/dispatch [:set-two-pane-ui-enabled two-pane-enabled?]) + (reset! two-pane? two-pane-enabled?)))) (reagent/create-class {:component-did-mount (fn [] (re-frame/dispatch [:set-two-pane-ui-enabled @two-pane?]) - (log/debug :main-component-did-mount @view-id) (utils.universal-links/initialize)) + :component-will-unmount utils.universal-links/finalize - :component-will-update - (fn [] - (when-not @initial-view-id - (reset! initial-view-id @view-id)) - (reset-component-on-update view-id main-component false) - (reset-component-on-update view-id main-component-two-pane true) - (when-not platform/desktop? - (react/dismiss-keyboard!))) - :component-did-update - (fn [] - (log/debug :main-component-did-update @view-id)) :reagent-render (fn [] - (when (and @view-id main-component) - [react/safe-area-provider - [react/view {:flex 1} - [:> (if @two-pane? @main-component-two-pane @main-component) - {:ref (fn [r] - (navigation/set-navigator-ref r) - (when (and - platform/android? - (not js/goog.DEBUG) - (not (contains? #{:intro :login :progress} @view-id))) - (navigation/navigate-to @view-id nil))) - ;; see https://reactnavigation.org/docs/en/state-persistence.html#development-mode - :persistNavigationState (when js/goog.DEBUG persist-state) - :loadNavigationState (when js/goog.DEBUG load-state)}] - [wallet/prepare-transaction] - [wallet/request-transaction] - [wallet/select-account] - [signing/signing] - [bottom-sheet] - [popover/popover]]]))}))) + [react/safe-area-provider + [react/view {:flex 1 + :background-color :black} + [navigation/navigation-container + (merge {:ref (fn [r] + (navigation/set-navigator-ref r)) + :onStateChange on-state-change + :enableURLHandling false} + (when debug? + {:enableURLHandling true + :initialState @state})) + [(if @two-pane? twopane-app-navigator main-app-navigator)]] + [wallet/prepare-transaction] + [wallet/request-transaction] + [wallet/select-account] + [signing/signing] + [bottom-sheet] + [popover/popover]]])}))) diff --git a/src/status_im/ui/screens/wallet/account/views.cljs b/src/status_im/ui/screens/wallet/account/views.cljs index 1d969c7704..33c594eb92 100644 --- a/src/status_im/ui/screens/wallet/account/views.cljs +++ b/src/status_im/ui/screens/wallet/account/views.cljs @@ -6,7 +6,6 @@ [status-im.ui.screens.wallet.accounts.views :as accounts] [status-im.ui.screens.wallet.accounts.sheets :as sheets] [reagent.core :as reagent] - [status-im.ui.components.tabbar.styles :as tabs.styles] [status-im.ui.components.list.views :as list] [status-im.i18n :as i18n] [status-im.ui.components.icons.vector-icons :as icons] @@ -105,18 +104,12 @@ [list/flat-list {:data tokens :default-separator? false :key-fn :name - :footer [react/view - {:style {:height tabs.styles/tabs-diff - :align-self :stretch}}] :render-fn (accounts/render-asset (:code currency))}] (= tab :nft) (if (seq nfts) [list/flat-list {:data nfts :default-separator? false :key-fn :name - :footer [react/view - {:style {:height tabs.styles/tabs-diff - :align-self :stretch}}] :render-fn (render-collectible address)}] [react/view {:align-items :center :margin-top 32} [react/text {:style {:color colors/gray}} diff --git a/src/status_im/ui/screens/wallet/accounts/styles.cljs b/src/status_im/ui/screens/wallet/accounts/styles.cljs index 9d10d85021..0e95c56287 100644 --- a/src/status_im/ui/screens/wallet/accounts/styles.cljs +++ b/src/status_im/ui/screens/wallet/accounts/styles.cljs @@ -1,6 +1,5 @@ (ns status-im.ui.screens.wallet.accounts.styles - (:require [status-im.ui.components.colors :as colors] - [status-im.ui.components.tabbar.styles :as tabs.styles])) + (:require [status-im.ui.components.colors :as colors])) (def card-common {:margin-vertical 16 @@ -35,7 +34,7 @@ :justify-content :center :left 0 :right 0 - :bottom (+ 16 tabs.styles/tabs-diff) + :bottom 16 :height 40}) (def send-button diff --git a/src/status_im/ui/screens/wallet/accounts/views.cljs b/src/status_im/ui/screens/wallet/accounts/views.cljs index 2a3c21af27..71bde33d74 100644 --- a/src/status_im/ui/screens/wallet/accounts/views.cljs +++ b/src/status_im/ui/screens/wallet/accounts/views.cljs @@ -9,7 +9,6 @@ [status-im.ui.components.chat-icon.screen :as chat-icon] [status-im.ui.components.list-item.views :as list-item] [status-im.wallet.utils :as wallet.utils] - [status-im.ui.components.tabbar.styles :as tabs.styles] [reagent.core :as reagent] [re-frame.core :as re-frame] [status-im.ui.screens.wallet.accounts.sheets :as sheets] @@ -83,9 +82,6 @@ [list/flat-list {:data tokens :default-separator? false :key-fn :name - :footer [react/view - {:style {:height tabs.styles/tabs-diff - :align-self :stretch}}] :render-fn (render-asset (:code currency))}])) (views/defview total-value [] diff --git a/src/status_im/ui/screens/wallet/events.cljs b/src/status_im/ui/screens/wallet/events.cljs new file mode 100644 index 0000000000..04d7ccd16b --- /dev/null +++ b/src/status_im/ui/screens/wallet/events.cljs @@ -0,0 +1,19 @@ +(ns status-im.ui.screens.wallet.events + (:require [status-im.ui.screens.wallet.signing-phrase.views :as signing-phrase] + [status-im.utils.handlers :as handlers])) + +(handlers/register-handler-fx + ::wallet-stack + (fn [{:keys [db]}] + (let [wallet-set-up-passed? (get-in db [:multiaccount :wallet-set-up-passed?]) + sign-phrase-showed? (get db :wallet/sign-phrase-showed?)] + {:dispatch [:wallet.ui/pull-to-refresh] ;TODO temporary simple fix for v1 + :db (if (or wallet-set-up-passed? sign-phrase-showed?) + db + (assoc db :popover/popover {:view [signing-phrase/signing-phrase]} + :wallet/sign-phrase-showed? true))}))) + +(handlers/register-handler-fx + ::wallet-add-custom-token + (fn [{:keys [db]}] + {:db (dissoc db :wallet/custom-token-screen)})) diff --git a/src/status_im/ui/screens/wallet/navigation.cljs b/src/status_im/ui/screens/wallet/navigation.cljs deleted file mode 100644 index 00bc602613..0000000000 --- a/src/status_im/ui/screens/wallet/navigation.cljs +++ /dev/null @@ -1,23 +0,0 @@ -(ns status-im.ui.screens.wallet.navigation - (:require [status-im.ui.screens.navigation :as navigation] - [status-im.ui.screens.wallet.signing-phrase.views :as signing-phrase] - [re-frame.core :as re-frame])) - -(defmethod navigation/preload-data! :wallet-stack - [db [event]] - (let [wallet-set-up-passed? (get-in db [:multiaccount :wallet-set-up-passed?]) - sign-phrase-showed? (get db :wallet/sign-phrase-showed?)] - ;;TODO temporary simple fix for v1 - (re-frame/dispatch [:wallet.ui/pull-to-refresh]) - (if (or (= event :navigate-back) wallet-set-up-passed? sign-phrase-showed?) - db - (assoc db :popover/popover {:view [signing-phrase/signing-phrase]} - :wallet/sign-phrase-showed? true)))) - -(defmethod navigation/preload-data! :wallet-add-custom-token - [db [event]] - (dissoc db :wallet/custom-token-screen)) - -(defmethod navigation/preload-data! :add-new-account - [db [event]] - (dissoc db :add-account)) diff --git a/src/status_im/ui/screens/wallet/transactions/styles.cljs b/src/status_im/ui/screens/wallet/transactions/styles.cljs index 8e39adfe12..435d63df31 100644 --- a/src/status_im/ui/screens/wallet/transactions/styles.cljs +++ b/src/status_im/ui/screens/wallet/transactions/styles.cljs @@ -1,11 +1,17 @@ (ns status-im.ui.screens.wallet.transactions.styles (:require [status-im.ui.components.colors :as colors] - [status-im.ui.components.tabbar.styles :as tabs.styles] + [status-im.utils.platform :as platform] [status-im.utils.styles :as styles])) +(def tabs-height + (cond + platform/android? 52 + platform/ios? 52 + platform/desktop? 36)) + (defn tab [active?] {:flex 1 - :height tabs.styles/tab-height + :height tabs-height :justify-content :center :align-items :center :padding-bottom (if active? 0 1) @@ -16,7 +22,7 @@ (def tabs-container {:flex-direction :row - :height tabs.styles/tab-height}) + :height tabs-height}) (defn tab-title [active?] diff --git a/src/status_im/ui/screens/wallet/transactions/views.cljs b/src/status_im/ui/screens/wallet/transactions/views.cljs index b6fc9a1638..58371c402c 100644 --- a/src/status_im/ui/screens/wallet/transactions/views.cljs +++ b/src/status_im/ui/screens/wallet/transactions/views.cljs @@ -142,6 +142,7 @@ [list/item-primary-only {:accessibility-label :filter-name-text} label]]]]]) +;; NOTE: Is this needed? (defview filter-history [] (letsubs [{:keys [filters all-filters? on-touch-select-all]} [:wallet.transactions.filters/screen]] diff --git a/src/status_im/utils/logging/core.cljs b/src/status_im/utils/logging/core.cljs index b238938963..31a0e12916 100644 --- a/src/status_im/utils/logging/core.cljs +++ b/src/status_im/utils/logging/core.cljs @@ -49,7 +49,6 @@ :initial-props :keyboard-height :keyboard-max-height - :navigation-stack :network :network-status :peers-count diff --git a/src/status_im/utils/navigation.cljs b/src/status_im/utils/navigation.cljs deleted file mode 100644 index 29c6f54702..0000000000 --- a/src/status_im/utils/navigation.cljs +++ /dev/null @@ -1,63 +0,0 @@ -(ns status-im.utils.navigation - (:require [status-im.react-native.js-dependencies :as js-dependencies] - [status-im.utils.platform :as platform] - [goog.object :as gobj])) - -(def navigation-actions - (.-NavigationActions js-dependencies/react-navigation)) - -(def navigation-events - (.-NavigationEvents js-dependencies/react-navigation)) - -(def stack-actions - (.-StackActions js-dependencies/react-navigation)) - -(def navigator-ref (atom nil)) - -(defn set-navigator-ref [ref] - (reset! navigator-ref ref)) - -(defn can-be-called? [] - @navigator-ref) - -(defn navigate-to [route params] - (when (can-be-called?) - (.dispatch - @navigator-ref - (.navigate - navigation-actions - #js {:routeName (name route) - :params (clj->js params)})))) - -(defn navigate-replace [route params] - (when (can-be-called?) - (.dispatch - @navigator-ref - (.replace - stack-actions - #js {:routeName (name route) - :params (clj->js params)})))) - -(defn- navigate [params] - (when (can-be-called?) - (.navigate navigation-actions (clj->js params)))) - -(defn navigate-reset [state] - (when (can-be-called?) - (let [state' (update state :actions #(mapv navigate %))] - (.dispatch - @navigator-ref - (.reset - stack-actions - (clj->js state')))))) - -(defn navigate-back [] - (when (can-be-called?) - (.dispatch - @navigator-ref - (.back navigation-actions)))) - -(defonce TwoPaneNavigator (gobj/get js-dependencies/react-native-navigation-twopane #js ["createTwoPaneNavigator"])) - -(defn twopane-navigator [routeConfigs stackNavigatorConfig] - (TwoPaneNavigator (clj->js routeConfigs) (clj->js stackNavigatorConfig))) diff --git a/test/cljs/status_im/react_native/js_dependencies.cljs b/test/cljs/status_im/react_native/js_dependencies.cljs index 4734c3218d..8abcdb9f10 100644 --- a/test/cljs/status_im/react_native/js_dependencies.cljs +++ b/test/cljs/status_im/react_native/js_dependencies.cljs @@ -47,7 +47,6 @@ (def keychain #js {:setGenericPassword (constantly (.resolve js/Promise true)) "ACCESSIBLE" {} "ACCESS_CONTROL" {}}) -(def react-navigation #js {:NavigationActions #js {}}) (def desktop-menu #js {}) (def desktop-config #js {}) (def react-native-mail #js {:mail #js {}}) @@ -57,3 +56,14 @@ (def net-info #js {}) (def touchid #js {}) (def safe-area-context #js {}) + +(def back-handler #js {:addEventListener identity + :removeEventListener identity}) +(def react #js {:useCallback nil}) +(def react-navigation-native #js {:NavigationContainer #js {} + :useFocusEffect identity + :CommonActions #js {} + :StackActions #js {}}) +(def react-navigation-stack #js {:createStackNavigator identity + :TransitionPresets #js {:ModalPresentationIOS #js {}}}) +(def react-navigation-bottom-tabs #js {:createBottomTabNavigator identity}) diff --git a/test/cljs/status_im/test/sign_in/flow.cljs b/test/cljs/status_im/test/sign_in/flow.cljs index 0f27cc6f60..af1f1919c4 100644 --- a/test/cljs/status_im/test/sign_in/flow.cljs +++ b/test/cljs/status_im/test/sign_in/flow.cljs @@ -32,8 +32,9 @@ efx (login.core/multiaccount-login-success cofx) new-db (:db efx) json-rpc (into #{} (map :method (::json-rpc/call efx)))] - (testing ":accounts/login cleared." - (is (not (contains? new-db :multiaccounts/login)))) + ;; TODO: Account is now cleared only after all sign in fx are executed. + ;; (testing ":accounts/login cleared." + ;; (is (not (contains? new-db :multiaccounts/login)))) (testing "Check the rest of effects." (is (json-rpc "web3_clientVersion"))))))